mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-23 07:35:19 +00:00
609 lines
14 KiB
Plaintext
609 lines
14 KiB
Plaintext
NEW
|
||
PREFIX /A2OSX.BUILD
|
||
AUTO 4,1
|
||
*--------------------------------------
|
||
K.VER .EQ $5C00 92.0
|
||
K.ENV.SIZE .EQ 256
|
||
K.PIPE.SIZE .EQ 256
|
||
*--------------------------------------
|
||
K.IRQDEV.MAX .EQ 4
|
||
K.DEV.MAX .EQ 32
|
||
K.NOD.MAX .EQ 32
|
||
K.PS.MAX .EQ 32
|
||
K.FLT.MAX .EQ 4
|
||
K.EVT.MAX .EQ 4
|
||
*--------------------------------------
|
||
ZPDRV .EQ $20 32 bytes
|
||
ZPLIB .EQ $40 32 bytes
|
||
*--------------------------------------
|
||
* PS Context : 48 bytes MAX
|
||
*--------------------------------------
|
||
pEvent .EQ $D4
|
||
pPs .EQ $D6
|
||
|
||
pCode .EQ $D8
|
||
pData .EQ $DA
|
||
pStack .EQ $DC
|
||
pLocal .EQ $DE 8 Bytes
|
||
|
||
ZPBIN .EQ $E0 32 bytes
|
||
ZPBIN.SIZE .EQ 40 8+32
|
||
*--------------------------------------
|
||
* A2osX GLOBAL PAGE
|
||
* $BD00->$BD0F : Public Vetors
|
||
*--------------------------------------
|
||
A2osX.SYSCALL .EQ $BD00
|
||
A2osX.LIBCALL .EQ $BD03
|
||
A2osX.ATKCALL .EQ $BD06
|
||
A2osX.ROMCALL .EQ $BD09
|
||
A2osX.BADCALL .EQ $BD0C
|
||
*--------------------------------------
|
||
A2osX.SLEEP .EQ $BD10
|
||
*--------------------------------------
|
||
* $BEE0->$BEEF : Public Variables
|
||
*--------------------------------------
|
||
A2osX.ASCREEN .EQ $BEE0 Active Screen
|
||
A2osX.SCRNDEVS .EQ $BEE1 -> $BEE4 (4 screen devices)
|
||
|
||
A2osX.CPUTYPE .EQ $BEE5
|
||
A2osX.CPUSPEED .EQ $BEE6 WORD, (->255.99 Mhz)
|
||
|
||
A2osX.Z80SLOT .EQ $BEE8
|
||
A2osX.Z80SPEED .EQ $BEE9 WORD
|
||
|
||
* .EQ $BEEB
|
||
|
||
A2osX.TIMER16 .EQ $BEEC WORD
|
||
A2osX.RANDOM16 .EQ $BEEE WORD
|
||
*--------------------------------------
|
||
* $BEF0->$BEFF : Kernel Config Block
|
||
*--------------------------------------
|
||
A2osX.KCONFIG .EQ $BEF0
|
||
A2osX.HZ .EQ $BEF0 5/6 for 50/60Hz
|
||
A2osX.F .EQ $BEF8
|
||
A2osX.F.CHROOT .EQ %10000000 ChRooting to /RAMx
|
||
A2osX.F.PMODE .EQ %01000000 Preemptive Mode
|
||
A2osX.S .EQ $BEF8 $BEF9->$BEFF, 7 slots
|
||
A2osX.S.Z80 .EQ $80
|
||
A2osX.S.VSDRIVE .EQ $81
|
||
A2osX.S.ATCARD .EQ $82
|
||
A2osX.S.DII .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
|
||
A2osX.S.DISABLE .EQ $FF
|
||
*--------------------------------------
|
||
* ProDOS ERROR CODES : $00->$5F
|
||
* Lib ERROR CODES : $80->$BF
|
||
* Kernel ERROR CODES : $C0->$FF
|
||
*--------------------------------------
|
||
E.OOM .EQ $FF Out Of Memory Error
|
||
E.OOH .EQ $FE Out Of Handle Error
|
||
E.INVH .EQ $FD Invalid Handle
|
||
E.BUF .EQ $FC Buffer Overflow
|
||
*--------------------------------------
|
||
E.NSP .EQ $DD No Such Process Error
|
||
*--------------------------------------
|
||
E.SYN .EQ $CF Syntax Error
|
||
E.ENVF .EQ $CE Env is Full
|
||
E.IBIN .EQ $CD Invalid BIN format
|
||
E.FTB .EQ $CC File Too Big Error
|
||
*--------------------------------------
|
||
* A2osX.SYSCALL Constants
|
||
*--------------------------------------
|
||
C.ETX .EQ 3 Ctrl-C
|
||
C.EOF .EQ 4 Ctrl-D
|
||
C.ENQ .EQ 5
|
||
C.BEL .EQ 7 Ctrl.G
|
||
C.BS .EQ 8
|
||
C.TAB .EQ 9
|
||
C.LF .EQ 10
|
||
C.VT .EQ 11
|
||
C.FF .EQ 12
|
||
C.CR .EQ 13
|
||
C.FS .EQ 21
|
||
C.ESC .EQ 27
|
||
C.SPACE .EQ 32
|
||
C.DEL .EQ 127
|
||
*--------------------------------------
|
||
AF.LOCAL .EQ 0
|
||
AF.INET .EQ 2
|
||
AF.APPLETALK .EQ 4
|
||
*--------------------------------------
|
||
O.RDONLY .EQ %00000001
|
||
O.WRONLY .EQ %00000010
|
||
O.RDWR .EQ %00000011
|
||
O.TRUNC .EQ %00000100
|
||
O.APPEND .EQ %00001000
|
||
O.TEXT .EQ %01000000
|
||
O.CREATE .EQ %10000000
|
||
*--------------------------------------
|
||
SEEK.SET .EQ $00
|
||
SEEK.CUR .EQ $02
|
||
SEEK.END .EQ $04
|
||
*--------------------------------------
|
||
* A2osX.SYSCALL Functions Indexes
|
||
*--------------------------------------
|
||
* .EQ $00
|
||
* .EQ $02
|
||
SYS.FStat .EQ $04
|
||
SYS.Stat .EQ $06
|
||
SYS.MKDir .EQ $08
|
||
SYS.MKNod .EQ $0A
|
||
SYS.MKFIFO .EQ $0C
|
||
* .EQ $0E
|
||
|
||
SYS.OpenDir .EQ $10
|
||
SYS.ReadDir .EQ $12
|
||
SYS.CloseDir .EQ $14
|
||
SYS.Open .EQ $16
|
||
SYS.Close .EQ $18
|
||
SYS.Read .EQ $1A
|
||
SYS.Write .EQ $1C
|
||
SYS.IOCTL .EQ $1E
|
||
|
||
SYS.FPutC .EQ $20
|
||
SYS.PutChar .EQ $22
|
||
SYS.GetC .EQ $24
|
||
SYS.GetChar .EQ $26
|
||
SYS.FPutS .EQ $28
|
||
SYS.PutS .EQ $2A
|
||
SYS.FGetS .EQ $2C
|
||
* .EQ $2E
|
||
|
||
SYS.FOpen .EQ $30
|
||
SYS.FClose .EQ $32
|
||
SYS.FRead .EQ $34
|
||
SYS.FWrite .EQ $36
|
||
SYS.FFlush .EQ $38
|
||
SYS.FSeek .EQ $3A
|
||
SYS.FTell .EQ $3C
|
||
SYS.FEOF .EQ $3E
|
||
|
||
SYS.Remove .EQ $40
|
||
SYS.Rename .EQ $42
|
||
* .EQ $44
|
||
* .EQ $46
|
||
|
||
SYS.GetDevByID .EQ $48
|
||
SYS.GetDevByName .EQ $4A
|
||
SYS.GetDevStatus .EQ $4C
|
||
SYS.MKDev .EQ $4E
|
||
|
||
* .EQ $50
|
||
SYS.SScanF .EQ $52
|
||
* .EQ $54
|
||
* .EQ $56
|
||
SYS.PrintF .EQ $58
|
||
SYS.SPrintF .EQ $5A
|
||
SYS.FPrintF .EQ $5C
|
||
* .EQ $5E
|
||
|
||
* .EQ $60
|
||
* .EQ $62
|
||
SYS.LoadFile .EQ $64
|
||
SYS.LoadTxtFile .EQ $66
|
||
|
||
SYS.ChTyp .EQ $68
|
||
SYS.ChMod .EQ $6A
|
||
SYS.ChOwn .EQ $6C
|
||
SYS.ChGrp .EQ $6E
|
||
|
||
SYS.AToF .EQ $70
|
||
SYS.AToI .EQ $72
|
||
SYS.AToL .EQ $74
|
||
SYS.StrToF .EQ $76
|
||
SYS.StrToL .EQ $78
|
||
* .EQ $7A
|
||
SYS.RealPath .EQ $7C
|
||
* .EQ $7E
|
||
*--------------------------------------
|
||
SYS.StrLen .EQ $80
|
||
SYS.StrCpy .EQ $82
|
||
SYS.StrCat .EQ $84
|
||
SYS.StrMatch .EQ $86
|
||
SYS.StrUpr .EQ $88
|
||
SYS.StrLwr .EQ $8A
|
||
SYS.StrCmp .EQ $8C
|
||
SYS.StrCaseCmp .EQ $8E
|
||
|
||
SYS.Time .EQ $90
|
||
SYS.CTime2Time .EQ $92
|
||
SYS.PTime2Time .EQ $94
|
||
SYS.StrFTime .EQ $96
|
||
|
||
SYS.LoadLib .EQ $98
|
||
SYS.UnloadLib .EQ $9A
|
||
SYS.LoadDrv .EQ $9C
|
||
SYS.InsDrv .EQ $9E
|
||
*--------------------------------------
|
||
SYS.ExecL .EQ $A0
|
||
SYS.ExecV .EQ $A2
|
||
* .EQ $A4
|
||
* .EQ $A6
|
||
|
||
* .EQ $A8
|
||
SYS.GetMemStat .EQ $AA
|
||
SYS.GetPSStatus .EQ $AC
|
||
SYS.GetPSStat .EQ $AE
|
||
|
||
SYS.Args2ArgV .EQ $B0
|
||
SYS.ArgV .EQ $B2
|
||
SYS.ExpandStr .EQ $B4
|
||
SYS.FileSearch .EQ $B6
|
||
|
||
SYS.PutEnv .EQ $B8
|
||
SYS.SetEnv .EQ $BA
|
||
SYS.GetEnv .EQ $BC
|
||
SYS.UnsetEnv .EQ $BE
|
||
*--------------------------------------
|
||
SYS.FAdd .EQ $C0
|
||
SYS.FSub .EQ $C2
|
||
SYS.FMult .EQ $C4
|
||
SYS.FDiv .EQ $C6
|
||
|
||
SYS.FPwr .EQ $C8
|
||
* .EQ $CA
|
||
SYS.LRIntF .EQ $CC
|
||
SYS.Float .EQ $CE
|
||
|
||
SYS.Log .EQ $D0
|
||
SYS.Sqr .EQ $D2
|
||
SYS.Exp .EQ $D4
|
||
SYS.Cos .EQ $D6
|
||
|
||
SYS.Sin .EQ $D8
|
||
SYS.Tan .EQ $DA
|
||
SYS.ATan .EQ $DC
|
||
* .EQ $DF
|
||
*--------------------------------------
|
||
SYS.GetStkObjProp .EQ $E0
|
||
SYS.FreeMem .EQ $E2
|
||
SYS.GetMemPtr .EQ $E4
|
||
SYS.GetMemByID .EQ $E6
|
||
|
||
SYS.GetMem .EQ $E8
|
||
SYS.GetMem0 .EQ $EA
|
||
SYS.NewStr .EQ $EC
|
||
SYS.SListAdd .EQ $EE
|
||
|
||
SYS.SListLookup .EQ $F0
|
||
SYS.SListGetByID .EQ $F2
|
||
SYS.SListUpdateByID .EQ $F4
|
||
SYS.SListNew .EQ $F6
|
||
|
||
SYS.SListFree .EQ $F8
|
||
SYS.LoadStkObj .EQ $FA
|
||
SYS.NewStkObj .EQ $FC
|
||
SYS.FreeStkObj .EQ $FE
|
||
*--------------------------------------
|
||
SYS.Kernel.JMP .EQ $E000
|
||
SYS.GuiOSD.JMP .EQ $E200
|
||
*--------------------------------------
|
||
* MEM STRUCT
|
||
*--------------------------------------
|
||
S.MEM.F .EQ 0
|
||
S.MEM.F.INUSE .EQ %10000000 (Internal Flag)
|
||
S.MEM.F.INIT0 .EQ %01000000 Fill with "0"
|
||
S.MEM.F.NOMOVE .EQ %00100000
|
||
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
|
||
*--------------------------------------
|
||
* IOCTL device API
|
||
*--------------------------------------
|
||
DEVID.NULL .EQ 0
|
||
DEVID.SYS .EQ 1
|
||
*--------------------------------------
|
||
IOCTL.STATUS .EQ 0 X,Y = byte count returned
|
||
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
|
||
*--------------------------------------
|
||
S.IOCTL.CNT .EQ 0
|
||
S.IOCTL.UNITNUM .EQ 1
|
||
S.IOCTL.BUFPTR .EQ 2
|
||
S.IOCTL.STATCODE .EQ 4 1 BYTE
|
||
S.IOCTL.STATCODE.STATUS .EQ 0
|
||
S.IOCTL.STATCODE.GETDCB .EQ 1
|
||
S.IOCTL.STATCODE.GETNL .EQ 2
|
||
S.IOCTL.STATCODE.GETDIB .EQ 3
|
||
S.IOCTL.CTRLCODE .EQ 4 1 BYTE
|
||
S.IOCTL.CTRLCODE.RESET .EQ 0
|
||
S.IOCTL.CTRLCODE.SETDCB .EQ 1
|
||
S.IOCTL.CTRLCODE.SETNL .EQ 2
|
||
S.IOCTL.CTRLCODE.IRQ .EQ 3
|
||
S.IOCTL.CTRLCODE.EJECT .EQ 4
|
||
S.IOCTL.BLKNUM .EQ 4 3 BYTES
|
||
S.IOCTL.BYTECNT .EQ 4 2 BYTES
|
||
S.IOCTL.ADDRPTR .EQ 6 3 BYTES
|
||
*
|
||
S.IOCTL .EQ 9
|
||
*--------------------------------------
|
||
S.DCB.T .EQ 0
|
||
S.DCB.T.NIC .EQ $81
|
||
S.DCB.T.COM .EQ $82
|
||
*--------------------------------------
|
||
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
|
||
S.DIB.SIZE .EQ 1 3 bytes
|
||
S.DIB.IDS .EQ 4 1 (LEN) + 16 MAX
|
||
S.DIB.T .EQ 21
|
||
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
|
||
S.DIB.T.DISKII .EQ $10
|
||
S.DIB.T.PRODOS .EQ $11
|
||
S.DIB.T.NIC .EQ $12 Network Interface Card
|
||
S.DIB.T.XY .EQ $13 X,Y Pointing Device
|
||
S.DIB.T.CHAR .EQ $14
|
||
S.DIB.T.GFX .EQ $15
|
||
S.DIB.T.SND .EQ $16
|
||
S.DIB.ST .EQ 22
|
||
S.DIB.ST.EXT .EQ $80
|
||
S.DIB.ST.DSKSW .EQ $40
|
||
S.DIB.ST.NOREM .EQ $20
|
||
S.DIB.VERSION .EQ 23
|
||
*
|
||
S.DIB .EQ 25
|
||
*--------------------------------------
|
||
* S.FD
|
||
*--------------------------------------
|
||
S.FD.T .EQ 0
|
||
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
|
||
S.FD.T.PIPE .EQ 14
|
||
S.FD.HANDLER .EQ 1 0=KRNL,!0=hLIB (LIBNFS,LIBTCPIP.....)
|
||
*--------------------------------------
|
||
S.FD.REG.REF .EQ 2
|
||
S.FD.REG.IOBUF .EQ 3
|
||
*
|
||
S.FD.REG .EQ 4
|
||
*--------------------------------------
|
||
S.FD.DIR.REF .EQ 2
|
||
S.FD.DIR.IOBUF .EQ 3
|
||
S.FD.DIR.EL .EQ 4
|
||
S.FD.DIR.EPB .EQ 5
|
||
S.FD.DIR.FC .EQ 6 word
|
||
*
|
||
S.FD.DIR .EQ 8
|
||
*--------------------------------------
|
||
S.FD.DEV.BUSID .EQ 2
|
||
S.FD.DEV.DEVID .EQ 3
|
||
S.FD.DEV.BUSPTR .EQ 4 word
|
||
S.FD.DEV.DRVPTR .EQ 6 word
|
||
S.FD.DEV.NAME .EQ 8 C-String
|
||
*
|
||
S.FD.DEV .EQ 16
|
||
*--------------------------------------
|
||
* S.FD.LNK
|
||
*--------------------------------------
|
||
S.FD.DSOCK.HSKT .EQ 2
|
||
S.FD.DSOCK.OPEN .EQ 3
|
||
S.FD.DSOCK.CLOSE .EQ 4
|
||
S.FD.DSOCK.READ .EQ 5
|
||
S.FD.DSOCK.WRITE .EQ 6
|
||
S.FD.DSOCK.STATUS .EQ 7
|
||
*
|
||
S.FD.DSOCK .EQ 8
|
||
*--------------------------------------
|
||
S.FD.SSOCK.HSKT .EQ 2
|
||
S.FD.SSOCK.OPEN .EQ 3
|
||
S.FD.SSOCK.CLOSE .EQ 4
|
||
S.FD.SSOCK.READ .EQ 5
|
||
S.FD.SSOCK.WRITE .EQ 6
|
||
S.FD.SSOCK.STATUS .EQ 7
|
||
*
|
||
S.FD.SSOCK .EQ 8
|
||
*--------------------------------------
|
||
S.FD.PIPE.S .EQ 2
|
||
S.FD.PIPE.S.ROpened .EQ %00000001
|
||
S.FD.PIPE.S.RClosed .EQ %00000010
|
||
S.FD.PIPE.S.WOpened .EQ %00000100
|
||
S.FD.PIPE.S.WClosed .EQ %00001000
|
||
S.FD.PIPE.hMem .EQ 3
|
||
S.FD.PIPE.Tail .EQ 4
|
||
S.FD.PIPE.Head .EQ 6
|
||
*
|
||
S.FD.PIPE .EQ 8
|
||
*--------------------------------------
|
||
* PS STRUCT
|
||
*--------------------------------------
|
||
S.PS.F .EQ 0
|
||
S.PS.F.INIT .EQ %10000000
|
||
S.PS.F.RUN .EQ %01000000
|
||
S.PS.F.QUIT .EQ %00100000
|
||
S.PS.F.DOEVENT .EQ %00010000
|
||
S.PS.F.HOLD .EQ %00001000
|
||
S.PS.F.SLEEP .EQ %00000100
|
||
S.PS.F.EVENT .EQ %00000010
|
||
S.PS.F.DUPENV .EQ %00000001
|
||
S.PS.PPID .EQ 1
|
||
S.PS.PID .EQ 2
|
||
S.PS.CPID .EQ 3
|
||
S.PS.hCS .EQ 4
|
||
S.PS.hDS .EQ 5
|
||
S.PS.hSS .EQ 6
|
||
S.PS.UID .EQ 7
|
||
S.PS.hENV .EQ 8
|
||
S.PS.hPREFIX .EQ 9
|
||
S.PS.hStdIn .EQ 10
|
||
S.PS.hStdOut .EQ 11
|
||
S.PS.hStdErr .EQ 12
|
||
S.PS.RC .EQ 13
|
||
S.PS.ARGC .EQ 14
|
||
S.PS.hARGV .EQ 15
|
||
|
||
* .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
|
||
S.PS.ZP.SIZE .EQ 23
|
||
|
||
S.PS.ZP .EQ 24
|
||
|
||
S.PS.ZP.CODE .EQ 24
|
||
S.PS.ZP.DATA .EQ 26
|
||
S.PS.ZP.STACK .EQ 28
|
||
S.PS.ZP.LOCAL .EQ 30
|
||
*
|
||
S.PS .EQ 64
|
||
*--------------------------------------
|
||
* LIB Function Indexes
|
||
*--------------------------------------
|
||
LIBMGR.LOAD .EQ 0
|
||
LIBMGR.UNLOAD .EQ 2
|
||
*--------------------------------------
|
||
* Task Function Indexes
|
||
*--------------------------------------
|
||
PS.INIT .EQ 0
|
||
PS.RUN .EQ 2
|
||
PS.DOEVENT .EQ 4
|
||
PS.QUIT .EQ 6
|
||
PS.RESUME .EQ 8
|
||
*--------------------------------------
|
||
* EVENT STRUCT
|
||
*--------------------------------------
|
||
S.EVT.F .EQ 0
|
||
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
|
||
|
||
*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
|
||
*
|
||
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.PFT.PATH .EQ 0 /dev, /mnt
|
||
S.PFT.HANDLER .EQ 16
|
||
S.PFT.DATA .EQ 24 8 bytes OPAQUE data for handler
|
||
*
|
||
S.PFT .EQ 32
|
||
*--------------------------------------
|
||
* S.STAT
|
||
*--------------------------------------
|
||
S.STAT.MODE .EQ 0
|
||
S.STAT.MODE.XO .EQ $0001
|
||
S.STAT.MODE.WO .EQ $0002
|
||
S.STAT.MODE.RO .EQ $0004
|
||
S.STAT.MODE.XG .EQ $0008
|
||
S.STAT.MODE.WG .EQ $0010
|
||
S.STAT.MODE.RG .EQ $0020
|
||
S.STAT.MODE.XU .EQ $0040
|
||
S.STAT.MODE.WU .EQ $0080
|
||
S.STAT.MODE.RU .EQ $0100
|
||
*S.STAT.MODE.SST .EQ $0200
|
||
*S.STAT.MODE.SGID .EQ $0400
|
||
*S.STAT.MODE.SUID .EQ $0800
|
||
|
||
S.STAT.MODE.REG .EQ $0000
|
||
S.STAT.MODE.DIR .EQ $1000
|
||
S.STAT.MODE.CDEV .EQ $2000
|
||
S.STAT.MODE.BDEV .EQ $3000
|
||
*S.STAT.MODE.LNK .EQ $4000
|
||
S.STAT.MODE.DSOCK .EQ $5000
|
||
S.STAT.MODE.SSOCK .EQ $6000
|
||
S.STAT.MODE.FIFO .EQ $7000
|
||
|
||
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
|
||
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
|
||
*S.STAT.P.DEVCNFLCT .EQ 58 BYTE
|
||
S.STAT.P.DEVBLOCKS .EQ 59 BYTE
|
||
*
|
||
S.STAT .EQ 64
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE INC/A2OSX.I
|