NEW AUTO 3,1 *-------------------------------------- ZPDRV .EQ $20 32 bytes ZPLIB .EQ $40 32 bytes *-------------------------------------- CORE.PSIndex .EQ $D0 CORE.PSCount .EQ $D1 pPS .EQ $D2 pEvent .EQ $D4 hHandler .EQ $D6 * .EQ $D7 *-------------------------------------- * PS Context : 40 bytes MAX *-------------------------------------- pCode .EQ $D8 pData .EQ $DA pStack .EQ $DC pBase .EQ $DE 8 Bytes ZPBIN .EQ $E0 32 bytes PSCTX.SIZE .EQ $100-pCode *-------------------------------------- A2osX.ZCALL .EQ $0000 *-------------------------------------- * A2osX GLOBAL PAGE * $1000->$1012 : Public Vectors *-------------------------------------- A2osX.SYSCALL .EQ $1000 A2osX.LIBCALL .EQ $1003 A2osX.ATKCALL .EQ $1006 A2osX.FPUCALL .EQ $1009 A2osX.BADCALL .EQ $100C *-------------------------------------- A2osX.SLEEP .EQ $1010 *-------------------------------------- * $11D0->$11EF : Public Variables *-------------------------------------- A2osX.SCRNDEVS .EQ $11D0 0=console, 1-8=VT100, 9=GFX A2osX.ASCREEN .EQ $11DA Active Screen A2osX.KVER .EQ $11E0 A2osX.IRQMode .EQ $11E3 A2osX.ATLKSID .EQ $11E4 A2osX.FSID .EQ $11E5 A2osX.CPUTYPE .EQ $11E6 A2osX.CPUSPEED .EQ $11E7 WORD, (->255.99 Mhz) A2osX.Z80SLOT .EQ $11E9 A2osX.HWType .EQ $11EA A2osX.HWType.UNKNOWN .EQ 0 A2osX.HWType.IIe .EQ 1 A2osX.HWType.IIc .EQ 2 A2osX.HWType.IIgs .EQ 3 A2osX.HWSubT .EQ $11EB A2osX.HWSubT.Enh .EQ 1 A2osX.HWSubT.LCCard .EQ 2 A2osX.TIMER16 .EQ $11EC WORD A2osX.RANDOM16 .EQ $11EE WORD *-------------------------------------- * $11F0->$11FF : Kernel Config Block *-------------------------------------- A2osX.KCONFIG .EQ $11F0 A2osX.HZ .EQ $11F0 5/6 for 50/60Hz A2osX.TTYDEVS .EQ $11F1 A2osX.F .EQ $11F8 A2osX.F.CHROOT .EQ %10000000 ChRooting to /RAMx A2osX.F.PMODE .EQ %01000000 Pre-emptive Mode A2osX.S .EQ $11F8 $BEF9->$BEFF, 7 slots A2osX.S.Z80 .EQ $80 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 A2osX.S.CLK .EQ $E3 A2osX.S.SND .EQ $E4 A2osX.S.DISABLE .EQ $FF *-------------------------------------- * NON BLOCKING Entry point (From libs) *-------------------------------------- A2osX.SYSCALL2 .EQ $E200 *-------------------------------------- * ProDOS ERROR CODES : $00->$5F * Kernel ERROR CODES : $60->$7F * Lib ERROR CODES : $80->$BF *-------------------------------------- E.NODATA .EQ $FF No Data *-------------------------------------- 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 E.NODO .EQ $CA E.REDEF .EQ $CB * E.TMISMATCH .EQ $CF *-------------------------------------- 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 E.STACK .EQ $72 Stack Error E.NOKEY .EQ $6F Undefined Key E.DUPKEY .EQ $6E Duplicate Key E.EMPTYKEY .EQ $6D No Data for this key E.DATALEN .EQ $6C Data Length Mismatch E.IPWDDB .EQ $68 Invalid PWD database E.IUSR .EQ $67 Invalid User E.DUPUSR .EQ $66 Duplicate User *-------------------------------------- * 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.SO .EQ 14 C.SI .EQ 15 C.XON .EQ 17 C.XOFF .EQ 19 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 $01 SEEK.END .EQ $02 *-------------------------------------- SL.. .EQ %10000000 SL._ .EQ %01000000 SL.NoCase .EQ %00000010 SL.EndDollar .EQ %00000001 *-------------------------------------- * A2osX.SYSCALL Functions Indexes *--------------------------------------D1 * STAT * .EQ $00 SYS.ChMod .EQ $02 SYS.FStat .EQ $04 SYS.Stat .EQ $06 SYS.MKDir .EQ $08 SYS.MKNod .EQ $0A SYS.MKFIFO .EQ $0C SYS.Pipe .EQ $0E * DIRENT SYS.OpenDir .EQ $10 SYS.ReadDir .EQ $12 SYS.CloseDir .EQ $14 * UNISTD SYS.Open .EQ $16 SYS.Close .EQ $18 SYS.Read .EQ $1A SYS.Write .EQ $1C SYS.ChOwn .EQ $1E * STDIO 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 SYS.UngetC .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 SYS.PrintF .EQ $44 SYS.FPrintF .EQ $46 SYS.SPrintF .EQ $48 SYS.ScanF .EQ $4A SYS.FScanF .EQ $4C SYS.SScanF .EQ $4E * .EQ $50 * .EQ $52 * .EQ $54 * .EQ $56 * PRODOS SYS.Online .EQ $58 SYS.ChTyp .EQ $5A SYS.ChAux .EQ $5C SYS.SetAttr .EQ $5E *--------------------------------------D2 * MOUNT SYS.Mount .EQ $60 SYS.UMount .EQ $62 * STKOBJ SYS.LoadStkObj .EQ $64 SYS.GetStkObj .EQ $66 * ARG SYS.Shift .EQ $68 SYS.ArgV .EQ $6A SYS.ArgVDup .EQ $6C * ERROR SYS.GetErrMsg .EQ $6E * STDLIB SYS.AToF .EQ $70 SYS.AToI .EQ $72 SYS.AToL .EQ $74 SYS.StrToF .EQ $76 SYS.StrToL .EQ $78 SYS.StrToUL .EQ $7A SYS.RealPath .EQ $7C SYS.Expand .EQ $7E * STRING SYS.StrLen .EQ $80 SYS.StrCpy .EQ $82 SYS.StrCat .EQ $84 SYS.StrDup .EQ $86 SYS.StrUpr .EQ $88 SYS.StrLwr .EQ $8A SYS.StrCmp .EQ $8C SYS.StrCaseCmp .EQ $8E * DEV SYS.GetDevByName .EQ $90 * .EQ $92 SYS.MKDev .EQ $94 SYS.IOCTL .EQ $96 * BIN SYS.LoadLib .EQ $98 SYS.UnloadLib .EQ $9A SYS.LoadDrv .EQ $9C SYS.InsDrv .EQ $9E * PS SYS.ExecL .EQ $A0 SYS.ExecV .EQ $A2 SYS.Fork .EQ $A4 SYS.Kill .EQ $A6 SYS.LoadFile .EQ $A8 SYS.LoadTxtFile .EQ $AA SYS.FileSearch .EQ $AC SYS.GetMemStat .EQ $AE *--------------------------------------E0/AUX * STRV / STRVX SYS.StrVNew .EQ $B0 SYS.StrVSet .EQ $B2 SYS.StrVGet .EQ $B4 SYS.StrVFree .EQ $B6 * ENV / ENVX SYS.PutEnv .EQ $B8 SYS.SetEnv .EQ $BA SYS.GetEnv .EQ $BC SYS.UnsetEnv .EQ $BE * TIME / TIMEX SYS.Time .EQ $C0 SYS.StrFTime .EQ $C2 SYS.PTime2Time .EQ $C4 SYS.CTime2Time .EQ $C6 * MD5 / MD5X SYS.MD5 .EQ $C8 SYS.MD5Init .EQ $CA SYS.MD5Update .EQ $CC SYS.MD5Finalize .EQ $CE * PWD / PWDX SYS.GetPWUID .EQ $D0 SYS.GetPWName .EQ $D2 SYS.PutPW .EQ $D4 SYS.GetGRGID .EQ $D6 SYS.GetGRName .EQ $D8 SYS.PutGR .EQ $DA SYS.OpenSession .EQ $DC SYS.CloseSession .EQ $DE * SLIST / SLISTX SYS.SListGetData .EQ $E0 SYS.SListAddData .EQ $E2 SYS.SListSetData .EQ $E4 SYS.SListGetByID .EQ $E6 SYS.SListNewKey .EQ $E8 SYS.SListLookup .EQ $EA SYS.SListFree .EQ $EC SYS.SListNew .EQ $EE *--------------------------------------F0 * MEM SYS.GetMem .EQ $F0 SYS.Realloc .EQ $F2 SYS.GetMemPtr .EQ $F4 SYS.FreeMem .EQ $F6 SYS.Free .EQ $F8 SYS.NewStkObj .EQ $FA SYS.GetStkObjPtr .EQ $FC SYS.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" S.MEM.F.NOCROSS .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 *-------------------------------------- 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.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 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.DCB.T.GFX .EQ $83 S.DCB.T.SND .EQ $84 *-------------------------------------- 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.D2 .EQ $10 S.DIB.T.BLK .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 word * 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.PFT .EQ 1 *-------------------------------------- S.FD.REG.REF .EQ 2 S.FD.REG.IOBUF .EQ 3 S.FD.REG.FPOS .EQ 4 dword * S.FD.REG .EQ 16 *-------------------------------------- S.FD.DIR.EL .EQ 4 S.FD.DIR.EPB .EQ 5 S.FD.DIR.FC .EQ 6 word 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 * S.FD.DIR .EQ 16 *-------------------------------------- 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.DCBPTR .EQ 8 word S.FD.DEV.BUFPTR .EQ 10 word S.FD.DEV.TYPE .EQ 12 Byte S.FD.DEV.SIZE .EQ 13 3 Bytes * S.FD.DEV .EQ 16 *-------------------------------------- * S.FD.LNK *-------------------------------------- S.FD.DSOCK.IOH .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.EOF .EQ 7 * S.FD.DSOCK .EQ 8 *-------------------------------------- S.FD.SSOCK.IOH .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.EOF .EQ 7 * S.FD.SSOCK .EQ 8 *-------------------------------------- S.FD.PIPE.S .EQ 2 S.FD.PIPE.hMem .EQ 3 S.FD.PIPE.Tail .EQ 4 S.FD.PIPE.Head .EQ 6 S.FD.PIPE.Free .EQ 8 S.FD.PIPE.Used .EQ 10 S.FD.PIPE.Size .EQ 12 * S.FD.PIPE .EQ 14 *-------------------------------------- * PS STRUCT *-------------------------------------- S.PS.F .EQ 0 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 S.PS.S .EQ 1 S.PS.S.INIT .EQ 0 S.PS.S.RUN .EQ 2 S.PS.S.DOEVENT .EQ 4 S.PS.S.QUIT .EQ 6 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 *S.PS.ENVPAGECNT .EQ 8 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 S.PS.hSession .EQ 23 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 *-------------------------------------- * 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.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.FO .EQ $0007 S.STAT.MODE.XG .EQ $0008 S.STAT.MODE.WG .EQ $0010 S.STAT.MODE.RG .EQ $0020 S.STAT.MODE.FG .EQ $0038 S.STAT.MODE.XU .EQ $0040 S.STAT.MODE.WU .EQ $0080 S.STAT.MODE.RU .EQ $0100 S.STAT.MODE.FU .EQ $01C0 *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 WORD S.STAT.FSID .EQ 61 BYTE S.STAT.P.ACCESS .EQ 62 BYTE * S.STAT .EQ 64 *-------------------------------------- S.PW.NAME .EQ 0 16+1 S.PW.PASSWD .EQ 17 32+1 S.PW.UID .EQ 50 S.PW.GID .EQ 51 S.PW.GECOS .EQ 52 64+1 S.PW.DIR .EQ 117 64+1 S.PW.SHELL .EQ 182 64+1 * S.PW .EQ 247 *-------------------------------------- S.GRP.NAME .EQ 0 16+1 S.GRP.GID .EQ 17 * S.GRP .EQ 18 *-------------------------------------- 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 S.SESSION.NAME .EQ 3 *S.SESSION.GECOS .EQ 0 *S.SESSION.DIR .EQ 0 *S.SESSION.SHELL .EQ 0 * *-------------------------------------- MAN SAVE inc/a2osx.i