A2osX/INC/A2osX.I.txt

684 lines
16 KiB
Plaintext
Raw Normal View History

NEW
2019-04-15 05:40:13 +00:00
AUTO 3,1
2015-03-14 21:48:35 +00:00
*--------------------------------------
2018-07-11 15:13:29 +00:00
ZPDRV .EQ $20 32 bytes
ZPLIB .EQ $40 32 bytes
*--------------------------------------
2019-04-15 05:40:13 +00:00
CORE.PSIndex .EQ $D0
CORE.PSCount .EQ $D1
2019-01-24 13:53:29 +00:00
2020-02-28 07:21:46 +00:00
pPS .EQ $D2
2018-01-15 06:50:44 +00:00
pEvent .EQ $D4
2021-02-11 22:08:22 +00:00
hHandler .EQ $D6
* .EQ $D7
2019-01-24 13:53:29 +00:00
*--------------------------------------
2020-02-14 16:32:52 +00:00
* PS Context : 40 bytes MAX
*--------------------------------------
2018-01-15 06:50:44 +00:00
pCode .EQ $D8
pData .EQ $DA
pStack .EQ $DC
2020-02-23 20:01:48 +00:00
pBase .EQ $DE 8 Bytes
2018-01-15 06:50:44 +00:00
ZPBIN .EQ $E0 32 bytes
2020-02-04 14:35:48 +00:00
PSCTX.SIZE .EQ $100-pCode
2016-09-02 15:14:24 +00:00
*--------------------------------------
2023-11-12 13:20:15 +00:00
*A2osX.ZCALL .EQ $0000
2020-07-29 13:10:11 +00:00
*--------------------------------------
2015-03-14 21:48:35 +00:00
* A2osX GLOBAL PAGE
2023-10-18 05:41:12 +00:00
* $1000->$1012 : Public Vectors
2015-03-14 21:48:35 +00:00
*--------------------------------------
2023-11-12 13:20:15 +00:00
A2osX.GP .EQ $0140
A2osX.SYSCALL .EQ A2osX.GP+00
A2osX.LIBCALL .EQ A2osX.GP+03
A2osX.ATKCALL .EQ A2osX.GP+06
A2osX.FPUCALL .EQ A2osX.GP+09
A2osX.BADCALL .EQ A2osX.GP+12
A2osX.SLEEP .EQ A2osX.GP+16
A2osX.SYSCALL2 .EQ A2osX.GP+19
*--------------------------------------
2023-11-12 13:20:15 +00:00
* Public Variables
2015-03-14 21:48:35 +00:00
*--------------------------------------
2023-11-12 13:20:15 +00:00
A2osX.SCRNDEVS .EQ A2osX.GP+22 0=console, 1-8=VT100, 9=GFX
A2osX.ASCREEN .EQ A2osX.GP+32 Active Screen
A2osX.FSID .EQ A2osX.GP+33
A2osX.KVER .EQ A2osX.GP+34 WORD
A2osX.IRQMode .EQ A2osX.GP+36
A2osX.ATLKSID .EQ A2osX.GP+37
A2osX.CPUTYPE .EQ A2osX.GP+38
A2osX.CPUSPEED .EQ A2osX.GP+39 WORD, (->255.99 Mhz)
*
A2osX.Z80SLOT .EQ A2osX.GP+41
A2osX.HWT .EQ A2osX.GP+42
A2osX.HWT.UNKNOWN .EQ 0
A2osX.HWT.IIe .EQ 1
A2osX.HWT.IIc .EQ 2
A2osX.HWT.IIgs .EQ 3
A2osX.HWSubT .EQ A2osX.GP+43
2019-10-21 14:25:37 +00:00
A2osX.HWSubT.Enh .EQ 1
A2osX.HWSubT.LCCard .EQ 2
2017-10-27 14:56:46 +00:00
2023-11-12 13:20:15 +00:00
A2osX.T16 .EQ A2osX.GP+44 WORD
A2osX.R16 .EQ A2osX.GP+46 WORD
2015-03-14 21:48:35 +00:00
*--------------------------------------
2023-11-12 13:20:15 +00:00
* Kernel Config Block
2016-06-07 06:10:18 +00:00
*--------------------------------------
2023-11-12 13:20:15 +00:00
A2osX.KCONFIG .EQ A2osX.GP+48
A2osX.HZ .EQ A2osX.KCONFIG+00 5/6 for 50/60Hz
A2osX.TTYDEVS .EQ A2osX.KCONFIG+01
A2osX.F .EQ A2osX.KCONFIG+02
2019-03-26 15:22:48 +00:00
A2osX.F.CHROOT .EQ %10000000 ChRooting to /RAMx
A2osX.F.PMODE .EQ %01000000 Preemptive Mode
2023-11-12 13:20:15 +00:00
*
A2osX.S .EQ A2osX.KCONFIG+09 7 slots
A2osX.S.Z80 .EQ $80
2023-04-23 15:20:27 +00:00
A2osX.S.VXD .EQ $81
A2osX.S.ATK .EQ $82
A2osX.S.D2 .EQ $C0
A2osX.S.BLK .EQ $C1
A2osX.S.SP .EQ $C2
A2osX.S.COM .EQ $E0
A2osX.S.XY .EQ $E1
A2osX.S.NIC .EQ $E2
2018-12-01 19:39:44 +00:00
A2osX.S.CLK .EQ $E3
2020-02-17 16:55:02 +00:00
A2osX.S.SND .EQ $E4
A2osX.S.DISABLE .EQ $FF
2016-06-07 06:10:18 +00:00
*--------------------------------------
2018-10-21 20:54:07 +00:00
* ProDOS ERROR CODES : $00->$5F
2019-04-09 15:47:33 +00:00
* Kernel ERROR CODES : $60->$7F
2018-10-21 20:54:07 +00:00
* Lib ERROR CODES : $80->$BF
2019-04-09 15:47:33 +00:00
*--------------------------------------
2019-05-12 20:45:11 +00:00
E.NODATA .EQ $FF No Data
*--------------------------------------
2020-05-17 17:34:32 +00:00
E.CSYN .EQ $C0
E.ESYN .EQ $C1
E.STACKERROR .EQ $C2
E.STKOVERFLOW .EQ $C3
E.NOWHILE .EQ $C4
E.NOFOR .EQ $C5
E.NOIF .EQ $C6
E.BADFTYPE .EQ $C7
E.FUNDEF .EQ $C8
E.UNEXPEOF .EQ $C9
2020-12-23 14:54:57 +00:00
E.NODO .EQ $CA
2022-01-30 21:47:08 +00:00
E.REDEF .EQ $CB
2021-04-29 11:56:34 +00:00
*
E.TMISMATCH .EQ $CF
2020-05-17 17:34:32 +00:00
*--------------------------------------
2019-04-09 15:47:33 +00:00
E.OOM .EQ $7F Out Of Memory Error
E.OOH .EQ $7E Out Of Handle Error
E.INVH .EQ $7D Invalid Handle
E.BUF .EQ $7C Buffer Overflow
E.BADPATH .EQ $7B
E.BADARG .EQ $7A
E.NSP .EQ $79 No Such Process Error
E.SYN .EQ $78 Syntax Error
E.ENVF .EQ $77 Env is Full
E.IBIN .EQ $76 Invalid BIN format
E.FTB .EQ $75 File Too Big Error
E.OOB .EQ $74 Out Of Bound
E.INUM .EQ $73 Invalid Numerical
2019-07-15 15:43:17 +00:00
E.STACK .EQ $72 Stack Error
2019-04-09 15:47:33 +00:00
E.NOKEY .EQ $6F Undefined Key
E.DUPKEY .EQ $6E Duplicate Key
2019-05-12 20:45:11 +00:00
E.EMPTYKEY .EQ $6D No Data for this key
2019-04-09 15:47:33 +00:00
E.DATALEN .EQ $6C Data Length Mismatch
E.IPWDDB .EQ $68 Invalid PWD database
E.IUSR .EQ $67 Invalid User
2020-07-08 15:26:23 +00:00
E.DUPUSR .EQ $66 Duplicate User
2018-10-21 20:54:07 +00:00
*--------------------------------------
2018-10-01 05:48:42 +00:00
* A2osX.SYSCALL Constants
*--------------------------------------
2018-11-10 14:30:09 +00:00
C.ETX .EQ 3 Ctrl-C
2018-11-05 16:28:40 +00:00
C.EOF .EQ 4 Ctrl-D
2018-10-04 06:13:44 +00:00
C.ENQ .EQ 5
2018-11-10 14:30:09 +00:00
C.BEL .EQ 7 Ctrl.G
2018-10-04 06:13:44 +00:00
C.BS .EQ 8
2018-11-10 14:30:09 +00:00
C.TAB .EQ 9
2018-10-04 06:13:44 +00:00
C.LF .EQ 10
2018-11-10 14:30:09 +00:00
C.VT .EQ 11
2018-10-04 06:13:44 +00:00
C.FF .EQ 12
C.CR .EQ 13
2019-05-15 15:30:46 +00:00
C.SO .EQ 14
C.SI .EQ 15
2021-02-17 16:15:43 +00:00
C.XON .EQ 17
C.XOFF .EQ 19
2018-10-04 06:13:44 +00:00
C.ESC .EQ 27
C.SPACE .EQ 32
C.DEL .EQ 127
*--------------------------------------
2018-11-20 15:54:49 +00:00
AF.LOCAL .EQ 0
AF.INET .EQ 2
AF.APPLETALK .EQ 4
2018-10-01 05:48:42 +00:00
*--------------------------------------
2018-11-20 15:54:49 +00:00
O.RDONLY .EQ %00000001
O.WRONLY .EQ %00000010
2018-11-20 15:54:49 +00:00
O.RDWR .EQ %00000011
O.TRUNC .EQ %00000100
O.APPEND .EQ %00001000
O.TEXT .EQ %01000000
O.CREATE .EQ %10000000
2018-10-01 05:48:42 +00:00
*--------------------------------------
2018-11-20 15:54:49 +00:00
SEEK.SET .EQ $00
2019-07-27 20:51:39 +00:00
SEEK.CUR .EQ $01
SEEK.END .EQ $02
2018-10-01 05:48:42 +00:00
*--------------------------------------
SL.. .EQ %10000000
SL._ .EQ %01000000
SL.NoCase .EQ %00000010
SL.EndDollar .EQ %00000001
*--------------------------------------
* A2osX.SYSCALL Functions Indexes
2020-02-16 20:45:16 +00:00
*--------------------------------------D1
2020-02-14 16:32:52 +00:00
* STAT
* .EQ $00
_ChMod .EQ $02
_FStat .EQ $04
_Stat .EQ $06
_MKDir .EQ $08
_MKNod .EQ $0A
_MKFIFO .EQ $0C
_Pipe .EQ $0E
2020-02-14 16:32:52 +00:00
* DIRENT
_OpenDir .EQ $10
_ReadDir .EQ $12
_CloseDir .EQ $14
2020-02-14 16:32:52 +00:00
* UNISTD
_Open .EQ $16
_Close .EQ $18
_Read .EQ $1A
_Write .EQ $1C
_ChOwn .EQ $1E
2020-02-14 16:32:52 +00:00
* STDIO
_FPutC .EQ $20
_PutChar .EQ $22
_GetC .EQ $24
_GetChar .EQ $26
_FPutS .EQ $28
_PutS .EQ $2A
_FGetS .EQ $2C
_UngetC .EQ $2E
_FOpen .EQ $30
_FClose .EQ $32
_FRead .EQ $34
_FWrite .EQ $36
_FFlush .EQ $38
_FSeek .EQ $3A
_FTell .EQ $3C
_FEOF .EQ $3E
2017-12-14 16:25:03 +00:00
_Remove .EQ $40
_Rename .EQ $42
_PrintF .EQ $44
_FPrintF .EQ $46
_SPrintF .EQ $48
_ScanF .EQ $4A
_FScanF .EQ $4C
_SScanF .EQ $4E
2020-02-16 20:45:16 +00:00
2020-12-15 13:23:22 +00:00
* .EQ $50
* .EQ $52
* .EQ $54
2020-02-14 16:32:52 +00:00
* .EQ $56
2022-03-18 17:59:39 +00:00
* PRODOS
_Online .EQ $58
_ChTyp .EQ $5A
_ChAux .EQ $5C
_SetAttr .EQ $5E
2020-02-17 16:55:02 +00:00
*--------------------------------------D2
2020-05-17 17:34:32 +00:00
* MOUNT
_Mount .EQ $60
_UMount .EQ $62
* STKOBJ
_LoadStkObj .EQ $64
_GetStkObj .EQ $66
2020-02-17 16:55:02 +00:00
* ARG
_Shift .EQ $68
_ArgV .EQ $6A
_ArgVDup .EQ $6C
2020-07-30 13:59:04 +00:00
* ERROR
_GetErrMsg .EQ $6E
2020-02-14 16:32:52 +00:00
* STDLIB
_AToF .EQ $70
_AToI .EQ $72
_AToL .EQ $74
_StrToF .EQ $76
_StrToL .EQ $78
_StrToUL .EQ $7A
_RealPath .EQ $7C
_Expand .EQ $7E
2020-02-14 16:32:52 +00:00
* STRING
_StrLen .EQ $80
_StrCpy .EQ $82
_StrCat .EQ $84
_StrDup .EQ $86
_StrUpr .EQ $88
_StrLwr .EQ $8A
_StrCmp .EQ $8C
_StrCaseCmp .EQ $8E
2020-02-16 20:45:16 +00:00
* DEV
_GetDevByName .EQ $90
2023-10-18 05:41:12 +00:00
* .EQ $92
_MKDev .EQ $94
_IOCTL .EQ $96
2020-02-14 16:32:52 +00:00
* BIN
_LoadLib .EQ $98
_UnloadLib .EQ $9A
_LoadDrv .EQ $9C
_InsDrv .EQ $9E
2020-02-14 16:32:52 +00:00
* PS
_ExecL .EQ $A0
_ExecV .EQ $A2
_Fork .EQ $A4
_Kill .EQ $A6
_LoadFile .EQ $A8
_LoadTxtFile .EQ $AA
_FileSearch .EQ $AC
_GetMemStat .EQ $AE
2020-02-16 20:45:16 +00:00
*--------------------------------------E0/AUX
2020-02-17 16:55:02 +00:00
* STRV / STRVX
_StrVNew .EQ $B0
_StrVSet .EQ $B2
_StrVGet .EQ $B4
_StrVFree .EQ $B6
2020-02-14 16:32:52 +00:00
* ENV / ENVX
_PutEnv .EQ $B8
_SetEnv .EQ $BA
_GetEnv .EQ $BC
_UnsetEnv .EQ $BE
2020-02-14 16:32:52 +00:00
* TIME / TIMEX
_Time .EQ $C0
_StrFTime .EQ $C2
_PTime2Time .EQ $C4
_CTime2Time .EQ $C6
2020-02-14 16:32:52 +00:00
* MD5 / MD5X
_MD5 .EQ $C8
_MD5Init .EQ $CA
_MD5Update .EQ $CC
_MD5Finalize .EQ $CE
2020-02-14 16:32:52 +00:00
* PWD / PWDX
_GetPWUID .EQ $D0
_GetPWName .EQ $D2
_PutPW .EQ $D4
_GetGRGID .EQ $D6
_GetGRName .EQ $D8
_PutGR .EQ $DA
_OpenSession .EQ $DC
_CloseSession .EQ $DE
2020-02-18 15:34:56 +00:00
* SLIST / SLISTX
_SListGetData .EQ $E0
_SListAddData .EQ $E2
_SListSetData .EQ $E4
_SListGetByID .EQ $E6
_SListNewKey .EQ $E8
_SListLookup .EQ $EA
_SListFree .EQ $EC
_SListNew .EQ $EE
2020-02-17 16:55:02 +00:00
*--------------------------------------F0
* MEM
_GetMem .EQ $F0
_Malloc .EQ $F0
_Realloc .EQ $F2
_GetMemPtr .EQ $F4
_FreeMem .EQ $F6
_Free .EQ $F8
2020-02-17 16:55:02 +00:00
_NewStkObj .EQ $FA
_GetStkObjPtr .EQ $FC
_FreeStkObj .EQ $FE
*--------------------------------------
* MEM STRUCT
*--------------------------------------
S.MEM.F .EQ 0
S.MEM.F.INUSE .EQ %10000000 (Internal Flag)
S.MEM.F.INIT0 .EQ %01000000 Fill with "0"
2019-11-15 14:40:48 +00:00
S.MEM.F.NOCROSS .EQ %00100000
2018-08-11 10:57:57 +00:00
S.MEM.F.ALIGN .EQ %00010000
S.MEM.F.FD .EQ %00001000
S.MEM.F.CODE .EQ %00000100
S.MEM.F.DATA .EQ %00000010
S.MEM.F.STACK .EQ %00000001
S.MEM.REFCNT .EQ 1
S.MEM.OWNERPID .EQ 2
S.MEM.BIN .EQ 3
S.MEM.PTR .EQ 4
S.MEM.LEN .EQ 6
*
S.MEM .EQ 8
*--------------------------------------
S.MSTAT.ML .EQ 0
S.MSTAT.MF .EQ 2
S.MSTAT.MH .EQ 4
S.MSTAT.MLast .EQ 6
*
S.MSTAT.XL .EQ 8
S.MSTAT.XF .EQ 10
S.MSTAT.XH .EQ 12
S.MSTAT.XLast .EQ 14
*
S.MSTAT.DL .EQ 16
S.MSTAT.DF .EQ 18
S.MSTAT.DH .EQ 20
S.MSTAT.DCount .EQ 22
*
S.MSTAT .EQ 24
*--------------------------------------
2018-06-20 15:02:09 +00:00
* IOCTL device API
*--------------------------------------
2018-06-20 15:02:09 +00:00
IOCTL.STATUS .EQ 0 X,Y = byte count returned
2018-06-18 06:22:50 +00:00
IOCTL.READBLOCK .EQ 2
IOCTL.WRITEBLOCK .EQ 4
IOCTL.FORMAT .EQ 6
IOCTL.CONTROL .EQ 8
IOCTL.INIT .EQ 10
IOCTL.OPEN .EQ 12
IOCTL.CLOSE .EQ 14
IOCTL.READ .EQ 16
IOCTL.WRITE .EQ 18
IOCTL.IRQ .EQ 20
2017-01-12 17:43:45 +00:00
*--------------------------------------
2018-06-19 15:08:22 +00:00
S.IOCTL.CNT .EQ 0
S.IOCTL.UNITNUM .EQ 1
S.IOCTL.BUFPTR .EQ 2
2021-05-04 17:31:21 +00:00
S.IOCTL.S .EQ 4 1 BYTE
S.IOCTL.S.STATUS .EQ 0
S.IOCTL.S.GETDCB .EQ 1
S.IOCTL.S.GETNL .EQ 2
S.IOCTL.S.GETDIB .EQ 3
S.IOCTL.S.EOF .EQ 4
S.IOCTL.C .EQ 4 1 BYTE
S.IOCTL.C.RESET .EQ 0
S.IOCTL.C.SETDCB .EQ 1
S.IOCTL.C.SETNL .EQ 2
S.IOCTL.C.IRQ .EQ 3
S.IOCTL.C.EJECT .EQ 4
2018-06-19 15:08:22 +00:00
S.IOCTL.BLKNUM .EQ 4 3 BYTES
S.IOCTL.BYTECNT .EQ 4 2 BYTES
S.IOCTL.ADDRPTR .EQ 6 3 BYTES
*
2018-07-20 14:10:10 +00:00
S.IOCTL .EQ 9
2018-06-19 15:08:22 +00:00
*--------------------------------------
2018-07-23 06:28:47 +00:00
S.DCB.T .EQ 0
2018-08-30 15:18:27 +00:00
S.DCB.T.NIC .EQ $81
S.DCB.T.COM .EQ $82
2018-12-19 07:12:58 +00:00
S.DCB.T.GFX .EQ $83
2020-02-17 16:55:02 +00:00
S.DCB.T.SND .EQ $84
2018-07-23 06:28:47 +00:00
*--------------------------------------
2018-07-19 15:33:55 +00:00
S.DIB.S .EQ 0
S.DIB.S.BLOCK .EQ %10000000
S.DIB.S.WRITE .EQ %01000000
S.DIB.S.READ .EQ %00100000
S.DIB.S.ONLINE .EQ %00010000
S.DIB.S.NOFMT .EQ %00001000
S.DIB.S.WENABL .EQ %00000100
S.DIB.S.IRQ .EQ %00000010
S.DIB.S.OPENED .EQ %00000001
2020-03-16 06:50:15 +00:00
S.DIB.SIZE .EQ 1 3 bytes
S.DIB.IDS .EQ 4 1 (LEN) + 16 MAX
2018-07-19 15:33:55 +00:00
S.DIB.T .EQ 21
2020-03-16 06:50:15 +00:00
S.DIB.T.RAM .EQ $00 Memory Expansion Card (RAM disk)
S.DIB.T.3.5 .EQ $01 3.5" disk
S.DIB.T.PROFILE .EQ $02 ProFile-type hard disk
S.DIB.T.GENSCSI .EQ $03 Generic SCSI
S.DIB.T.ROM .EQ $04 ROM disk
S.DIB.T.CDROM .EQ $05 SCSI CD-ROM
S.DIB.T.TAPE .EQ $06 SCSI tape or other SCSI sequential device
S.DIB.T.HD .EQ $07 SCSI hard disk
* .EQ $08 Reserved
*S.DIB.T.SPRINTER .EQ $09 SCSI printer
S.DIB.T.5.25 .EQ $0A 5-1/4" disk
* .EQ $0B Reserved
* .EQ $0C Reserved
*S.DIB.T.PRINTER .EQ $0D Printer
*S.DIB.T.CLOCK .EQ $0E Clock
*S.DIB.T.MODEM .EQ $0F Modem
2023-04-23 15:20:27 +00:00
S.DIB.T.D2 .EQ $10
S.DIB.T.BLK .EQ $11
2020-03-16 06:50:15 +00:00
S.DIB.T.NIC .EQ $12 Network Interface Card
S.DIB.T.XY .EQ $13 X,Y Pointing Device
2018-07-19 15:33:55 +00:00
S.DIB.T.CHAR .EQ $14
S.DIB.T.GFX .EQ $15
2020-02-17 16:55:02 +00:00
S.DIB.T.SND .EQ $16
2018-07-19 15:33:55 +00:00
S.DIB.ST .EQ 22
S.DIB.ST.EXT .EQ $80
S.DIB.ST.DSKSW .EQ $40
S.DIB.ST.NOREM .EQ $20
2020-03-16 06:50:15 +00:00
S.DIB.VERSION .EQ 23 word
*
2018-07-19 15:33:55 +00:00
S.DIB .EQ 25
*--------------------------------------
2018-07-10 15:33:13 +00:00
* S.FD
*--------------------------------------
2018-07-11 15:13:29 +00:00
S.FD.T .EQ 0
2018-08-28 15:28:34 +00:00
S.FD.T.REG .EQ 0
S.FD.T.DIR .EQ 2
S.FD.T.CDEV .EQ 4
S.FD.T.BDEV .EQ 6
S.FD.T.LNK .EQ 8
S.FD.T.DSOCK .EQ 10
S.FD.T.SSOCK .EQ 12
2018-10-02 15:52:30 +00:00
S.FD.T.PIPE .EQ 14
2021-05-04 17:31:21 +00:00
S.FD.PFT .EQ 1
2018-07-10 15:33:13 +00:00
*--------------------------------------
2018-07-11 15:13:29 +00:00
S.FD.REG.REF .EQ 2
2018-07-10 15:33:13 +00:00
S.FD.REG.IOBUF .EQ 3
2023-01-17 06:31:23 +00:00
S.FD.REG.FPOS .EQ 4 dword
2018-06-19 15:08:22 +00:00
*
S.FD.REG .EQ 16
2018-06-19 15:08:22 +00:00
*--------------------------------------
2018-07-10 15:33:13 +00:00
S.FD.DIR.EL .EQ 4
2018-07-11 15:13:29 +00:00
S.FD.DIR.EPB .EQ 5
2018-08-08 15:13:37 +00:00
S.FD.DIR.FC .EQ 6 word
2020-07-13 19:29:31 +00:00
S.FD.DIR.ACL .EQ 8 57.00
S.FD.DIR.UID .EQ 10
S.FD.DIR.GID .EQ 12
S.FD.DIR.MODE .EQ 14
2018-06-19 15:08:22 +00:00
*
S.FD.DIR .EQ 16
2018-06-19 15:08:22 +00:00
*--------------------------------------
2018-07-10 15:33:13 +00:00
S.FD.DEV.BUSID .EQ 2
S.FD.DEV.DEVID .EQ 3
2018-08-08 15:13:37 +00:00
S.FD.DEV.BUSPTR .EQ 4 word
S.FD.DEV.DRVPTR .EQ 6 word
2018-12-13 16:39:24 +00:00
S.FD.DEV.DCBPTR .EQ 8 word
S.FD.DEV.BUFPTR .EQ 10 word
2023-04-23 15:20:27 +00:00
S.FD.DEV.TYPE .EQ 12 Byte
S.FD.DEV.SIZE .EQ 13 3 Bytes
2018-06-19 15:08:22 +00:00
*
2023-04-23 15:20:27 +00:00
S.FD.DEV .EQ 16
2018-06-19 15:08:22 +00:00
*--------------------------------------
2018-07-10 15:33:13 +00:00
* S.FD.LNK
2018-06-19 15:08:22 +00:00
*--------------------------------------
2021-05-04 17:31:21 +00:00
S.FD.DSOCK.IOH .EQ 2
2018-11-19 07:43:00 +00:00
S.FD.DSOCK.OPEN .EQ 3
2018-10-08 15:41:00 +00:00
S.FD.DSOCK.CLOSE .EQ 4
2018-11-19 07:43:00 +00:00
S.FD.DSOCK.READ .EQ 5
2018-10-08 15:41:00 +00:00
S.FD.DSOCK.WRITE .EQ 6
2019-03-02 20:47:58 +00:00
S.FD.DSOCK.EOF .EQ 7
2018-06-19 15:08:22 +00:00
*
2018-10-08 15:41:00 +00:00
S.FD.DSOCK .EQ 8
*--------------------------------------
2021-05-04 17:31:21 +00:00
S.FD.SSOCK.IOH .EQ 2
2018-11-19 07:43:00 +00:00
S.FD.SSOCK.OPEN .EQ 3
2018-10-08 15:41:00 +00:00
S.FD.SSOCK.CLOSE .EQ 4
2018-11-19 07:43:00 +00:00
S.FD.SSOCK.READ .EQ 5
2018-10-08 15:41:00 +00:00
S.FD.SSOCK.WRITE .EQ 6
2019-03-01 14:36:20 +00:00
S.FD.SSOCK.EOF .EQ 7
2018-10-08 15:41:00 +00:00
*
S.FD.SSOCK .EQ 8
2018-07-10 15:33:13 +00:00
*--------------------------------------
2018-10-02 15:52:30 +00:00
S.FD.PIPE.S .EQ 2
S.FD.PIPE.hMem .EQ 3
S.FD.PIPE.Tail .EQ 4
2019-05-02 15:59:11 +00:00
S.FD.PIPE.Head .EQ 6
S.FD.PIPE.Free .EQ 8
S.FD.PIPE.Used .EQ 10
S.FD.PIPE.Size .EQ 12
2018-06-19 15:08:22 +00:00
*
2019-05-02 15:59:11 +00:00
S.FD.PIPE .EQ 14
2018-06-19 15:08:22 +00:00
*--------------------------------------
* PS STRUCT
*--------------------------------------
S.PS.F .EQ 0
2020-03-16 06:50:15 +00:00
S.PS.F.HOLD .EQ %10000000
S.PS.F.SLEEP .EQ %01000000
S.PS.F.CLOSEONX .EQ %00000100
S.PS.F.EVENT .EQ %00000010
S.PS.F.NOHUP .EQ %00000001
2019-07-22 16:28:44 +00:00
S.PS.S .EQ 1
2019-10-03 06:25:27 +00:00
S.PS.S.INIT .EQ 0
S.PS.S.RUN .EQ 2
S.PS.S.DOEVENT .EQ 4
S.PS.S.QUIT .EQ 6
2019-07-22 16:28:44 +00:00
S.PS.PPID .EQ 2
S.PS.PID .EQ 3
S.PS.CPID .EQ 4
S.PS.hCS .EQ 5
S.PS.hDS .EQ 6
S.PS.hSS .EQ 7
2020-02-03 16:31:18 +00:00
*S.PS.ENVPAGECNT .EQ 8
2019-07-22 16:28:44 +00:00
S.PS.hENV .EQ 9
S.PS.hCWD .EQ 10
S.PS.hStdIn .EQ 11
S.PS.hStdOut .EQ 12
S.PS.hStdErr .EQ 13
S.PS.RC .EQ 14
S.PS.ARGC .EQ 15
S.PS.hARGV .EQ 16
S.PS.A .EQ 17
S.PS.X .EQ 18
S.PS.Y .EQ 19
S.PS.P .EQ 20
S.PS.PC .EQ 21 WORD
2019-07-22 16:28:44 +00:00
2020-03-12 16:44:11 +00:00
S.PS.hSession .EQ 23
2020-02-04 14:35:48 +00:00
S.PS.ZP.CODE .EQ 24
S.PS.ZP.DATA .EQ 26
S.PS.ZP.STACK .EQ 28
S.PS.ZP.LOCAL .EQ 30
*
2020-02-04 14:35:48 +00:00
S.PS .EQ 64
2015-03-14 21:48:35 +00:00
*--------------------------------------
* LIB Function Indexes
*--------------------------------------
LIBMGR.LOAD .EQ 0
LIBMGR.UNLOAD .EQ 2
*--------------------------------------
* EVENT STRUCT
*--------------------------------------
S.EVT.F .EQ 0
2020-03-16 06:50:15 +00:00
S.EVT.F.T10TH .EQ %10000000
S.EVT.F.T1SEC .EQ %01000000
S.EVT.F.hMEM2 .EQ %00100000 Indicates That S.EVT.B2 is a hMem
S.EVT.F.hMEM1 .EQ %00010000 Indicates That S.EVT.B1 is a hMem
2016-03-13 21:50:43 +00:00
*S.EVT.hDEV .EQ 1
S.EVT.B1 .EQ 2
S.EVT.B2 .EQ 3
S.EVT.W1 .EQ 4
S.EVT.W2 .EQ 6
*
2016-03-13 21:50:43 +00:00
S.EVT .EQ 8
*--------------------------------------
S.TIME.CENTURY .EQ 0 19,20,21....
S.TIME.YEAR .EQ 1 0..99
S.TIME.MONTH .EQ 2 1..12
S.TIME.DAY .EQ 3 1..31
S.TIME.HOUR .EQ 4 0..23
S.TIME.MINUTE .EQ 5 0..59
S.TIME.SECOND .EQ 6 0..61
S.TIME.WDAY .EQ 7 1..7
*
S.TIME .EQ 8
*--------------------------------------
* S.STAT
2016-08-24 15:42:33 +00:00
*--------------------------------------
S.STAT.MODE .EQ 0
S.STAT.MODE.XO .EQ $0001
S.STAT.MODE.WO .EQ $0002
S.STAT.MODE.RO .EQ $0004
2020-07-13 19:29:31 +00:00
2019-04-15 05:40:13 +00:00
S.STAT.MODE.FO .EQ $0007
2020-07-13 19:29:31 +00:00
2016-08-24 15:42:33 +00:00
S.STAT.MODE.XG .EQ $0008
S.STAT.MODE.WG .EQ $0010
S.STAT.MODE.RG .EQ $0020
2020-07-13 19:29:31 +00:00
2019-04-15 05:40:13 +00:00
S.STAT.MODE.FG .EQ $0038
2020-07-13 19:29:31 +00:00
2016-08-24 15:42:33 +00:00
S.STAT.MODE.XU .EQ $0040
S.STAT.MODE.WU .EQ $0080
S.STAT.MODE.RU .EQ $0100
2020-07-13 19:29:31 +00:00
2019-04-15 05:40:13 +00:00
S.STAT.MODE.FU .EQ $01C0
*S.STAT.MODE.SST .EQ $0200
*S.STAT.MODE.SGID .EQ $0400
*S.STAT.MODE.SUID .EQ $0800
2020-03-16 06:50:15 +00:00
S.STAT.MODE.REG .EQ $0000
S.STAT.MODE.DIR .EQ $1000
2018-09-20 15:33:05 +00:00
S.STAT.MODE.CDEV .EQ $2000
S.STAT.MODE.BDEV .EQ $3000
*S.STAT.MODE.LNK .EQ $4000
2018-09-20 15:33:05 +00:00
S.STAT.MODE.DSOCK .EQ $5000
S.STAT.MODE.SSOCK .EQ $6000
S.STAT.MODE.FIFO .EQ $7000
2016-09-01 15:42:38 +00:00
S.STAT.DEV .EQ 2 WORD
S.STAT.UID .EQ 4 WORD
S.STAT.GID .EQ 6 WORD
S.STAT.INO .EQ 8 QWORD
S.STAT.NLINK .EQ 16 WORD
S.STAT.SIZE .EQ 18 DWORD
2019-11-25 16:45:21 +00:00
S.STAT.ATIME .EQ 22 S.TIME
S.STAT.MTIME .EQ 30 S.TIME
S.STAT.CTIME .EQ 38 S.TIME
S.STAT.BLOCKS .EQ 46 DWORD
S.STAT.BLKSIZE .EQ 50 WORD
S.STAT.P.TYPE .EQ 52 BYTE
S.STAT.P.AUXTYPE .EQ 53 WORD
S.STAT.P.SLOT .EQ 55 BYTE
S.STAT.P.DRIVE .EQ 56 BYTE
S.STAT.P.DEVSTATUS .EQ 57 BYTE
2018-11-17 17:17:13 +00:00
S.STAT.P.DEVCNFLCT .EQ 58 BYTE
S.STAT.P.DEVBLOCKS .EQ 59 WORD
S.STAT.FSID .EQ 61 BYTE
2020-07-29 15:29:54 +00:00
S.STAT.P.ACCESS .EQ 62 BYTE
2016-08-24 15:42:33 +00:00
*
S.STAT .EQ 64
2016-08-24 15:42:33 +00:00
*--------------------------------------
2018-11-17 17:17:13 +00:00
S.PW.NAME .EQ 0 16+1
S.PW.PASSWD .EQ 17 32+1
S.PW.UID .EQ 50
S.PW.GID .EQ 51
2019-04-09 15:47:33 +00:00
S.PW.GECOS .EQ 52 64+1
2019-04-12 15:41:05 +00:00
S.PW.DIR .EQ 117 64+1
2019-04-09 15:47:33 +00:00
S.PW.SHELL .EQ 182 64+1
2018-11-17 17:17:13 +00:00
*
2019-04-09 15:47:33 +00:00
S.PW .EQ 247
2018-11-17 17:17:13 +00:00
*--------------------------------------
2020-07-13 19:29:31 +00:00
S.GRP.NAME .EQ 0 16+1
S.GRP.GID .EQ 17
*
S.GRP .EQ 18
2020-02-17 16:55:02 +00:00
*--------------------------------------
2019-04-19 05:42:43 +00:00
S.SESSION.P .EQ 0
S.SESSION.P.ROOT .EQ %10000000
S.SESSION.P.SYSADMIN .EQ %01000000
S.SESSION.UID .EQ 1
S.SESSION.GID .EQ 2
2019-04-23 15:47:40 +00:00
S.SESSION.NAME .EQ 3
2019-04-19 05:42:43 +00:00
*S.SESSION.GECOS .EQ 0
*S.SESSION.DIR .EQ 0
*S.SESSION.SHELL .EQ 0
2019-04-15 15:29:07 +00:00
*
*--------------------------------------
2015-03-14 21:48:35 +00:00
MAN
SAVE inc/a2osx.i