--- Merging r41941 into '.':

U    packages/morphunits/src/amigados.pas
U    packages/morphunits/src/exec.pas
--- Recording mergeinfo for merge of r41941 into '.':
 U   .
--- Merging r41942 into '.':
U    packages/arosunits/src/amigados.pas
--- Recording mergeinfo for merge of r41942 into '.':
 G   .
--- Merging r41944 into '.':
U    packages/arosunits/src/agraphics.pas
--- Recording mergeinfo for merge of r41944 into '.':
 G   .
--- Merging r41945 into '.':
U    packages/morphunits/src/agraphics.pas
--- Recording mergeinfo for merge of r41945 into '.':
 G   .
--- Merging r41947 into '.':
U    packages/arosunits/src/intuition.pas
--- Recording mergeinfo for merge of r41947 into '.':
 G   .
--- Merging r41948 into '.':
U    packages/morphunits/src/intuition.pas
--- Recording mergeinfo for merge of r41948 into '.':
 G   .
--- Merging r41953 into '.':
U    packages/morphunits/src/utility.pas
--- Recording mergeinfo for merge of r41953 into '.':
 G   .
--- Merging r41955 into '.':
U    packages/amunits/src/coreunits/agraphics.pas
U    packages/amunits/src/coreunits/clipboard.pas
U    packages/amunits/src/coreunits/intuition.pas
--- Recording mergeinfo for merge of r41955 into '.':
 G   .
--- Merging r41956 into '.':
U    packages/arosunits/src/datatypes.pas
U    packages/arosunits/src/locale.pas
U    packages/arosunits/src/serial.pas
U    packages/arosunits/src/workbench.pas
--- Recording mergeinfo for merge of r41956 into '.':
 G   .
--- Merging r41957 into '.':
U    packages/morphunits/src/datatypes.pas
--- Recording mergeinfo for merge of r41957 into '.':
 G   .

# revisions: 41941,41942,41944,41945,41947,41948,41953,41955,41956,41957

git-svn-id: branches/fixes_3_2@41984 -
This commit is contained in:
marco 2019-05-04 15:51:54 +00:00
parent 02c14a51c8
commit c9a68fbdba
16 changed files with 82 additions and 97 deletions

View File

@ -134,7 +134,6 @@ type
_p1, _p1,
_p2 : Pointer; { system reserved } _p2 : Pointer; { system reserved }
reserved : Longint; { system use } reserved : Longint; { system use }
Flags : Longint; { only exists in layer allocation }
end; end;
pLayer = ^tLayer; pLayer = ^tLayer;
@ -158,7 +157,7 @@ type
cr2, cr2,
crnew : pClipRect; { used by dedice } crnew : pClipRect; { used by dedice }
SuperSaveClipRects : pClipRect; { preallocated cr's } SuperSaveClipRects : pClipRect; { preallocated cr's }
cliprects : pClipRect; { system use during refresh } _cliprects : pClipRect; { system use during refresh }
LayerInfo : Pointer; { points to head of the list } LayerInfo : Pointer; { points to head of the list }
Lock : tSignalSemaphore; Lock : tSignalSemaphore;
BackFill : pHook; BackFill : pHook;
@ -391,8 +390,8 @@ type
pCopList = ^tCopList; pCopList = ^tCopList;
tCopList = record tCopList = record
Next : pCopList; { next block for this copper list } Next : pCopList; { next block for this copper list }
CopList : pCopList; { system use } _CopList : pCopList; { system use }
ViewPort : Pointer; { system use } _ViewPort : Pointer; { system use }
CopIns : pCopIns; { start of this block } CopIns : pCopIns; { start of this block }
CopPtr : pCopIns; { intermediate ptr } CopPtr : pCopIns; { intermediate ptr }
CopLStart : psmallint; { mrgcop fills this in for Long Frame} CopLStart : psmallint; { mrgcop fills this in for Long Frame}
@ -418,8 +417,8 @@ type
fm0 : array [0..1] of word; fm0 : array [0..1] of word;
diwstart : array [0..9] of word; diwstart : array [0..9] of word;
bplcon2 : array [0..1] of word; bplcon2 : array [0..1] of word;
sprfix : array [0..(2*8)] of word; sprfix : array [0..(2*8-1)] of word;
sprstrtup : Array [0..(2*8*2)] of Word; sprstrtup : Array [0..(2*8*2-1)] of Word;
wait14 : array [0..1] of word; wait14 : array [0..1] of word;
norm_hblank : array [0..1] of word; norm_hblank : array [0..1] of word;
jump : array [0..1] of word; jump : array [0..1] of word;
@ -1147,7 +1146,7 @@ Type
pColorMap = ^tColorMap; pColorMap = ^tColorMap;
tColorMap = record tColorMap = record
Flags : Byte; Flags : Byte;
CType : Byte; { This is "Type" in C includes } Type_ : Byte; { This is "Type" in C includes }
Count : Word; Count : Word;
ColorTable : Pointer; ColorTable : Pointer;
cm_vpe : pViewPortExtra; cm_vpe : pViewPortExtra;
@ -1739,7 +1738,7 @@ Type
pQueryHeader = ^tQueryHeader; pQueryHeader = ^tQueryHeader;
tQueryHeader = record tQueryHeader = record
tructID, { datachunk type identifier } StructID, { datachunk type identifier }
DisplayID, { copy of display record key } DisplayID, { copy of display record key }
SkipID, { TAG_SKIP -- see tagitems.h } SkipID, { TAG_SKIP -- see tagitems.h }
Length : ULONG; { length of local data in double-longwords } Length : ULONG; { length of local data in double-longwords }
@ -1878,7 +1877,7 @@ Type
Header : tQueryHeader; Header : tQueryHeader;
Vec : Pointer; Vec : Pointer;
Data : Pointer; Data : Pointer;
vi_Type : WORD; { Type in C Includes } Type_ : WORD; { Type in C Includes }
pad : Array[0..2] of WORD; pad : Array[0..2] of WORD;
reserved : Array[0..1] of ULONG; reserved : Array[0..1] of ULONG;
end; end;

View File

@ -13,7 +13,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************} **********************************************************************}
{$PACKRECORDS 2}
unit clipboard; unit clipboard;
INTERFACE INTERFACE

View File

@ -2433,7 +2433,7 @@ Type
ViewInitX, ViewInitX,
ViewInitY : smallint; { View initial offset values } ViewInitY : smallint; { View initial offset values }
EnableCLI : Boolean; { CLI availability switch } EnableCLI : WordBool; { CLI availability switch }
{ printer configurations } { printer configurations }
PrinterType : Word; { printer type } PrinterType : Word; { printer type }
@ -3905,8 +3905,8 @@ Type
pSGWork = ^tSGWork; pSGWork = ^tSGWork;
tSGWork = record tSGWork = record
{ set up when gadget is first activated } { set up when gadget is first activated }
Gad : pGadget; { the contestant itself } { Gadget in C-Includes } Gadget : pGadget; { the contestant itself } { Gadget in C-Includes }
StrInfo : pStringInfo; { easy access to sinfo } { StrInfo in C-Includes } StringInfo : pStringInfo; { easy access to sinfo } { StrInfo in C-Includes }
WorkBuffer : STRPTR; { intuition's planned result } WorkBuffer : STRPTR; { intuition's planned result }
PrevBuffer : STRPTR; { what was there before } PrevBuffer : STRPTR; { what was there before }
Modes : ULONG; { current mode } Modes : ULONG; { current mode }
@ -3919,7 +3919,7 @@ Type
Actions : ULONG; { what Intuition will do } Actions : ULONG; { what Intuition will do }
LongInt_ : Longint; { temp storage for longint } LongInt_ : Longint; { temp storage for longint }
GInfo : pGadgetInfo; { see cghooks.h } { GadgetInfo in C-Includes } GadgetInfo : pGadgetInfo; { see cghooks.h } { GadgetInfo in C-Includes }
EditOp : Word; { from constants below } EditOp : Word; { from constants below }
END; END;

View File

@ -341,7 +341,7 @@ type
// SYSTEM VARIABLES // SYSTEM VARIABLES
NextVSprite: PVSprite; // GEL linked list forward/backward pointers sorted by y,x value NextVSprite: PVSprite; // GEL linked list forward/backward pointers sorted by y,x value
PrevVSprite: PVSprite; PrevVSprite: PVSprite;
DrawPath: PVSprite; // pointer of overlay drawing IntVSprite: PVSprite; // pointer of overlay drawing
ClearPath: PVSprite; // pointer for overlay clearing ClearPath: PVSprite; // pointer for overlay clearing
OldY, OldX: SmallInt; // previous position OldY, OldX: SmallInt; // previous position
// COMMON VARIABLES // COMMON VARIABLES
@ -564,10 +564,10 @@ type
PShapeHookMsg = ^TShapeHookMsg; PShapeHookMsg = ^TShapeHookMsg;
TShapeHookMsg = record TShapeHookMsg = record
Action: LongInt; Action: LongInt;
Layer: PLayer; NewShape: PRegion;
ActualShape: PRegion; OldShape: PRegion;
NewBounds: TRectangle; NewBounds: PRectangle;
OldBounds: TRectangle; OldBounds: PRectangle;
end; end;
// Hook for getting LA_ShapeHook and getting this Msg // Hook for getting LA_ShapeHook and getting this Msg
TShapeHookProc = function(Hook: PHook; Layer: PLayer; Msg: PShapeHookMsg): PRegion; cdecl; TShapeHookProc = function(Hook: PHook; Layer: PLayer; Msg: PShapeHookMsg): PRegion; cdecl;
@ -990,19 +990,19 @@ type
// Copper structures // Copper structures
PCopIns = ^TCopIns; PCopIns = ^TCopIns;
TCopIns = record TCopIns = record
OpCode : smallint; // 0 = move, 1 = wait OpCode: smallint; // 0 = move, 1 = wait
case SmallInt of case SmallInt of
0:( 0:(
NxtList: PCopList; NxtList: PCopList;
); );
1:( 1:(
VWaitPos: SmallInt; // vertical wait position
DestAddr: SmallInt; // destination Pointer DestAddr: SmallInt; // destination Pointer
DestData: SmallInt; // data to send
); );
2:( 2:(
HWaitPos: SmallInt; // horizontal wait position VWaitPos: SmallInt; // vertical wait position
DestData: SmallInt; // data to send HWaitPos: SmallInt; // horizontal wait position
); );
end; end;
TCopList = record TCopList = record
@ -1994,9 +1994,9 @@ type
VBCounter: ULONG; VBCounter: ULONG;
HashTableSemaphore: PSignalSemaphore; // Semaphore for hash_table access, private in fact HashTableSemaphore: PSignalSemaphore; // Semaphore for hash_table access, private in fact
case boolean of
ChunkyToPlanarPtr: PLongWord; // HWEmul[0]; true: ( ChunkyToPlanarPtr: PLongWord;); // HWEmul[0];
HWEmul: array[1..8] of PLongWord; false: (HWEmul: array[0..8] of PLongWord;);
end; end;
type type

View File

@ -848,12 +848,6 @@ type
dl_DiskType: LongInt; // 'DOS', etc dl_DiskType: LongInt; // 'DOS', etc
dl_unused: BPTR; dl_unused: BPTR;
dl_Name: BSTR; // bptr to bcpl name dl_Name: BSTR; // bptr to bcpl name
{$ifdef aros}
{$ifndef AROS_DOS_PACKETS}
dl_Reserved: array[0..5] of IPTR;
dl_AROS: TDosListAROSExt;
{$endif}
{$endif}
end; end;
{ device structure (same as the DeviceNode structure in filehandler.h) } { device structure (same as the DeviceNode structure in filehandler.h) }
@ -874,12 +868,6 @@ type
dvi_GlobVec: BSTR; dvi_GlobVec: BSTR;
{$endif} {$endif}
dvi_Name: BSTR; dvi_Name: BSTR;
{$ifdef aros}
{$ifndef AROS_DOS_PACKETS}
dvi_Reserved: array[0..5] of IPTR;
dvi_AROS: TDosListAROSExt;
{$endif}
{$endif}
end; end;
const const
@ -1165,12 +1153,6 @@ type
* vector for you. * vector for you.
} }
dn_Name: BSTR; { the node name, e.g. '\3','D','F','3' } dn_Name: BSTR; { the node name, e.g. '\3','D','F','3' }
{$ifdef aros}
{$ifndef AROS_DOS_PACKETS}
dn_Reserved: array[0..5] of IPTR; // Private extensions Should not be used in user land code.
dn_AROS: TDosListAROSExt;
{$endif}
{$endif}
end; end;
type type
@ -1518,39 +1500,16 @@ type
TDosLibrary = record TDosLibrary = record
dl_lib: TLibrary; dl_lib: TLibrary;
dl_Root: PRootNode; // Pointer to RootNode, described below } dl_Root: PRootNode; // Pointer to RootNode, described below }
{$ifdef AROS_BINCOMPAT}
dl_GV: APTR; // Pointer to BCPL global vector } dl_GV: APTR; // Pointer to BCPL global vector }
dl_A2: LongInt; // Private register dump of DOS } dl_A2: LongInt; // Private register dump of DOS }
dl_A5: LongInt; dl_A5: LongInt;
dl_A6: LongInt; dl_A6: LongInt;
{$endif}
dl_Errors: PErrorString; // pointer to array of error msgs dl_Errors: PErrorString; // pointer to array of error msgs
dl_TimeReq: PTimeRequest; // private pointer to timer request dl_TimeReq: PTimeRequest; // private pointer to timer request
dl_UtilityBase : PLibrary; // private ptr to utility library dl_UtilityBase : PLibrary; // private ptr to utility library
dl_IntuitionBase : PLibrary; dl_IntuitionBase : PLibrary;
{ These were AROS-specific private fields. At the moment they are mostly not used
and are present only for binary compatibility with programs that used dl_Flags
(Directory Opus for example). Do not try to use them in any way!}
{$ifdef aros}
dl_TimerBase: PDevice;
dl_TimerIO: TTimeRequest;
dl_DevInfo: PDosList;
dl_SysBase: PExecBase;
dl_SegList: BPTR;
dl_NulHandler: PDevice;
dl_NulLock: PUnit;
// LDDemon (library loader) private data
dl_LDObjectsListSigSem: TSignalSemaphore;
dl_LDObjectsList: TList;
dl_LDHandler: TInterrupt;
dl_LDDemonPort: PMsgPort;
dl_LDDemonTask: PProcess;
dl_LDReturn: ULONG;
//* AROS-specific and private. Can go away in future.
dl_SYSLock: BPTR;
// The flags are ORed with RootNode^.rn_Flags. See below for definitions.
dl_Flags: ULONG;
{$endif}
end; end;
const const

View File

@ -781,8 +781,8 @@ type
TAnimHeader = record TAnimHeader = record
ah_Operation: Byte; ah_Operation: Byte;
ah_Mask: Byte; ah_Mask: Byte;
ah_Height: Word;
ah_Width: Word; ah_Width: Word;
ah_Height: Word;
ah_Left: SmallInt; ah_Left: SmallInt;
ah_Top: SmallInt; ah_Top: SmallInt;
ah_AbsTime: LongWord; ah_AbsTime: LongWord;

View File

@ -1471,7 +1471,7 @@ type
ViewInitX, ViewInitX,
ViewInitY: SmallInt; // View initial offset values ViewInitY: SmallInt; // View initial offset values
EnableCLI: LongBool; // CLI availability switch EnableCLI: WordBool; // CLI availability switch
// printer configurations // printer configurations
PrinterType: Word; // printer type PrinterType: Word; // printer type
@ -1663,11 +1663,11 @@ type
Screens are then maintained in a front to back order using Screen.NextScreen } Screens are then maintained in a front to back order using Screen.NextScreen }
Flags: LongWord; // see definitions below Flags: LongWord; // see definitions below
{$ifdef AROS_BINCOMPAT} {$ifdef AROS_BINCOMPAT}
MouseX,
MouseY: SmallInt; // mouse position relative to View
{$else}
MouseY, MouseY,
MouseX: SmallInt; // mouse position relative to View MouseX: SmallInt; // mouse position relative to View
{$else}
MouseX,
MouseY: SmallInt; // mouse position relative to View
{$endif} {$endif}
Seconds: LongWord; // timestamp of most current input event Seconds: LongWord; // timestamp of most current input event

View File

@ -12,7 +12,6 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************} **********************************************************************}
{$PACKRECORDS 2}
unit locale; unit locale;

View File

@ -17,7 +17,6 @@
unit serial; unit serial;
interface interface
{$PACKRECORDS 2}
uses uses
exec; exec;

View File

@ -237,7 +237,7 @@ type
ism_Drawer: BPTR; // Lock on the drawer this object resides in, NULL for Workbench backdrop (devices). ism_Drawer: BPTR; // Lock on the drawer this object resides in, NULL for Workbench backdrop (devices).
ism_Name: STRPTR; // Name of the object in question. ism_Name: STRPTR; // Name of the object in question.
ism_type: Word; // One of WBDISK, WBDRAWER, WBTOOL, WBPROJECT, WBGARBAGE, WBDEVICE, WBKICK or WBAPPICON. ism_type: Word; // One of WBDISK, WBDRAWER, WBTOOL, WBPROJECT, WBGARBAGE, WBDEVICE, WBKICK or WBAPPICON.
ism_Selected: LongBool; // TRUE if currently selected, FALSE otherwise. ism_Selected: WordBool; // TRUE if currently selected, FALSE otherwise.
ism_Tags: PTagItem; // Pointer to the list of tag items passed to ChangeWorkbenchSelectionA(). ism_Tags: PTagItem; // Pointer to the list of tag items passed to ChangeWorkbenchSelectionA().
ism_DrawerWindow: PWindow; // Pointer to the window attached to this icon, if the icon is a drawer-like object. ism_DrawerWindow: PWindow; // Pointer to the window attached to this icon, if the icon is a drawer-like object.
ism_ParentWindow: PWindow; // Pointer to the window the icon resides in. ism_ParentWindow: PWindow; // Pointer to the window the icon resides in.
@ -536,20 +536,22 @@ type
TWBHandlerMessage = record TWBHandlerMessage = record
wbhm_Message: TMessage; // Standard message structure. wbhm_Message: TMessage; // Standard message structure.
wbhm_type: TWBHM_type; // type of message. wbhm_type: TWBHM_type; // type of message.
wbhm_Data: record
case integer of case integer of
0 : 0 :
( (
Open: record Open: record
OpenName: STRPTR; // Name of the drawer. Name: STRPTR; // Name of the drawer.
end; end;
); );
1 : 1 :
( (
Update: record Update: record
UpdateName: STRPTR; // Mame of the object. Name: STRPTR; // Mame of the object.
Updatetype: LongInt; // type of object (WBDRAWER, WBPROJECT, ...). Type_: LongInt; // type of object (WBDRAWER, WBPROJECT, ...).
end; end;
); );
end;
end; end;

View File

@ -129,7 +129,29 @@ type
_p1, _p1,
_p2 : APTR; // system reserved _p2 : APTR; // system reserved
reserved: LongInt; // system use reserved: LongInt; // system use
Flags : LongInt; // only exists in layer allocation end;
PLayer_Info = ^TLayer_Info;
TLayer_Info = record
Top_Layer: Player;
check_lp: PLayer;
Obs: PClipRect;
FreeClipRects: PClipRect;
PrivateReserve1: LongInt;
PrivateReserve2: LongInt;
Lock: TSignalSemaphore;
gs_Head: TMinList;
PrivateReserve3: SmallInt;
PrivateReserve4: APTR;
Flags: Word; // LIFLG_SUPPORTS_OFFSCREEN_LAYERS
fatten_count: ShortInt;
LockLayersCount: ShortInt;
PrivateReserve5: SmallInt;
BlankHook: APTR;
LayerInfo_extra: APTR;
end; end;
@ -275,12 +297,12 @@ type
NxtList: PCopList; NxtList: PCopList;
); );
1:( 1:(
VWaitPos: SmallInt; // vertical wait position
DestAddr: SmallInt; // destination Pointer DestAddr: SmallInt; // destination Pointer
DestData: SmallInt; // data to send
); );
2:( 2:(
VWaitPos: SmallInt; // vertical wait position
HWaitPos: SmallInt; // horizontal wait position HWaitPos: SmallInt; // horizontal wait position
DestData: SmallInt; // data to send
); );
end; end;
@ -288,7 +310,7 @@ type
PCprList = ^TCprList; PCprList = ^TCprList;
TCprList = record TCprList = record
Next: PCprList; Next: PCprList;
Start: Word; // start of copper list Start: PWord; // start of copper list
MaxCount: SmallInt; // number of long instructions MaxCount: SmallInt; // number of long instructions
end; end;
@ -1903,9 +1925,9 @@ type
VBCounter: LongWord; VBCounter: LongWord;
HashTableSemaphore: PSignalSemaphore; // Semaphore for hash_table access, private in fact HashTableSemaphore: PSignalSemaphore; // Semaphore for hash_table access, private in fact
case boolean of
ChunkyToPlanarPtr: PLongWord; // HWEmul[0]; true: ( ChunkyToPlanarPtr: PLongWord;); // HWEmul[0];
HWEmul: array[1..8] of PLongWord; false: (HWEmul: array[0..8] of PLongWord;);
end; end;
const const

View File

@ -546,7 +546,7 @@ type
PErrorString = ^TErrorString; PErrorString = ^TErrorString;
TErrorString = packed record TErrorString = packed record
estr_Nums: PLongInt; estr_Nums: PLongInt;
estr_Byte: PByte; estr_Strings: PByte;
end; end;
type type
@ -852,7 +852,7 @@ type
ap_Reserved : ShortInt; ap_Reserved : ShortInt;
ap_Strlen : SmallInt; ap_Strlen : SmallInt;
ap_Info : TFileInfoBlock; ap_Info : TFileInfoBlock;
ap_Buf : Array[0..0] of Char; ap_Buf : Array[0..1] of Char;
{ * an_Buf continues * } { * an_Buf continues * }
); );
end; end;

View File

@ -629,6 +629,13 @@ Type
dtd_AttrList : pTagItem; { Additional attributes } dtd_AttrList : pTagItem; { Additional attributes }
end; end;
// DTM_RELEASERAWINFO
PdtReleaseDrawInfo = ^TdtReleaseDrawInfo;
TdtReleaseDrawInfo = record
MethodID: PtrUInt;
dtr_Handle: APTR; // Handle as returned by DTM_OBTAINDRAWINFO
end;
{ DTM_WRITE } { DTM_WRITE }
pdtWrite = ^tdtWrite; pdtWrite = ^tdtWrite;
tdtWrite = record tdtWrite = record

View File

@ -1071,7 +1071,7 @@ type
lib_Node : TNode; lib_Node : TNode;
lib_Flags : Byte; lib_Flags : Byte;
lib_pad : Byte; lib_pad : Byte;
lib_MegSize : Word; lib_NegSize : Word;
lib_PosSize : Word; lib_PosSize : Word;
lib_Version : Word; lib_Version : Word;
lib_Revision: Word; lib_Revision: Word;
@ -1418,7 +1418,7 @@ type
PortList : TList; PortList : TList;
TaskReady : TList; TaskReady : TList;
TaskWait : TList; TaskWait : TList;
SoftInts : Array[0..5] Of TSoftIntList; SoftInts : Array[0..4] Of TSoftIntList;
LastAlert : Array[0..3] Of LongInt; LastAlert : Array[0..3] Of LongInt;
VBlankFrequency : Byte; VBlankFrequency : Byte;

View File

@ -1707,7 +1707,7 @@ type
ViewInitX, ViewInitX,
ViewInitY: SmallInt; // View initial offset values ViewInitY: SmallInt; // View initial offset values
EnableCLI: LongBool; // CLI availability switch EnableCLI: WordBool; // CLI availability switch
// printer configurations // printer configurations
PrinterType: Word; // printer type PrinterType: Word; // printer type
@ -2075,8 +2075,6 @@ type
cl_SubclassCount: LongWord; // number of direct subclasses cl_SubclassCount: LongWord; // number of direct subclasses
cl_ObjectCount: LongWord; // number of instances cl_ObjectCount: LongWord; // number of instances
cl_Flags: LongWord; // Flags (CLF_INLIST) cl_Flags: LongWord; // Flags (CLF_INLIST)
cl_ObjectSize: LongWord; // cl_InstOffset + cl_InstSize + SizeOf(_Object)
cl_MemoryPool: APTR;
end; end;
const const

View File

@ -140,8 +140,8 @@ const
type type
PUtilityBase = ^TUtilityName; PUtilityBase = ^TUtilityBase;
TUtilityName = packed record TUtilityBase = packed record
ub_LibNode : TLibrary; ub_LibNode : TLibrary;
ub_Language: Byte; ub_Language: Byte;
ub_Reserved: Byte; ub_Reserved: Byte;