瀏覽代碼

rebuilt release (caution: kernel interface partially changed, recompile applications)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7437 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 年之前
父節點
當前提交
95c2ce3296
共有 88 個文件被更改,包括 139 次插入125 次删除
  1. 二進制
      WinAos/A2.exe
  2. 二進制
      WinAos/oberon.exe
  3. 二進制
      WinAos/obg/BitSets.GofW
  4. 5 5
      WinAos/obg/BitSets.SymW
  5. 二進制
      WinAos/obg/Clipboard.GofW
  6. 二進制
      WinAos/obg/Compiler.GofW
  7. 二進制
      WinAos/obg/DNS.GofW
  8. 二進制
      WinAos/obg/Debugging.GofW
  9. 3 3
      WinAos/obg/Debugging.SymW
  10. 二進制
      WinAos/obg/DiskFS.GofW
  11. 2 1
      WinAos/obg/DiskFS.SymW
  12. 二進制
      WinAos/obg/Display.GofW
  13. 二進制
      WinAos/obg/Errors.GofW
  14. 二進制
      WinAos/obg/FoxAMD64Assembler.GofW
  15. 二進制
      WinAos/obg/FoxAMDBackend.GofW
  16. 1 1
      WinAos/obg/FoxAMDBackend.SymW
  17. 二進制
      WinAos/obg/FoxARMBackend.GofW
  18. 11 11
      WinAos/obg/FoxARMBackend.SymW
  19. 二進制
      WinAos/obg/FoxARMInstructionSet.GofW
  20. 二進制
      WinAos/obg/FoxBasic.GofW
  21. 2 2
      WinAos/obg/FoxBasic.SymW
  22. 二進制
      WinAos/obg/FoxBinaryCode.GofW
  23. 二進制
      WinAos/obg/FoxBinarySymbolFile.GofW
  24. 二進制
      WinAos/obg/FoxDisassembler.GofW
  25. 二進制
      WinAos/obg/FoxGenericObjectFile.GofW
  26. 二進制
      WinAos/obg/FoxIntermediateBackend.GofW
  27. 1 1
      WinAos/obg/FoxIntermediateBackend.SymW
  28. 二進制
      WinAos/obg/FoxIntermediateLinker.GofW
  29. 二進制
      WinAos/obg/FoxProfiler.GofW
  30. 5 5
      WinAos/obg/FoxProfiler.SymW
  31. 二進制
      WinAos/obg/FoxSemanticChecker.GofW
  32. 二進制
      WinAos/obg/FoxTRMInstructionSet.GofW
  33. 二進制
      WinAos/obg/GDI32.GofW
  34. 5 3
      WinAos/obg/GDI32.SymW
  35. 二進制
      WinAos/obg/GenericLinker.GofW
  36. 2 2
      WinAos/obg/GenericLinker.SymW
  37. 二進制
      WinAos/obg/GenericLoader.GofW
  38. 11 11
      WinAos/obg/GenericLoader.SymW
  39. 二進制
      WinAos/obg/Heaps.GofW
  40. 2 2
      WinAos/obg/Heaps.SymW
  41. 二進制
      WinAos/obg/HierarchicalProfiler0.GofW
  42. 二進制
      WinAos/obg/IP.GofW
  43. 二進制
      WinAos/obg/Info.GofW
  44. 二進制
      WinAos/obg/Kernel.GofW
  45. 1 0
      WinAos/obg/Kernel.SymW
  46. 二進制
      WinAos/obg/Kernel32.GofW
  47. 26 22
      WinAos/obg/Kernel32.SymW
  48. 二進制
      WinAos/obg/Machine.GofW
  49. 二進制
      WinAos/obg/Modules.GofW
  50. 1 1
      WinAos/obg/Modules.SymW
  51. 二進制
      WinAos/obg/Oberon-Builder.GofW
  52. 二進制
      WinAos/obg/Oberon-Clipboard.GofW
  53. 二進制
      WinAos/obg/Oberon-Directories.GofW
  54. 二進制
      WinAos/obg/Oberon-FATTools.GofW
  55. 二進制
      WinAos/obg/Oberon-PC.GofW
  56. 二進制
      WinAos/obg/ObjectFile.GofW
  57. 二進制
      WinAos/obg/Objects.GofW
  58. 二進制
      WinAos/obg/PELinker.GofW
  59. 二進制
      WinAos/obg/ProcessInfo0.GofW
  60. 二進制
      WinAos/obg/Raster.GofW
  61. 二進制
      WinAos/obg/Reflection.GofW
  62. 42 40
      WinAos/obg/Reflection.SymW
  63. 二進制
      WinAos/obg/SVNAdmin.GofW
  64. 二進制
      WinAos/obg/SkinEditor.GofW
  65. 二進制
      WinAos/obg/StaticLinker.GofW
  66. 2 1
      WinAos/obg/StaticLinker.SymW
  67. 二進制
      WinAos/obg/Streams.GofW
  68. 2 2
      WinAos/obg/Streams.SymW
  69. 二進制
      WinAos/obg/TCP.GofW
  70. 二進制
      WinAos/obg/Traps.GofW
  71. 二進制
      WinAos/obg/UDP.GofW
  72. 二進制
      WinAos/obg/User32.GofW
  73. 12 10
      WinAos/obg/User32.SymW
  74. 二進制
      WinAos/obg/V24.GofW
  75. 二進制
      WinAos/obg/WMComponents.GofW
  76. 二進制
      WinAos/obg/WMInstaller.GofW
  77. 二進制
      WinAos/obg/WMPerfMonPluginModVars.GofW
  78. 二進制
      WinAos/obg/WMSlideshow.GofW
  79. 二進制
      WinAos/obg/WMStandardComponents.GofW
  80. 1 1
      WinAos/obg/WMStandardComponents.SymW
  81. 二進制
      WinAos/obg/WSock32.GofW
  82. 1 1
      WinAos/obg/WSock32.SymW
  83. 二進制
      WinAos/obg/WebDefaultSSMP.GofW
  84. 二進制
      WinAos/obg/WinApplications.GofW
  85. 二進制
      WinAos/obg/WinDisks.GofW
  86. 二進制
      WinAos/obg/WinFS.GofW
  87. 1 0
      WinAos/obg/WinFS.SymW
  88. 二進制
      WinAos/obg/WinTrace.GofW

二進制
WinAos/A2.exe


二進制
WinAos/oberon.exe


二進制
WinAos/obg/BitSets.GofW


+ 5 - 5
WinAos/obg/BitSets.SymW

@@ -7,21 +7,21 @@ TYPE
 
 	BitSet* = OBJECT 
 	VAR 
-		size: SIZE; 
+		size: LONGINT; 
 		data: Data; 
 
 		PROCEDURE ^  & InitBitSet*(size: LONGINT); 
 		PROCEDURE ^ Zero*; 
-		PROCEDURE ^ Resize*(size: SIZE); 
-		PROCEDURE ^ GetSize*(): SIZE; 
+		PROCEDURE ^ Resize*(size: LONGINT); 
+		PROCEDURE ^ GetSize*(): LONGINT; 
 		PROCEDURE ^ SetBit*(pos: SIZE; value: BOOLEAN); 
 		PROCEDURE ^ GetBit*(pos: SIZE): BOOLEAN; 
-		PROCEDURE ^ SetBits*(startPos: SIZE; bits, value: LONGINT); 
+		PROCEDURE ^ SetBits*(startPos: SIZE; bits: LONGINT; value: HUGEINT); 
 		PROCEDURE ^ SetBytes*(startPos: SIZE; bytes: LONGINT; CONST values: ARRAY OF CHAR); 
 		PROCEDURE ^ GetBits*(startPos: SIZE; bits: LONGINT): LONGINT; 
 		PROCEDURE ^ CopyTo*(address: ADDRESS; bits: SIZE); 
 	END BitSet; 
 
-	PROCEDURE ^ CopyBits*(source: BitSet; sourcePos: LONGINT; dest: BitSet; destPos, count: LONGINT); 
+	PROCEDURE ^ CopyBits*(source: BitSet; sourcePos: SIZE; dest: BitSet; destPos, count: SIZE); 
 BEGIN
 END BitSets.

二進制
WinAos/obg/Clipboard.GofW


二進制
WinAos/obg/Compiler.GofW


二進制
WinAos/obg/DNS.GofW


二進制
WinAos/obg/Debugging.GofW


+ 3 - 3
WinAos/obg/Debugging.SymW

@@ -7,15 +7,15 @@ VAR
 	lock: Locks.RWLock; 
 
 	PROCEDURE ^ Memory*(from, tov: ADDRESS); 
-	PROCEDURE ^ ViewStack(ebp, esp: LONGINT; CONST s: ARRAY OF CHAR); 
+	PROCEDURE ^ ViewStack(ebp, esp: ADDRESS; CONST s: ARRAY OF CHAR); 
 	PROCEDURE ^ Stack*(CONST s: ARRAY OF CHAR); 
-	PROCEDURE ^ TraceBackThis(eip, ebp: ADDRESS; stacklow, stackhigh: LONGINT); 
+	PROCEDURE ^ TraceBackThis(eip, ebp: ADDRESS; stacklow, stackhigh: ADDRESS); 
 	PROCEDURE ^ TraceBack*; 
 	PROCEDURE ^ FileStart*(context: Commands.Context); 
 	PROCEDURE ^ FileEnd*; 
 	PROCEDURE ^ Str*(CONST name: ARRAY OF CHAR); 
 	PROCEDURE ^ String*(CONST name: ARRAY OF CHAR); 
-	PROCEDURE ^ Address*(i: LONGINT); 
+	PROCEDURE ^ Address*(i: ADDRESS); 
 	PROCEDURE ^ Int*(i, j: LONGINT); 
 	PROCEDURE ^ Set*(set: SET); 
 	PROCEDURE ^ Float*(r: LONGREAL; len: LONGINT); 

二進制
WinAos/obg/DiskFS.GofW


+ 2 - 1
WinAos/obg/DiskFS.SymW

@@ -1,6 +1,7 @@
 MODULE DiskFS;
 	IMPORT SYSTEM, Machine, KernelLog, Modules, Clock, Files, Kernel;
 CONST 
+	SkipIndexFlag = 31; 
 	MinVolSize = 4; 
 	SectorFactor = 29; 
 	FileNameLength = 128; 
@@ -103,7 +104,7 @@ TYPE
 	VAR 
 		vol: Files.Volume; 
 		state: CHAR; 
-		lastSectorReserved: BOOLEAN; 
+		lastSectorReserved, noCleanup: BOOLEAN; 
 
 		PROCEDURE ^ Search(VAR name: FileName; VAR A: DiskAdr); 
 		PROCEDURE ^ insert(VAR name: FileName; dpg0: DiskAdr; VAR h: BOOLEAN; VAR v: DirEntry; fad: DiskAdr); 

二進制
WinAos/obg/Display.GofW


二進制
WinAos/obg/Errors.GofW


二進制
WinAos/obg/FoxAMD64Assembler.GofW


二進制
WinAos/obg/FoxAMDBackend.GofW


+ 1 - 1
WinAos/obg/FoxAMDBackend.SymW

@@ -118,7 +118,7 @@ TYPE
 	VAR 
 		runtimeModuleName: SyntaxTree.IdentifierString; 
 		cpuBits: LONGINT; 
-		opBP, opSP, opRA, opRB, opRC, opRD, opRS, opR8, opR9: Assembler.Operand; 
+		opBP, opSP, opRA, opRB, opRC, opRD, opRS, opR8, opR9, opR10, opR11, opR12, opR13, opR14, opR15: Assembler.Operand; 
 		BP, SP, RA, RD, RS, RC: LONGINT; 
 		emitter: Assembler.Emitter; 
 		backend: BackendAMD64; 

二進制
WinAos/obg/FoxARMBackend.GofW


+ 11 - 11
WinAos/obg/FoxARMBackend.SymW

@@ -181,8 +181,8 @@ TYPE
 	Citation = OBJECT 
 	VAR 
 		pc: LONGINT; 
-		bits: SIZE; 
-		shift: SIZE; 
+		bits: LONGINT; 
+		shift: LONGINT; 
 		next: Citation; 
 	END Citation; 
 
@@ -190,11 +190,11 @@ TYPE
 	VAR 
 		firstCitation, lastCitation: Citation; 
 		next: Reference; 
-		size: SIZE; 
+		size: LONGINT; 
 
-		PROCEDURE ^  & Init(size: SIZE); 
+		PROCEDURE ^  & Init(size: LONGINT); 
 		PROCEDURE ^ Emit(out: BinaryCode.Section); 
-		PROCEDURE ^ AddCitation(pc: LONGINT; bits: SIZE; shift: SIZE); 
+		PROCEDURE ^ AddCitation(pc: LONGINT; bits: LONGINT; shift: LONGINT); 
 	END Reference; 
 
 	ImmediateReference = OBJECT (Reference)
@@ -225,16 +225,16 @@ TYPE
 	ListOfReferences = OBJECT 
 	VAR 
 		firstReference, lastReference: Reference; 
-		size: SIZE; 
-		due: SIZE; 
+		size: LONGINT; 
+		due: LONGINT; 
 
 		PROCEDURE ^  & Init; 
-		PROCEDURE ^ UpdateDue(pc: SIZE; bits: SIZE; shift: SIZE); 
-		PROCEDURE ^ AddCitation(reference: Reference; pc: SIZE; bits: SIZE; shift: SIZE); 
+		PROCEDURE ^ UpdateDue(pc: LONGINT; bits: LONGINT; shift: LONGINT); 
+		PROCEDURE ^ AddCitation(reference: Reference; pc: LONGINT; bits: LONGINT; shift: LONGINT); 
 		PROCEDURE ^ AddReference(reference: Reference): Reference; 
 		PROCEDURE ^ AddSymbol(symbol: Sections.SectionName; fingerprint: LONGINT; symbolOffset: LONGINT; pc: LONGINT; bits: LONGINT); 
-		PROCEDURE ^ AddImmediate(value: LONGINT; pc: SIZE; bits: SIZE); 
-		PROCEDURE ^ AddHImmediate(value: HUGEINT; pc: LONGINT; bits: SIZE); 
+		PROCEDURE ^ AddImmediate(value: LONGINT; pc: LONGINT; bits: LONGINT); 
+		PROCEDURE ^ AddHImmediate(value: HUGEINT; pc: LONGINT; bits: LONGINT); 
 	END ListOfReferences; 
 
 	PhysicalRegisters* = OBJECT (CodeGenerators.PhysicalRegisters)

二進制
WinAos/obg/FoxARMInstructionSet.GofW


二進制
WinAos/obg/FoxBasic.GofW


+ 2 - 2
WinAos/obg/FoxBasic.SymW

@@ -402,9 +402,9 @@ TYPE
 		PROCEDURE ^ RawNum*(x: LONGINT); 
 		PROCEDURE ^ Ln*; 
 		PROCEDURE ^ String*(CONST x: ARRAY OF CHAR); 
-		PROCEDURE ^ Int*(x: HUGEINT; wd: LONGINT); 
+		PROCEDURE ^ Int*(x: HUGEINT; wd: SIZE); 
 		PROCEDURE ^ Set*(s: SET); 
-		PROCEDURE ^ Hex*(x: HUGEINT; wd: LONGINT); 
+		PROCEDURE ^ Hex*(x: HUGEINT; wd: SIZE); 
 		PROCEDURE ^ Address*(x: ADDRESS); 
 		PROCEDURE ^ Date*(t, d: LONGINT); 
 		PROCEDURE ^ Date822*(t, d, tz: LONGINT); 

二進制
WinAos/obg/FoxBinaryCode.GofW


二進制
WinAos/obg/FoxBinarySymbolFile.GofW


二進制
WinAos/obg/FoxDisassembler.GofW


二進制
WinAos/obg/FoxGenericObjectFile.GofW


二進制
WinAos/obg/FoxIntermediateBackend.GofW


+ 1 - 1
WinAos/obg/FoxIntermediateBackend.SymW

@@ -680,7 +680,7 @@ VAR
 	PROCEDURE ^ IsNested(procedure: SyntaxTree.Procedure): BOOLEAN; 
 	PROCEDURE ^ InCellScope(scope: SyntaxTree.Scope): BOOLEAN; 
 	PROCEDURE ^ ProcedureParametersSize*(system: Global.System; procedure: SyntaxTree.Procedure): LONGINT; 
-	PROCEDURE ^ ToMemoryUnits*(system: Global.System; size: LONGINT): LONGINT; 
+	PROCEDURE ^ ToMemoryUnits*(system: Global.System; size: SIZE): LONGINT; 
 	PROCEDURE ^ Get*(): Backend.Backend; 
 	PROCEDURE ^ Nop(position: Basic.Position): IntermediateCode.Instruction; 
 	PROCEDURE ^ Mov(position: Basic.Position; dest, src: IntermediateCode.Operand): IntermediateCode.Instruction; 

二進制
WinAos/obg/FoxIntermediateLinker.GofW


二進制
WinAos/obg/FoxProfiler.GofW


+ 5 - 5
WinAos/obg/FoxProfiler.SymW

@@ -35,7 +35,7 @@ TYPE
 
 	HashEntryInt = RECORD 
 		used: BOOLEAN; 
-		key, value: LONGINT; 
+		key, value: SIZE; 
 	END; 
 
 	HashIntArray = ARRAY (2 * MaxProcesses) OF HashEntryInt; 
@@ -49,10 +49,10 @@ VAR
 	frequency: LONGREAL; 
 	n: LONGINT; 
 
-	PROCEDURE ^ Put*(key, value: LONGINT); 
-	PROCEDURE ^ Get*(key: LONGINT): LONGINT; 
-	PROCEDURE ^ Has*(key: LONGINT): BOOLEAN; 
-	PROCEDURE ^ HashValue(key: LONGINT): LONGINT; 
+	PROCEDURE ^ Put*(key, value: SIZE); 
+	PROCEDURE ^ Get*(key: SIZE): SIZE; 
+	PROCEDURE ^ Has*(key: SIZE): BOOLEAN; 
+	PROCEDURE ^ HashValue(key: SIZE): SIZE; 
 	PROCEDURE ^ GetProcess(): Process; 
 	PROCEDURE ^ AddModule*(VAR moduleId: LONGINT; procedures: LONGINT; CONST name: ARRAY OF CHAR); 
 	PROCEDURE ^ AddProcedure*(moduleId, procedureId: LONGINT; CONST name: ARRAY OF CHAR); 

二進制
WinAos/obg/FoxSemanticChecker.GofW


二進制
WinAos/obg/FoxTRMInstructionSet.GofW


二進制
WinAos/obg/GDI32.GofW


+ 5 - 3
WinAos/obg/GDI32.SymW

@@ -60,6 +60,8 @@ CONST
 	ComplexRegion* = 3; 
 	RDHRectangles* = 1; 
 TYPE 
+	DWORD = Kernel32.DWORD; 
+
 	HGDIObj* = User32.HGDIObj; 
 
 	HFont* = User32.HFont; 
@@ -100,9 +102,9 @@ TYPE
 		tmPitchAndFamily*, tmCharSet*: SHORTINT; 
 	END; 
 
-	EnumFontFamProc* = PROCEDURE {WINAPI}(VAR lpelf: EnumLogFont; VAR lpntm: TextMetric; FontType: SET; lParam: User32.LParam):LONGINT; 
+	EnumFontFamProc* = PROCEDURE {WINAPI}(VAR lpelf: EnumLogFont; VAR lpntm: TextMetric; FontType: DWORD; lParam: User32.LParam):LONGINT; 
 
-	EnumFontsProc* = PROCEDURE {WINAPI}(VAR lplf: LogFont; VAR lptm: TextMetric; dwType: SET; lpData: User32.LParam):LONGINT; 
+	EnumFontsProc* = PROCEDURE {WINAPI}(VAR lplf: LogFont; VAR lptm: TextMetric; dwType: DWORD; lpData: User32.LParam):LONGINT; 
 
 	ABC* = RECORD 
 		abcA*, abcB*, abcC*: LONGINT; 
@@ -217,7 +219,7 @@ VAR
 	SetDIBitsToDevice-: PROCEDURE {WINAPI}(hdc: User32.HDC; XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines: LONGINT; lpvBits: ADDRESS; VAR lpbmi: BitmapInfo; fuColorUse: LONGINT):LONGINT; 
 	SetMapMode-: PROCEDURE {WINAPI}(hdc: User32.HDC; fnMapMode: LONGINT):LONGINT; 
 	SetROP2-: PROCEDURE {WINAPI}(hdc: User32.HDC; fnDrawMode: LONGINT):LONGINT; 
-	SetTextAlign-: PROCEDURE {WINAPI}(hdc: User32.HDC; fMode: SET):LONGINT; 
+	SetTextAlign-: PROCEDURE {WINAPI}(hdc: User32.HDC; fMode: DWORD):LONGINT; 
 	SetTextColor-: PROCEDURE {WINAPI}(hdc: User32.HDC; crColor: ColorRef):ColorRef; 
 	SetWindowExtEx-: PROCEDURE {WINAPI}(hdc: User32.HDC; nXExtent, nYExtent: LONGINT; VAR lpSize: User32.Size):Kernel32.BOOL; 
 	SetWindowOrgEx-: PROCEDURE {WINAPI}(hdc: User32.HDC; X, Y: LONGINT; VAR lpPoint: User32.Point):Kernel32.BOOL; 

二進制
WinAos/obg/GenericLinker.GofW


+ 2 - 2
WinAos/obg/GenericLinker.SymW

@@ -1,7 +1,7 @@
 MODULE GenericLinker;
 	IMPORT ObjectFile, Streams, Diagnostics, Strings, SYSTEM;
 CONST 
-	InvalidAddress* = MAX(Address); 
+	InvalidAddress* =  -1; 
 	Fixed* = 0; 
 	InitCode* = 1; 
 	BodyCode* = 2; 
@@ -13,7 +13,7 @@ CONST
 	UseInitCode* = {Fixed, InitCode}; 
 	UseAllButInitCode* = {Fixed, BodyCode .. Empty}; 
 TYPE 
-	Address* = ObjectFile.Unit; 
+	Address* = ADDRESS; 
 
 	HashEntrySegmentedName = RECORD 
 		key: ObjectFile.SegmentedName; 

二進制
WinAos/obg/GenericLoader.GofW


+ 11 - 11
WinAos/obg/GenericLoader.SymW

@@ -9,13 +9,13 @@ CONST
 	TraceLoading = FALSE; 
 TYPE 
 	HashEntryIntInt = RECORD 
-		key, value: LONGINT; 
+		key, value: SIZE; 
 	END; 
 
 	HashIntArray = POINTER TO ARRAY OF HashEntryIntInt; 
 
 	HashEntryIntAny = RECORD 
-		key: LONGINT; 
+		key: SIZE; 
 		value: ANY; 
 	END; 
 
@@ -29,12 +29,12 @@ TYPE
 		maxLoadFactor: REAL; 
 
 		PROCEDURE ^  & Init*(initialSize: LONGINT); 
-		PROCEDURE ^ Put*(key: LONGINT; value: LONGINT); 
-		PROCEDURE ^ Get*(key: LONGINT): LONGINT; 
-		PROCEDURE ^ Has*(key: LONGINT): BOOLEAN; 
+		PROCEDURE ^ Put*(key: SIZE; value: SIZE); 
+		PROCEDURE ^ Get*(key: SIZE): SIZE; 
+		PROCEDURE ^ Has*(key: SIZE): BOOLEAN; 
 		PROCEDURE ^ Length*(): LONGINT; 
 		PROCEDURE ^ Clear*; 
-		PROCEDURE ^ HashValue(key: LONGINT): LONGINT; 
+		PROCEDURE ^ HashValue(key: SIZE): SIZE; 
 		PROCEDURE ^ Grow; 
 	END HashTableInt; 
 
@@ -46,26 +46,26 @@ TYPE
 		maxLoadFactor: REAL; 
 
 		PROCEDURE ^  & Init*(initialSize: LONGINT); 
-		PROCEDURE ^ Put*(key: LONGINT; value: ANY); 
+		PROCEDURE ^ Put*(key: SIZE; value: ANY); 
 		PROCEDURE ^ Get*(key: LONGINT): ANY; 
 		PROCEDURE ^ Has*(key: LONGINT): BOOLEAN; 
 		PROCEDURE ^ Length*(): LONGINT; 
 		PROCEDURE ^ Clear*; 
-		PROCEDURE ^ HashValue(key: LONGINT): LONGINT; 
+		PROCEDURE ^ HashValue(key: SIZE): SIZE; 
 		PROCEDURE ^ Grow; 
 	END HashTableIntAny; 
 
 	Data = RECORD 
 		size, pos: LONGINT; 
 		bytes: Modules.Bytes; 
-		firstAddress: LONGINT; 
+		firstAddress: ADDRESS; 
 	END; 
 
 	Arrangement* = OBJECT (GenericLinker.Arrangement)
 	VAR 
 		code, data: Data; 
 		hasBody: BOOLEAN; 
-		bodyAddress: LONGINT; 
+		bodyAddress: ADDRESS; 
 
 		PROCEDURE ^  & InitArrangement; 
 		PROCEDURE ^ Preallocate*(CONST section: ObjectFile.Section); 
@@ -101,7 +101,7 @@ VAR
 	PROCEDURE ^ InitData(VAR data: Data); 
 	PROCEDURE ^ IsPrefix(CONST prefix, of: ObjectFile.SegmentedName): BOOLEAN; 
 	PROCEDURE ^ DoPreallocate(CONST section: ObjectFile.Section; VAR data: Data); 
-	PROCEDURE ^ DoAllocate(CONST section: ObjectFile.Section; VAR data: Data): GenericLinker.Address; 
+	PROCEDURE ^ DoAllocate(CONST section: ObjectFile.Section; VAR data: Data): ADDRESS; 
 	PROCEDURE ^ LoadObj*(CONST name, fileName: ARRAY OF CHAR; VAR res: LONGINT; VAR msg: ARRAY OF CHAR): Modules.Module; 
 	PROCEDURE ^ Install*; 
 	PROCEDURE ^ Remove*; 

二進制
WinAos/obg/Heaps.GofW


+ 2 - 2
WinAos/obg/Heaps.SymW

@@ -114,8 +114,8 @@ TYPE
 	TypeInfo* = POINTER {UNSAFE} TO TypeInfoDesc; 
 
 	TypeInfoDesc = RECORD 
-		descSize: LONGINT; 
-		sentinel: LONGINT; 
+		descSize: SIZE; 
+		sentinel: ADDRESS; 
 		tag: ADDRESS; 
 		flags: SET; 
 		mod: ADDRESS; 

二進制
WinAos/obg/HierarchicalProfiler0.GofW


二進制
WinAos/obg/IP.GofW


二進制
WinAos/obg/Info.GofW


二進制
WinAos/obg/Kernel.GofW


+ 1 - 0
WinAos/obg/Kernel.SymW

@@ -53,5 +53,6 @@ VAR
 	PROCEDURE ^ Expired*(VAR t: MilliTimer): BOOLEAN; 
 	PROCEDURE ^ Elapsed*(VAR t: MilliTimer): LONGINT; 
 	PROCEDURE ^ Left*(VAR t: MilliTimer): LONGINT; 
+	PROCEDURE ^ Nothing; 
 BEGIN
 END Kernel.

二進制
WinAos/obg/Kernel32.GofW


+ 26 - 22
WinAos/obg/Kernel32.SymW

@@ -165,12 +165,14 @@ TYPE
 
 	LPSTR* = ADDRESS; 
 
+	DWORD* = LONGINT; 
+
 	FileTime* = RECORD 
 		dwLowDateTime*, dwHighDateTime*: LONGINT; 
 	END; 
 
 	FindData* = RECORD 
-		dwFileAttributes*: SET; 
+		dwFileAttributes*: DWORD; 
 		ftCreationTime*, ftLastAccessTime*, ftLastWriteTime*: FileTime; 
 		nFileSizeHigh*, nFileSizeLow*: LONGINT; 
 		dwReserved0*, dwReserved1*: LONGINT; 
@@ -198,7 +200,7 @@ TYPE
 	END; 
 
 	Context* = RECORD 
-		ContextFlags*: SET; 
+		ContextFlags*: DWORD; 
 		DR0*, DR1*, DR2*, DR3*, DR6*, DR7*: LONGINT; 
 		FloatSave*: FloatingSaveArea; 
 		GS*, FS*, ES*, DS*: LONGINT; 
@@ -264,7 +266,7 @@ TYPE
 		dwX*, dwY*, dwXSize*, dwYSize*: LONGINT; 
 		dwXCountChars*, dwYCountChars*: LONGINT; 
 		dwFillAttribute*: LONGINT; 
-		dwFlags*: SET; 
+		dwFlags*: DWORD; 
 		wShowWindow*, cbReserved2*: INTEGER; 
 		lpReserved2*: ADDRESS; 
 		hStdInput*, hStdOutput*, hStdError*: HANDLE; 
@@ -286,14 +288,14 @@ TYPE
 
 	DCB* = RECORD 
 		DCBlength*, BaudRate*: LONGINT; 
-		flags*: SET; 
+		flags*: DWORD; 
 		wReserved*, XonLim*, XoffLim*: INTEGER; 
 		ByteSize*, Parity*, StopBits*, XonChar*, XoffChar*, ErrorChar*, EofChar*, EvtChar*: CHAR; 
 		wReserved1*: INTEGER; 
 	END; 
 
 	ComStat* = RECORD 
-		status*: SET; 
+		status*: DWORD; 
 		cbInQue*, cbOutQue*: LONGINT; 
 	END; 
 
@@ -337,19 +339,19 @@ VAR
 	AttachConsole-: PROCEDURE {WINAPI}(in: LONGINT):BOOL; 
 	Beep-: PROCEDURE {WINAPI}(dwFreq, dwDuration: LONGINT):BOOL; 
 	ClearCommBreak-: PROCEDURE {WINAPI}(hFile: HANDLE):BOOL; 
-	ClearCommError-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpErrors: SET; VAR lpStat: ComStat):BOOL; 
+	ClearCommError-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpErrors: DWORD; VAR lpStat: ComStat):BOOL; 
 	CloseHandle-: PROCEDURE {WINAPI}(hObject: HANDLE):BOOL; 
 	CopyFile-: PROCEDURE {WINAPI}(VAR lpExistingFileName, lpNewFileName: ARRAY OF CHAR; bFailIfExists: BOOL):BOOL; 
 	CreateDirectory-: PROCEDURE {WINAPI}(VAR lpPathName: ARRAY OF CHAR; lpSecurityAttributes: ANY):BOOL; 
 	CreateEvent-: PROCEDURE {WINAPI}(lpEventAttributes: ANY; bManualReset, bInitialState: BOOL; CONST lpName: ARRAY OF CHAR):HANDLE; 
-	CreateFile-: PROCEDURE {WINAPI}(CONST lpFileName: ARRAY OF CHAR; dwDesiredAccess, dwShareMode: SET; lpSecurityAttributes: ANY; dwCreationDistribution: LONGINT; dwFlagsAndAttributes: SET; hTemplateFile: HANDLE):HANDLE; 
+	CreateFile-: PROCEDURE {WINAPI}(CONST lpFileName: ARRAY OF CHAR; dwDesiredAccess, dwShareMode: DWORD; lpSecurityAttributes: ANY; dwCreationDistribution: LONGINT; dwFlagsAndAttributes: DWORD; hTemplateFile: HANDLE):HANDLE; 
 	CreateProcess-: PROCEDURE {WINAPI}(CONST lpApplicationName, lpCommandLine: ARRAY OF CHAR; lpProcessAttributes, lpThreadAttributes: ANY; bInheritHandles: BOOL; dwCreationFlags: LONGINT; lpEnvironment: ANY; VAR lpCurrentDirectory: ARRAY OF CHAR; VAR lpStartupInfo: StartupInfo; VAR lpProcessInformation: ProcessInformation):BOOL; 
 	CreateSemaphore-: PROCEDURE {WINAPI}(lpThreadAttributes: ADDRESS; lInitialCount: LONGINT; lMaximumCount: LONGINT; lpName: LPSTR):HANDLE; 
-	CreateThread-: PROCEDURE {WINAPI}(lpThreadAttributes: ADDRESS; dwStackSize: LONGINT; lpStartAddress: ThreadProc; lpParameter: ANY; dwCreationFlags: SET; VAR lpThreadId: LONGINT):HANDLE; 
+	CreateThread-: PROCEDURE {WINAPI}(lpThreadAttributes: ADDRESS; dwStackSize: LONGINT; lpStartAddress: ThreadProc; lpParameter: ANY; dwCreationFlags: DWORD; VAR lpThreadId: LONGINT):HANDLE; 
 	DeleteCriticalSection-: PROCEDURE {WINAPI}(VAR lpCriticalSection: CriticalSection); 
 	DeleteFile-: PROCEDURE {WINAPI}(VAR lpFileName: ARRAY OF CHAR):BOOL; 
 	DisableThreadLibraryCalls-: PROCEDURE {WINAPI}(hLibModule: HMODULE):BOOL; 
-	DuplicateHandle-: PROCEDURE {WINAPI}(hSourceProcessHandle, hSourceHandle, hTargetProcessHandle: HANDLE; VAR lpTargetHandle: HANDLE; dwDesiredAccess: SET; bInheritHandle: BOOL; dwOptions: SET):BOOL; 
+	DuplicateHandle-: PROCEDURE {WINAPI}(hSourceProcessHandle, hSourceHandle, hTargetProcessHandle: HANDLE; VAR lpTargetHandle: HANDLE; dwDesiredAccess: DWORD; bInheritHandle: BOOL; dwOptions: DWORD):BOOL; 
 	EnterCriticalSection-: PROCEDURE {WINAPI}(VAR lpCriticalSection: CriticalSection); 
 	EscapeCommFunction-: PROCEDURE {WINAPI}(hFile: HANDLE; dwFunc: LONGINT):BOOL; 
 	ExitProcess-: PROCEDURE {WINAPI}(uExitCode: LONGINT); 
@@ -363,7 +365,7 @@ VAR
 	FreeConsole-: PROCEDURE {WINAPI}():BOOL; 
 	FreeLibrary-: PROCEDURE {WINAPI}(hLibModule: HMODULE):BOOL; 
 	GetCommandLine-: PROCEDURE {WINAPI}():LPSTR; 
-	GetCommModemStatus-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpModemStat: SET):BOOL; 
+	GetCommModemStatus-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpModemStat: DWORD):BOOL; 
 	GetCommState-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpDCB: DCB):BOOL; 
 	GetComputerName-: PROCEDURE {WINAPI}(VAR lpBuffer: ARRAY OF CHAR; VAR lpnSize: LONGINT):BOOL; 
 	GetCurrentDirectory-: PROCEDURE {WINAPI}(nBufferLength: LONGINT; VAR lpBuffer: ARRAY OF CHAR):LONGINT; 
@@ -374,7 +376,7 @@ VAR
 	GetDiskFreeSpace-: PROCEDURE {WINAPI}(VAR lpRootPathName: ARRAY OF CHAR; VAR lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: LONGINT):BOOL; 
 	GetDriveType-: PROCEDURE {WINAPI}(VAR lpRootPathName: ARRAY OF CHAR):LONGINT; 
 	GetExitCodeProcess-: PROCEDURE {WINAPI}(hProcess: HANDLE; VAR lpExitCode: LONGINT):BOOL; 
-	GetFileAttributes-: PROCEDURE {WINAPI}(VAR lpFileName: ARRAY OF CHAR):SET; 
+	GetFileAttributes-: PROCEDURE {WINAPI}(VAR lpFileName: ARRAY OF CHAR):LONGINT; 
 	GetFileSize-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpFileSizeHigh: LONGINT):LONGINT; 
 	GetFileSizeEx-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpFileSize: HUGEINT):BOOL; 
 	GetFileTime-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpCreationTime, lpLastAccessTime, lpLastWriteTime: FileTime):BOOL; 
@@ -382,7 +384,7 @@ VAR
 	GetLastError-: PROCEDURE {WINAPI}():LONGINT; 
 	GetLocalTime-: PROCEDURE {WINAPI}(VAR lpSystemTime: SystemTime); 
 	GetLogicalDriveStrings-: PROCEDURE {WINAPI}(nBufferLength: LONGINT; VAR lpBuffer: ARRAY OF CHAR):LONGINT; 
-	GetLogicalDrives-: PROCEDURE {WINAPI}():SET; 
+	GetLogicalDrives-: PROCEDURE {WINAPI}():LONGINT; 
 	GetModuleFileName-: PROCEDURE {WINAPI}(hModule: HMODULE; VAR lpFileName: ARRAY OF CHAR; nSize: LONGINT):LONGINT; 
 	GetModuleHandle-: PROCEDURE {WINAPI}(CONST lpModuleName: ARRAY OF CHAR):HMODULE; 
 	GetOverlappedResult-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpOverlapped: Overlapped; VAR lpNumberOfBytesTransferred: LONGINT; bWait: BOOL):BOOL; 
@@ -407,11 +409,11 @@ VAR
 	GetVersionEx-: PROCEDURE {WINAPI}(VAR lpVersionInfo: OSVersionInfo):BOOL; 
 	GetVolumeInformation-: PROCEDURE {WINAPI}(VAR lpRootPathName: ARRAY OF CHAR; VAR lpVolumeNameBuffer: ARRAY OF CHAR; nVolumeNameSize: LONGINT; VAR lpVolumeSerialNumber: LONGINT; VAR lpMaximumComponentLength: LONGINT; VAR lpFileSystemFlags: LONGINT; VAR lpFileSystemNameBuffer: ARRAY OF CHAR; nFileSystemNameSize: LONGINT):LONGINT; 
 	GlobalAddAtom-: PROCEDURE {WINAPI}(VAR lpString: ARRAY OF CHAR):ATOM; 
-	GlobalAlloc-: PROCEDURE {WINAPI}(uFlags: SET; dwBytes: LONGINT):HGLOBAL; 
+	GlobalAlloc-: PROCEDURE {WINAPI}(uFlags: DWORD; dwBytes: LONGINT):HGLOBAL; 
 	GlobalDeleteAtom-: PROCEDURE {WINAPI}(nAtom: ATOM):ATOM; 
 	GlobalLock-: PROCEDURE {WINAPI}(hMem: HGLOBAL):ADDRESS; 
 	GlobalMemoryStatusEx-: PROCEDURE {WINAPI}(VAR lpBuffer: MemoryStatusEx):BOOL; 
-	GlobalReAlloc-: PROCEDURE {WINAPI}(hMem: HGLOBAL; dwBytes: LONGINT; uFlags: SET):HGLOBAL; 
+	GlobalReAlloc-: PROCEDURE {WINAPI}(hMem: HGLOBAL; dwBytes: LONGINT; uFlags: DWORD):HGLOBAL; 
 	GlobalSize-: PROCEDURE {WINAPI}(hMem: HGLOBAL):LONGINT; 
 	GlobalUnlock-: PROCEDURE {WINAPI}(hMem: HGLOBAL):BOOL; 
 	HeapAlloc-: PROCEDURE {WINAPI}(hHeap: HANDLE; dwFlags: LONGINT; size: SIZE):ADDRESS; 
@@ -421,10 +423,10 @@ VAR
 	InterlockedIncrement-: PROCEDURE {WINAPI}(VAR lpAddend: LONGINT):LONGINT; 
 	LeaveCriticalSection-: PROCEDURE {WINAPI}(VAR lpCriticalSection: CriticalSection); 
 	LocalFileTimeToFileTime-: PROCEDURE {WINAPI}(VAR lpLocalFileTime: FileTime; VAR lpFileTime: FileTime):BOOL; 
-	MoveFileEx-: PROCEDURE {WINAPI}(VAR lpExistingFileName, lpNewFileName: ARRAY OF CHAR; dwFlags: SET):BOOL; 
+	MoveFileEx-: PROCEDURE {WINAPI}(VAR lpExistingFileName, lpNewFileName: ARRAY OF CHAR; dwFlags: DWORD):BOOL; 
 	outputDebugString-: PROCEDURE {WINAPI}(CONST lpOutputString: ARRAY OF CHAR); 
 	IsDebuggerPresent-: PROCEDURE {WINAPI}():BOOL; 
-	PurgeComm-: PROCEDURE {WINAPI}(hFile: HANDLE; dwFlags: SET):BOOL; 
+	PurgeComm-: PROCEDURE {WINAPI}(hFile: HANDLE; dwFlags: DWORD):BOOL; 
 	QueryDosDevice-: PROCEDURE {WINAPI}(lpDeviceName: ARRAY OF CHAR; VAR lpTargetPath: ARRAY OF CHAR; ucchMax: LONGINT):LONGINT; 
 	QueryPerformanceCounter-: PROCEDURE {WINAPI}(VAR lpPerformaceCount: LargeInteger):BOOL; 
 	QueryPerformanceFrequency-: PROCEDURE {WINAPI}(VAR lpFrequency: LargeInteger):BOOL; 
@@ -437,7 +439,7 @@ VAR
 	ResumeThread-: PROCEDURE {WINAPI}(hThread: HANDLE):LONGINT; 
 	SearchPath-: PROCEDURE {WINAPI}(CONST lpPath, lpFileName, lpExtension: ARRAY OF CHAR; nBufferLength: LONGINT; VAR lpBuffer: ARRAY OF CHAR; VAR lpFilePart: LPSTR):LONGINT; 
 	SetCommBreak-: PROCEDURE {WINAPI}(hFile: HANDLE):BOOL; 
-	SetCommMask-: PROCEDURE {WINAPI}(hFile: HANDLE; dwEvtMask: SET):BOOL; 
+	SetCommMask-: PROCEDURE {WINAPI}(hFile: HANDLE; dwEvtMask: DWORD):BOOL; 
 	SetCommState-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpDCB: DCB):BOOL; 
 	SetCommTimeouts-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpCommTimeouts: CommTimeouts):BOOL; 
 	SetConsoleCursorPosition-: PROCEDURE {WINAPI}(hConsoleOutput: HANDLE; dwCursorPosition: LONGINT):BOOL; 
@@ -446,15 +448,15 @@ VAR
 	SetConsoleTitle-: PROCEDURE {WINAPI}(VAR lpConsoleTitle: ARRAY OF CHAR):BOOL; 
 	SetConsoleWindowInfo-: PROCEDURE {WINAPI}(hConsoleOuput: HANDLE; bAbsolute: BOOL; VAR lpConsoleWindow: SmallRect):BOOL; 
 	SetCurrentDirectory-: PROCEDURE {WINAPI}(VAR lpPathName: ARRAY OF CHAR):BOOL; 
-	SetErrorMode-: PROCEDURE {WINAPI}(uMode: SET):SET; 
+	SetErrorMode-: PROCEDURE {WINAPI}(uMode: DWORD):LONGINT; 
 	SetEndOfFile-: PROCEDURE {WINAPI}(hFile: HANDLE):BOOL; 
 	SetEvent-: PROCEDURE {WINAPI}(hEvent: HANDLE):BOOL; 
-	SetFileAttributes-: PROCEDURE {WINAPI}(VAR lpFileName: ARRAY OF CHAR; dwFileAttributes: SET):BOOL; 
+	SetFileAttributes-: PROCEDURE {WINAPI}(VAR lpFileName: ARRAY OF CHAR; dwFileAttributes: DWORD):BOOL; 
 	SetFilePointer-: PROCEDURE {WINAPI}(hFile: HANDLE; lDistanceToMove: LONGINT; VAR lpDistanceToMoveHigh: LONGINT; dwMoveMethod: LONGINT):LONGINT; 
 	SetFilePointerEx-: PROCEDURE {WINAPI}(hFile: HANDLE; lDistanceToMove: HUGEINT; VAR lpNewFilePointer: HUGEINT; dwMoveMethod: LONGINT):BOOL; 
 	SetFileTime-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpCreationTime, lpLastAccessTime, lpLastWriteTime: FileTime):BOOL; 
 	SetLocalTime-: PROCEDURE {WINAPI}(VAR lpSystemTime: SystemTime):BOOL; 
-	SetThreadAffinityMask-: PROCEDURE {WINAPI}(hThread: HANDLE; dwThreadAffinityMask: SET):SET; 
+	SetThreadAffinityMask-: PROCEDURE {WINAPI}(hThread: HANDLE; dwThreadAffinityMask: DWORD):LONGINT; 
 	SetThreadContext-: PROCEDURE {WINAPI}(hThread: HANDLE; VAR lpContext: Context):BOOL; 
 	SetThreadPriority-: PROCEDURE {WINAPI}(hThread: HANDLE; nPriority: LONGINT):BOOL; 
 	SetupComm-: PROCEDURE {WINAPI}(hFile: HANDLE; dwInQueue, dwOutQueue: LONGINT):BOOL; 
@@ -468,13 +470,15 @@ VAR
 	TlsGetValue-: PROCEDURE {WINAPI}(dwTlsIndex: LONGINT):LONGINT; 
 	TlsSetValue-: PROCEDURE {WINAPI}(dwTlsIndex, lpTlsValue: LONGINT):BOOL; 
 	TryEnterCriticalSection-: PROCEDURE {WINAPI}(VAR lpCriticalSection: CriticalSection):BOOL; 
-	VirtualAlloc-: PROCEDURE {WINAPI}(lpAddress: ADDRESS; dwSize: LONGINT; flAllocationType, flProtect: SET):ADDRESS; 
-	VirtualFree-: PROCEDURE {WINAPI}(lpAddress: ADDRESS; dwSize: LONGINT; dwFreeType: SET):BOOL; 
+	VirtualAlloc-: PROCEDURE {WINAPI}(lpAddress: ADDRESS; dwSize: LONGINT; flAllocationType, flProtect: DWORD):ADDRESS; 
+	VirtualFree-: PROCEDURE {WINAPI}(lpAddress: ADDRESS; dwSize: LONGINT; dwFreeType: DWORD):BOOL; 
 	WaitForSingleObject-: PROCEDURE {WINAPI}(hHandle: HANDLE; dwMilliseconds: LONGINT):LONGINT; 
 	WriteFile-: PROCEDURE {WINAPI}(hFile: HANDLE; CONST lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToWrite: LONGINT; VAR lpNumberOfBytesWritten: LONGINT; lpOverlapped: ADDRESS):BOOL; 
 	OutputString*: PROCEDURE (CONST a: ARRAY OF CHAR); 
 	Shutdown*: PROCEDURE (code: LONGINT); 
 
+	PROCEDURE ^ SetToDW*(s: SET): DWORD; 
+	PROCEDURE ^ DWToSet*(d: DWORD): SET; 
 	PROCEDURE ^ GetProcAddress*(hModule: HMODULE; CONST procName: ARRAY OF CHAR; VAR adr: ADDRESS); 
 	PROCEDURE ^ CopyString*(lpString: LPSTR; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ OutputDebugString*(CONST str: ARRAY OF CHAR); 

二進制
WinAos/obg/Machine.GofW


二進制
WinAos/obg/Modules.GofW


+ 1 - 1
WinAos/obg/Modules.SymW

@@ -15,7 +15,7 @@ CONST
 	ClearCode = TRUE; 
 	DefaultContext* = \"A2"\; 
 	NoLoader = 3400; 
-	TraceBoot = FALSE; 
+	TraceBoot = TRUE; 
 	PreciseGC* = 0; 
 	ModuleInitTimeout = HUGEINT(0B2D05E00H); 
 TYPE 

二進制
WinAos/obg/Oberon-Builder.GofW


二進制
WinAos/obg/Oberon-Clipboard.GofW


二進制
WinAos/obg/Oberon-Directories.GofW


二進制
WinAos/obg/Oberon-FATTools.GofW


二進制
WinAos/obg/Oberon-PC.GofW


二進制
WinAos/obg/ObjectFile.GofW


二進制
WinAos/obg/Objects.GofW


二進制
WinAos/obg/PELinker.GofW


二進制
WinAos/obg/ProcessInfo0.GofW


二進制
WinAos/obg/Raster.GofW


二進制
WinAos/obg/Reflection.GofW


+ 42 - 40
WinAos/obg/Reflection.SymW

@@ -73,21 +73,22 @@ TYPE
 	Meta* = RECORD 
 		module-: Modules.Module; 
 		refs-: Modules.Bytes; 
-		offset*: LONGINT; 
+		offset*: SIZE; 
 	END; 
 
 	Search = RECORD 
 		name: ARRAY 256 OF CHAR; 
-		nameOffset: LONGINT; 
+		nameOffset: SIZE; 
 		minLevel: LONGINT; 
 		pc: ADDRESS; 
-		pos: LONGINT; 
+		pos: SIZE; 
 		found: BOOLEAN; 
 	END; 
 
 	Variable* = RECORD 
 		adr-: ADDRESS; 
-		type-, size-, n-, tdadr-: LONGINT; 
+		type-, size-, n-: SIZE; 
+		tdadr-: ADDRESS; 
 	END; 
 VAR 
 	modes: ARRAY 25 OF CHAR; 
@@ -96,41 +97,41 @@ VAR
 	PROCEDURE ^ CheckHeapAddress(address: ADDRESS): BOOLEAN; 
 	PROCEDURE ^ Wait(w: Streams.Writer); 
 	PROCEDURE ^ Expect(b: BOOLEAN): BOOLEAN; 
-	PROCEDURE ^ GetChar*(refs: Modules.Bytes; VAR offset: LONGINT): CHAR; 
-	PROCEDURE ^ SkipChar*(VAR offset: LONGINT); 
-	PROCEDURE ^ GetAddress*(refs: Modules.Bytes; VAR offset: LONGINT): ADDRESS; 
-	PROCEDURE ^ SkipAddress*(VAR offset: LONGINT); 
-	PROCEDURE ^ GetSize*(refs: Modules.Bytes; VAR offset: LONGINT): SIZE; 
-	PROCEDURE ^ SkipSize*(VAR offset: LONGINT); 
-	PROCEDURE ^ GetSet*(refs: Modules.Bytes; VAR offset: LONGINT): SET; 
-	PROCEDURE ^ SkipSet*(VAR offset: LONGINT); 
-	PROCEDURE ^ GetString*(refs: Modules.Bytes; VAR offset: LONGINT; VAR string: ARRAY OF CHAR); 
-	PROCEDURE ^ SkipString*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ GetFullName*(refs: Modules.Bytes; offset: LONGINT; VAR name: ARRAY OF CHAR); 
+	PROCEDURE ^ GetChar*(refs: Modules.Bytes; VAR offset: SIZE): CHAR; 
+	PROCEDURE ^ SkipChar*(VAR offset: SIZE); 
+	PROCEDURE ^ GetAddress*(refs: Modules.Bytes; VAR offset: SIZE): ADDRESS; 
+	PROCEDURE ^ SkipAddress*(VAR offset: SIZE); 
+	PROCEDURE ^ GetSize*(refs: Modules.Bytes; VAR offset: SIZE): SIZE; 
+	PROCEDURE ^ SkipSize*(VAR offset: SIZE); 
+	PROCEDURE ^ GetSet*(refs: Modules.Bytes; VAR offset: SIZE): SET; 
+	PROCEDURE ^ SkipSet*(VAR offset: SIZE); 
+	PROCEDURE ^ GetString*(refs: Modules.Bytes; VAR offset: SIZE; VAR string: ARRAY OF CHAR); 
+	PROCEDURE ^ SkipString*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ GetFullName*(refs: Modules.Bytes; offset: SIZE; VAR name: ARRAY OF CHAR); 
 	PROCEDURE ^ ThisTypeByAdr(adr: ADDRESS; VAR m: Modules.Module; VAR t: Modules.TypeDesc); 
 	PROCEDURE ^ WriteType*(w: Streams.Writer; adr: ADDRESS); 
-	PROCEDURE ^ WriteProc0(w: Streams.Writer; mod: Modules.Module; pc, fp: ADDRESS; VAR refs: Modules.Bytes; VAR refpos: LONGINT; VAR base: ADDRESS); 
+	PROCEDURE ^ WriteProc0(w: Streams.Writer; mod: Modules.Module; pc, fp: ADDRESS; VAR refs: Modules.Bytes; VAR refpos: SIZE; VAR base: ADDRESS); 
 	PROCEDURE ^ WriteBasicValue*(w: Streams.Writer; type: CHAR; adr: ADDRESS; VAR size: SIZE); 
 	PROCEDURE ^ OnHeapOrStack(adr: ADDRESS; low, high: ADDRESS): BOOLEAN; 
-	PROCEDURE ^ WriteValueString*(w: Streams.Writer; adr: ADDRESS; maxLen: LONGINT; low, high: ADDRESS); 
+	PROCEDURE ^ WriteValueString*(w: Streams.Writer; adr: ADDRESS; maxLen: SIZE; low, high: ADDRESS); 
 	PROCEDURE ^ WriteMathArray*(w: Streams.Writer; adr: ADDRESS; low, high: ADDRESS); 
-	PROCEDURE ^ WriteValue*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; adr: ADDRESS; low, high: ADDRESS); 
-	PROCEDURE ^ WriteVariable*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; base: ADDRESS; low, high: ADDRESS); 
-	PROCEDURE ^ WriteVariables*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; base: ADDRESS; low, high: ADDRESS); 
-	PROCEDURE ^ SkipType*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ SkipProcedure*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ SkipVariable*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ SkipTypeDeclaration*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ SkipModule*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ SkipScope*(refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ FindString(refs: Modules.Bytes; VAR offset: LONGINT; level: LONGINT; VAR find: Search); 
-	PROCEDURE ^ FindInProcedure(refs: Modules.Bytes; VAR offset: LONGINT; level: LONGINT; VAR find: Search); 
-	PROCEDURE ^ FindInVariable(refs: Modules.Bytes; VAR offset: LONGINT; level: LONGINT; VAR find: Search); 
-	PROCEDURE ^ FindInTypeDeclaration(refs: Modules.Bytes; VAR offset: LONGINT; level: LONGINT; VAR find: Search); 
-	PROCEDURE ^ FindInModule(refs: Modules.Bytes; VAR offset: LONGINT; level: LONGINT; VAR find: Search); 
-	PROCEDURE ^ FindInScope(refs: Modules.Bytes; VAR offset: LONGINT; level: LONGINT; VAR find: Search); 
+	PROCEDURE ^ WriteValue*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE; adr: ADDRESS; low, high: ADDRESS); 
+	PROCEDURE ^ WriteVariable*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE; base: ADDRESS; low, high: ADDRESS); 
+	PROCEDURE ^ WriteVariables*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE; base: ADDRESS; low, high: ADDRESS); 
+	PROCEDURE ^ SkipType*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ SkipProcedure*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ SkipVariable*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ SkipTypeDeclaration*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ SkipModule*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ SkipScope*(refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ FindString(refs: Modules.Bytes; VAR offset: SIZE; level: LONGINT; VAR find: Search); 
+	PROCEDURE ^ FindInProcedure(refs: Modules.Bytes; VAR offset: SIZE; level: LONGINT; VAR find: Search); 
+	PROCEDURE ^ FindInVariable(refs: Modules.Bytes; VAR offset: SIZE; level: LONGINT; VAR find: Search); 
+	PROCEDURE ^ FindInTypeDeclaration(refs: Modules.Bytes; VAR offset: SIZE; level: LONGINT; VAR find: Search); 
+	PROCEDURE ^ FindInModule(refs: Modules.Bytes; VAR offset: SIZE; level: LONGINT; VAR find: Search); 
+	PROCEDURE ^ FindInScope(refs: Modules.Bytes; VAR offset: SIZE; level: LONGINT; VAR find: Search); 
 	PROCEDURE ^ InitSearch(VAR search: Search); 
-	PROCEDURE ^ FindByName*(refs: Modules.Bytes; offset: LONGINT; CONST name: ARRAY OF CHAR; skipFirstSymbol: BOOLEAN): SIZE; 
+	PROCEDURE ^ FindByName*(refs: Modules.Bytes; offset: SIZE; CONST name: ARRAY OF CHAR; skipFirstSymbol: BOOLEAN): SIZE; 
 	PROCEDURE ^ FindByAdr*(refs: Modules.Bytes; offset: SIZE; pc: ADDRESS): SIZE; 
 	PROCEDURE ^ WriteProc*(w: Streams.Writer; pc: ADDRESS); 
 	PROCEDURE ^ ModuleState*(w: Streams.Writer; mod: Modules.Module); 
@@ -141,14 +142,15 @@ VAR
 	PROCEDURE ^ GetProcedureName*(pc: ADDRESS; VAR name: ARRAY OF CHAR; VAR startpc: ADDRESS); 
 	PROCEDURE ^ FindVar*(mod: Modules.Module; CONST name: ARRAY OF CHAR; VAR v: Variable): BOOLEAN; 
 	PROCEDURE ^ WriteVar*(w: Streams.Writer; v: Variable; VAR col: LONGINT); 
-	PROCEDURE ^ ReportType*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ ReportProcedure*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ ReportVariable*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ ReportTypeDeclaration*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ ReportScope*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT); 
-	PROCEDURE ^ ReportModule*(w: Streams.Writer; refs: Modules.Bytes; offset: LONGINT); 
-	PROCEDURE ^ Report*(w: Streams.Writer; refs: Modules.Bytes; offset: LONGINT); 
+	PROCEDURE ^ ReportType*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ ReportProcedure*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ ReportVariable*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ ReportTypeDeclaration*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ ReportScope*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: SIZE); 
+	PROCEDURE ^ ReportModule*(w: Streams.Writer; refs: Modules.Bytes; offset: SIZE); 
+	PROCEDURE ^ Report*(w: Streams.Writer; refs: Modules.Bytes; offset: SIZE); 
 	PROCEDURE ^ TraceH(process: Objects.Process; pc, bp: ADDRESS; stacklow, stackhigh: ADDRESS); 
 	PROCEDURE ^ TraceProcesses*; 
+	PROCEDURE ^ Test*; 
 BEGIN
 END Reflection.

二進制
WinAos/obg/SVNAdmin.GofW


二進制
WinAos/obg/SkinEditor.GofW


二進制
WinAos/obg/StaticLinker.GofW


+ 2 - 1
WinAos/obg/StaticLinker.SymW

@@ -48,7 +48,7 @@ TYPE
 		PROCEDURE ^ Allocate*(CONST section: ObjectFile.Section): GenericLinker.Address; 
 		PROCEDURE ^ SizeInBits*(): LONGINT; 
 		PROCEDURE ^ Patch*(pos, value: GenericLinker.Address; offset, bits, unit: ObjectFile.Bits); 
-		PROCEDURE ^ CheckReloc*(target: LONGINT; pattern: ObjectFile.Pattern; CONST patch: ObjectFile.Patch); 
+		PROCEDURE ^ CheckReloc*(target: GenericLinker.Address; pattern: ObjectFile.Pattern; CONST patch: ObjectFile.Patch); 
 	END Arrangement; 
 
 	FileFormat = PROCEDURE (linker: GenericLinker.Linker; arrangement: Arrangement; writer: Files.Writer); 
@@ -58,6 +58,7 @@ VAR
 
 	PROCEDURE ^ Align(this, to: LONGINT): LONGINT; 
 	PROCEDURE ^ ReadObjectFile*(CONST moduleName, path, extension: ARRAY OF CHAR; linker: GenericLinker.Linker; moduleList: GenericLinker.HashTableSegmentedName); 
+	PROCEDURE ^ WriteRelocations(arr: Arrangement; w: Files.Writer); 
 	PROCEDURE ^ WriteOutputFile*(arrangement: Arrangement; CONST fileName: Files.FileName; linker: GenericLinker.Linker; fileFormat: FileFormat); 
 	PROCEDURE ^ WriteBinaryFile(linker: GenericLinker.Linker; arrangement: Arrangement; writer: Files.Writer); 
 	PROCEDURE ^ WriteTRMFile(arrangement: Arrangement; writer: Files.Writer; bitsPerLine, lines: LONGINT); 

二進制
WinAos/obg/Streams.GofW


+ 2 - 2
WinAos/obg/Streams.SymW

@@ -56,9 +56,9 @@ TYPE
 		PROCEDURE ^ RawNum*(x: LONGINT); 
 		PROCEDURE ^ Ln*; 
 		PROCEDURE ^ String*(CONST x: ARRAY OF CHAR); 
-		PROCEDURE ^ Int*(x: HUGEINT; w: LONGINT); 
+		PROCEDURE ^ Int*(x: HUGEINT; w: SIZE); 
 		PROCEDURE ^ Set*(s: SET); 
-		PROCEDURE ^ Hex*(x: HUGEINT; w: LONGINT); 
+		PROCEDURE ^ Hex*(x: HUGEINT; w: SIZE); 
 		PROCEDURE ^ Address*(x: ADDRESS); 
 		PROCEDURE ^ Pair(ch: CHAR; x: LONGINT); 
 		PROCEDURE ^ Date*(t, d: LONGINT); 

二進制
WinAos/obg/TCP.GofW


二進制
WinAos/obg/Traps.GofW


二進制
WinAos/obg/UDP.GofW


二進制
WinAos/obg/User32.GofW


+ 12 - 10
WinAos/obg/User32.SymW

@@ -211,6 +211,8 @@ CONST
 	Color3DFace* = ColorBtnFace; 
 	Color3DShadow* = ColorBtnShadow; 
 TYPE 
+	DWORD = Kernel32.DWORD; 
+
 	HWND* = Kernel32.HANDLE; 
 
 	HDC* = Kernel32.HANDLE; 
@@ -283,7 +285,7 @@ TYPE
 
 	WndClassEx* = RECORD 
 		cbSize*: LONGINT; 
-		style*: SET; 
+		style*: DWORD; 
 		lpfnWndProc*: WndProc; 
 		cbClsExtra*, cbWndExtra*: LONGINT; 
 		hInstance*: Kernel32.HINSTANCE; 
@@ -299,12 +301,12 @@ TYPE
 	WindowPos* = RECORD 
 		hwnd*, hwndInsertAfter*: HWND; 
 		x*, y*, cx*, cy*: LONGINT; 
-		flags*: SET; 
+		flags*: DWORD; 
 	END; 
 
 	WindowPlacement* = RECORD 
 		length*: LONGINT; 
-		flags*: SET; 
+		flags*: DWORD; 
 		showCmd*: LONGINT; 
 		ptMinPosition*, ptMaxPosition*: Point; 
 		rcNormalPosition*: Rect; 
@@ -312,7 +314,7 @@ TYPE
 
 	MenuItemInfo* = RECORD 
 		cbSize*: LONGINT; 
-		fMask*, fType*, fState*: SET; 
+		fMask*, fType*, fState*: DWORD; 
 		wID*: LONGINT; 
 		hSubMenu*: HMenu; 
 		hbmpChecked*, hbmpUnchecked*: HBitmap; 
@@ -342,7 +344,7 @@ VAR
 	CloseClipboard-: PROCEDURE {WINAPI}():Kernel32.BOOL; 
 	CreateAcceleratorTable-: PROCEDURE {WINAPI}(lpaccl: ADDRESS; cEntries: LONGINT):HAccel; 
 	CreateMenu-: PROCEDURE {WINAPI}():HMenu; 
-	CreateWindowEx-: PROCEDURE {WINAPI}(dwExStyle: LONGINT; VAR lpClassName, lpWindowName: ARRAY OF CHAR; dwStyle: SET; x, y, nWidth, nHeight: LONGINT; hWndParent: HWND; hMenu: HMenu; hInstance: Kernel32.HINSTANCE; lpParam: LONGINT):HWND; 
+	CreateWindowEx-: PROCEDURE {WINAPI}(dwExStyle: LONGINT; VAR lpClassName, lpWindowName: ARRAY OF CHAR; dwStyle: DWORD; x, y, nWidth, nHeight: LONGINT; hWndParent: HWND; hMenu: HMenu; hInstance: Kernel32.HINSTANCE; lpParam: LONGINT):HWND; 
 	DefWindowProc-: WndProc; 
 	DestroyAcceleratorTable-: PROCEDURE {WINAPI}(hAccel: HAccel):Kernel32.BOOL; 
 	DestroyCursor-: PROCEDURE {WINAPI}(hCursor: HCursor):Kernel32.BOOL; 
@@ -367,7 +369,7 @@ VAR
 	GetKeyState-: PROCEDURE {WINAPI}(vKey: LONGINT):INTEGER; 
 	GetMenu-: PROCEDURE {WINAPI}(hWnd: HWND):HMenu; 
 	GetMenuItemInfo-: PROCEDURE {WINAPI}(hMenu: HMenu; uItem: LONGINT; fyByPosition: Kernel32.BOOL; VAR lpmii: MenuItemInfo):Kernel32.BOOL; 
-	GetMenuString-: PROCEDURE {WINAPI}(hMenu: HMenu; uIDItem: LONGINT; VAR lpString: ARRAY OF CHAR; nMaxCount: LONGINT; uFlag: SET):Kernel32.BOOL; 
+	GetMenuString-: PROCEDURE {WINAPI}(hMenu: HMenu; uIDItem: LONGINT; VAR lpString: ARRAY OF CHAR; nMaxCount: LONGINT; uFlag: DWORD):Kernel32.BOOL; 
 	GetMessage-: PROCEDURE {WINAPI}(VAR lpMsg: Msg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax: LONGINT):LONGINT; 
 	GetParent-: PROCEDURE {WINAPI}(hWnd: HWND):HWND; 
 	GetProp-: PROCEDURE {WINAPI}(hWnd: HWND; lpString: LONGINT):LONGINT; 
@@ -380,7 +382,7 @@ VAR
 	GetWindowText-: PROCEDURE {WINAPI}(hWnd: HWND; VAR lpString: ARRAY OF CHAR; nMaxCount: LONGINT):LONGINT; 
 	GetUpdateRect-: PROCEDURE {WINAPI}(hWnd: HWND; VAR lpRect: Rect; bErase: Kernel32.BOOL):Kernel32.BOOL; 
 	GetUpdateRgn-: PROCEDURE {WINAPI}(hWnd: HWND; VAR hRgn: HRgn; bErase: Kernel32.BOOL):LONGINT; 
-	InsertMenu-: PROCEDURE {WINAPI}(hMenu: HMenu; uPosition: LONGINT; uFlags: SET; uIDNewItem: LONGINT; VAR lpNewItem: ARRAY OF CHAR):Kernel32.BOOL; 
+	InsertMenu-: PROCEDURE {WINAPI}(hMenu: HMenu; uPosition: LONGINT; uFlags: DWORD; uIDNewItem: LONGINT; VAR lpNewItem: ARRAY OF CHAR):Kernel32.BOOL; 
 	IntersectRect-: PROCEDURE {WINAPI}(VAR lprcDst: Rect; lprcSrc1, lprcSrc2: Rect):Kernel32.BOOL; 
 	InvalidateRect-: PROCEDURE {WINAPI}(hWnd: HWND; lpRect: Rect; bErase: Kernel32.BOOL):Kernel32.BOOL; 
 	IsChild-: PROCEDURE {WINAPI}(hWndParent, hWnd: HWND):Kernel32.BOOL; 
@@ -388,7 +390,7 @@ VAR
 	LoadCursorFromFile-: PROCEDURE {WINAPI}(VAR lpFileName: ARRAY OF CHAR):HCursor; 
 	LoadIcon-: PROCEDURE {WINAPI}(hInstance: Kernel32.HINSTANCE; VAR lpIconName: ARRAY OF CHAR):HIcon; 
 	MessageBeep-: PROCEDURE {WINAPI}(uType: LONGINT):Kernel32.BOOL; 
-	MessageBox-: PROCEDURE {WINAPI}(hWnd: HWND; VAR lpText, lpCaption: ARRAY OF CHAR; uType: SET):LONGINT; 
+	MessageBox-: PROCEDURE {WINAPI}(hWnd: HWND; VAR lpText, lpCaption: ARRAY OF CHAR; uType: DWORD):LONGINT; 
 	MoveWindow-: PROCEDURE {WINAPI}(hWnd: HWND; X, Y, nWidth, nHeight: LONGINT; bRepaint: Kernel32.BOOL):Kernel32.BOOL; 
 	OffsetRect-: PROCEDURE {WINAPI}(VAR lprc: Rect; dx, dy: LONGINT):Kernel32.BOOL; 
 	OpenClipboard-: PROCEDURE {WINAPI}(hWndNewOwner: HWND):Kernel32.BOOL; 
@@ -415,13 +417,13 @@ VAR
 	SetProp-: PROCEDURE {WINAPI}(hWnd: HWND; lpString, hData: LONGINT):Kernel32.BOOL; 
 	SetWindowsHookEx-: PROCEDURE {WINAPI}(idHook: LONGINT; lpfn: HookProc; hMod: Kernel32.HINSTANCE; dwThreadId: LONGINT):HHook; 
 	SetWindowLong-: PROCEDURE {WINAPI}(hWnd: HWND; nIndex, dwNewLong: LONGINT):LONGINT; 
-	SetWindowPos-: PROCEDURE {WINAPI}(hWnd, hWndInsertAfter: HWND; X, Y, cx, cy: LONGINT; uFlags: SET):Kernel32.BOOL; 
+	SetWindowPos-: PROCEDURE {WINAPI}(hWnd, hWndInsertAfter: HWND; X, Y, cx, cy: LONGINT; uFlags: DWORD):Kernel32.BOOL; 
 	SetWindowRgn-: PROCEDURE {WINAPI}(hWnd: HWND; hRgn: HRgn; bRedraw: Kernel32.BOOL):LONGINT; 
 	SetWindowText-: PROCEDURE {WINAPI}(hWnd: HWND; VAR lpString: ARRAY OF CHAR):Kernel32.BOOL; 
 	ShowCursor-: PROCEDURE {WINAPI}(bShow: Kernel32.BOOL):LONGINT; 
 	ShowWindow-: PROCEDURE {WINAPI}(hWnd: HWND; nCmdShow: LONGINT):Kernel32.BOOL; 
 	ShowWindowAsync-: PROCEDURE {WINAPI}(hWnd: HWND; nCmdShow: LONGINT):Kernel32.BOOL; 
-	TrackPopupMenu-: PROCEDURE {WINAPI}(hMenu: HMenu; uFlags: SET; x, y, nReserved: LONGINT; hWnd: HWND; VAR prcRect: Rect):Kernel32.BOOL; 
+	TrackPopupMenu-: PROCEDURE {WINAPI}(hMenu: HMenu; uFlags: DWORD; x, y, nReserved: LONGINT; hWnd: HWND; VAR prcRect: Rect):Kernel32.BOOL; 
 	TranslateAccelerator-: PROCEDURE {WINAPI}(hWnd: HWND; hAccTable: HAccel; VAR lpMsg: Msg):LONGINT; 
 	TranslateMessage-: PROCEDURE {WINAPI}(VAR lpMsg: Msg):Kernel32.BOOL; 
 	UnhookWindowsHookEx-: PROCEDURE {WINAPI}(hhk: HHook):Kernel32.BOOL; 

二進制
WinAos/obg/V24.GofW


二進制
WinAos/obg/WMComponents.GofW


二進制
WinAos/obg/WMInstaller.GofW


二進制
WinAos/obg/WMPerfMonPluginModVars.GofW


二進制
WinAos/obg/WMSlideshow.GofW


二進制
WinAos/obg/WMStandardComponents.GofW


+ 1 - 1
WinAos/obg/WMStandardComponents.SymW

@@ -354,7 +354,7 @@ TYPE
 	ImagePanel* = OBJECT {EXCLUSIVE} (Panel)
 	VAR 
 		imgName-: WMProperties.StringProperty; 
-		img: WMGraphics.Image; 
+		img-: WMGraphics.Image; 
 		vScrollbar, hScrollbar: Scrollbar; 
 		dx, dy: LONGINT; 
 

二進制
WinAos/obg/WSock32.GofW


+ 1 - 1
WinAos/obg/WSock32.SymW

@@ -88,7 +88,7 @@ TYPE
 
 	FDSet* = RECORD 
 		fdcount*: LONGINT; 
-		socket*: ARRAY 64 OF LONGINT; 
+		socket*: ARRAY 64 OF Socket; 
 	END; 
 
 	WSAProtocolInfo* = RECORD 

二進制
WinAos/obg/WebDefaultSSMP.GofW


二進制
WinAos/obg/WinApplications.GofW


二進制
WinAos/obg/WinDisks.GofW


二進制
WinAos/obg/WinFS.GofW


+ 1 - 0
WinAos/obg/WinFS.SymW

@@ -138,6 +138,7 @@ VAR
 	notifications: Notification; 
 	winFS: WinFileSystem; 
 
+	PROCEDURE ^ ToSet(d: UNSIGNED32): SET; 
 	PROCEDURE ^ DebugFile(f: File); 
 	PROCEDURE ^ IsLocalPath(path: ARRAY OF CHAR): BOOLEAN; 
 	PROCEDURE ^ FixDriveLetter(VAR path: ARRAY OF CHAR); 

二進制
WinAos/obg/WinTrace.GofW