123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- {
- This file is part of the Free Pascal run time library.
- utility definitions (V50) for MorphOS/PowerPC
- Copyright (c) 2002 The MorphOS Development Team, All Rights Reserved.
- Free Pascal conversion, first part
- Copyright (c) 2004 Karoly Balogh for Genesi S.a.r.l. <www.genesi.lu>
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- { * utility.library date defines
- *********************************************************************
- * }
- type
- PClockData = ^TClockData;
- TClockData = packed record
- sec : Word;
- min : Word;
- hour : Word;
- mday : Word;
- month: Word;
- year : Word;
- wday : Word;
- end;
- { * utility.library tagitem defines
- *********************************************************************
- * }
- {type
- Tag = Cardinal;
- type
- PPTagItem = ^PTagItem;
- PTagItem = ^TTagItem;
- TTagItem = packed record
- ti_Tag : Tag;
- ti_Data: Cardinal;
- end;}
- const
- TAG_DONE = 0;
- TAG_END = 0;
- TAG_IGNORE = 1;
- TAG_MORE = 2;
- TAG_SKIP = 3;
- {const
- TAG_USER = 1 Shl 31;}
- const
- TAGFILTER_AND = 0;
- TAGFILTER_NOT = 1;
- const
- MAP_REMOVE_NOT_FOUND = 0;
- MAP_KEEP_NOT_FOUND = 1;
- { * utility.library namespace defines
- *********************************************************************
- * }
- type
- PNamedObject = ^TNamedObject;
- TNamedObject = packed record
- no_Object: Pointer;
- end;
- const
- ANO_NameSpace = 4000;
- ANO_UserSpace = 4001;
- ANO_Priority = 4002;
- ANO_Flags = 4003;
- NSB_NODUPS = 0;
- NSB_CASE = 1;
- NSF_NODUPS = 1 Shl NSB_NODUPS;
- NSF_CASE = 1 Shl NSB_CASE;
- { * utility.library pack attributes and macros
- *********************************************************************
- * }
- const
- PSTB_SIGNED = 31;
- PSTB_UNPACK = 30;
- PSTB_PACK = 29;
- PSTB_EXISTS = 26;
- PSTF_SIGNED = (1 Shl PSTB_SIGNED);
- PSTF_UNPACK = (1 Shl PSTB_UNPACK);
- PSTF_PACK = (1 Shl PSTB_PACK);
- PSTF_EXISTS = (1 Shl PSTB_EXISTS);
- const
- PKCTRL_PACKUNPACK = $00000000;
- PKCTRL_PACKONLY = $40000000;
- PKCTRL_UNPACKONLY = $20000000;
- PKCTRL_BYTE = $80000000;
- PKCTRL_WORD = $88000000;
- PKCTRL_LONG = $90000000;
- PKCTRL_UBYTE = $00000000;
- PKCTRL_UWORD = $08000000;
- PKCTRL_ULONG = $10000000;
- PKCTRL_BIT = $18000000;
- PKCTRL_FLIPBIT = $98000000;
- {$WARNING FIX ME!!! Some macros to convert}
- {
- PK_BITNUM1(flg) ((flg) == 0x01 ? 0 : (flg) == 0x02 ? 1 : (flg) == 0x04 ? 2 : (flg) == 0x08 ? 3 : (flg) == 0x10 ? 4 : (flg) == 0x20 ? 5 : (flg) == 0x40 ? 6 : 7)
- PK_BITNUM2(flg) ((flg < 0x100 ? PK_BITNUM1(flg) : 8 + PK_BITNUM1(flg >> 8)))
- PK_BITNUM(flg) ((flg < 0x10000 ? PK_BITNUM2(flg) : 16 + PK_BITNUM2(flg >> 16)))
- PK_WORDOFFSET(flg) ((flg) < 0x100 ? 1 : 0)
- PK_LONGOFFSET(flg) ((flg) < 0x100 ? 3 : (flg) < 0x10000 ? 2 : (flg) < 0x1000000 ? 1 : 0)
- PK_CALCOFFSET(type,field) ((ULONG)(&((struct type *)0)->field))
- PACK_STARTTABLE(tagbase) (tagbase)
- PACK_NEWOFFSET(tagbase) (-1L),(tagbase)
- PACK_ENDTABLE 0
- PACK_ENTRY(tagbase,tag,type,field,control) (control | ((tag-tagbase) << 16L) | PK_CALCOFFSET(type,field))
- PACK_BYTEBIT(tagbase,tag,type,field,control,flags) (control | ((tag-tagbase) << 16L) | PK_CALCOFFSET(type,field) | (PK_BITNUM(flags) << 13L))
- PACK_WORDBIT(tagbase,tag,type,field,control,flags) (control | ((tag-tagbase) << 16L) | (PK_CALCOFFSET(type,field) + PK_WORDOFFSET(flags)) | ((PK_BITNUM(flags) & 7) << 13L))
- PACK_LONGBIT(tagbase,tag,type,field,control,flags) (control | ((tag-tagbase) << 16L) | (PK_CALCOFFSET(type,field) + PK_LONGOFFSET(flags)) | ((PK_BITNUM(flags) & 7) << 13L))
- }
|