A2osX/INC/A2osX.API.I.txt
2015-06-25 08:24:53 +02:00

270 lines
7.3 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
************ A2osX API ****************
*--------------------------------------
* A2osX.SYSCALL Functions Indexes
*--------------------------------------
SYS.GetMem .EQ $00
SYS.FreeMemA .EQ $02
SYS.GetMemPtrA .EQ $04
SYS.GetMemByIDA .EQ $06
SYS.GetMemByNameA .EQ $08
SYS.GetMemByNameYA .EQ $0A
*--------------------------------------
SYS.NewPStrYA .EQ $10
SYS.PStrCpyA .EQ $12
SYS.PStrCat .EQ $14
SYS.PStrCmp .EQ $16
SYS.PStrGetTkn .EQ $18
SYS.GetPStrIndex .EQ $1A
*--------------------------------------
SYS.LoadBinA .EQ $20
SYS.LoadLibYA .EQ $22
SYS.UnloadLibA .EQ $24
SYS.LoadDrvA .EQ $26
*--------------------------------------
SYS.ExpandPStrA .EQ $30
SYS.ExpandPStrYA .EQ $32
SYS.GetEnvVarH .EQ $34
SYS.GetEnvVarP .EQ $36
SYS.SetEnvVarH .EQ $38
SYS.SetEnvVarP .EQ $3A
*--------------------------------------
SYS.MLICreateFile .EQ $40
SYS.MLICreateDirA .EQ $42
SYS.MLICreateDirYA .EQ $44
SYS.MLIDestroyA .EQ $46
SYS.MLIDestroyYA .EQ $48
SYS.MLIRename .EQ $4A
SYS.MLISetFileInfo .EQ $4C
SYS.MLIGetFileInfoA .EQ $4E
SYS.MLIGetFileInfoYA .EQ $50
SYS.MLIOnline .EQ $52
SYS.MLISetPrefixA .EQ $54
SYS.MLISetPrefixYA .EQ $56
SYS.MLIGetPrefixA .EQ $58
SYS.MLIGetPrefixYA .EQ $5A
SYS.MLIOpenA .EQ $5C
SYS.MLIOpenYA .EQ $5E
SYS.MLINewLine .EQ $60
SYS.MLIRead .EQ $62
SYS.MLIWrite .EQ $64
SYS.MLICloseA .EQ $66
SYS.MLIFlushA .EQ $68
SYS.MLISetMark .EQ $6A
SYS.MLIGetMarkA .EQ $6A
SYS.MLISetEOF .EQ $6C
SYS.MLIGetEOFA .EQ $70
SYS.MLISetBuf .EQ $72
SYS.MLIGetBuf .EQ $74
SYS.MLIGetTime .EQ $76
SYS.MLIAllocIRQ .EQ $78
SYS.MLIDeallocIRQ .EQ $7A
SYS.MLIReadBlock .EQ $7C
SYS.MLIWriteBlock .EQ $7E
*--------------------------------------
SYS.GetDevByIDA .EQ $80
SYS.GetDevByNameA .EQ $82
SYS.GetDevByNameYA .EQ $84
*--------------------------------------
SYS.ExecProcessA .EQ $90
SYS.CreateProcessA .EQ $92
SYS.GetPSByIDA .EQ $98
*--------------------------------------
SYS.CheckPrefixA .EQ $A0
SYS.FileSearch .EQ $A2
SYS.LoadFileA .EQ $A4
SYS.ListDirInitA .EQ $A6
SYS.ListDirNextA .EQ $A8
SYS.ListDirCloseA .EQ $AA
*--------------------------------------
SYS.AddNetCfg .EQ $B0
SYS.SetNetCfg .EQ $B2
SYS.GetNetCfgA .EQ $B4
SYS.ClrNetCfgA .EQ $B6
*--------------------------------------
SYS.ScreenSelectA .EQ $C0
SYS.SysScrPPSTRA .EQ $C4
SYS.SysScrPPSTRYA .EQ $C6
*--------------------------------------
* ERROR CODES
*--------------------------------------
MEMMGR.ERROOM .EQ $FF Out Of Memory Error
MEMMGR.ERROOH .EQ $FE Out Of Handle Error
*--------------------------------------
DEVMGR.ERROOM .EQ $EF Out Of Memory Error
DEVMGR.ERROOH .EQ $EE Out Of Handle Error
DEVMGR.ERRNICL .EQ $ED Invalid Command Line
DEVMGR.ERRNOHW .EQ $EC No Hardware
DEVMGR.ERRDNF .EQ $EB Device Not Found Error
*--------------------------------------
TSKMGR.ERROOH .EQ $DF Out Of Handle Error
TSKMGR.ERRNSP .EQ $DD No Such Process Error
*--------------------------------------
SYSMGR.ERRSYN .EQ $CF Syntax Error
SYSMGR.ERRENVF .EQ $CE Env is Full
SYSMGR.ERRIDIR .EQ $CD Invalid Directory
SYSMGR.ERRFTB .EQ $CC File Too Big Error
SYSMGR.ERRFNF .EQ $CB File Not Found Error
*--------------------------------------
* MEM STRUCT
*--------------------------------------
S.MEM.F .EQ 0
S.MEM.F.AUX .EQ %10000000 Request Stock Object
S.MEM.F.INIT0 .EQ %01000000 Fill with "0"
S.MEM.F.CODE .EQ %00100000
S.MEM.F.NOMOVE .EQ %00010000
S.MEM.F.ALIGN .EQ %00001000
S.MEM.F.INUSE .EQ %10000000 (Internal Flag)
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.SIZE .EQ 8
*--------------------------------------
* BIN STRUCT
*--------------------------------------
S.BIN.CODE .EQ 0
*--------------------------------------
* DEV STRUCT
*--------------------------------------
S.DEV.CODE .EQ 0
S.DEV.JMP .EQ 2
S.DEV.F .EQ 4
S.DEV.F.INUSE .EQ %10000000
S.DEV.F.BUSY .EQ %01000000
S.DEV.F.SHARE .EQ %00100000 Device is shareable
S.DEV.F.IRQ .EQ %00010000 Device is irq driven
S.DEV.F.EVENT .EQ %00001000 Device is event driven
S.DEV.F.COUT .EQ %00000100 Device supports Char OUT
S.DEV.F.BLOCK .EQ %00000010
S.DEV.F.CHAR .EQ %00000001
S.DEV.NAME .EQ 5 5 Bytes : LEN+NUL KBD CON COMx LPTx ETHx
*
S.DEV.SIZE .EQ 16
*--------------------------------------
S.DEVINFO.TYPE .EQ 0
S.DEVINFO.TYPE.CHAR .EQ %00000001
S.DEVINFO.TYPE.XY .EQ %00000010
S.DEVINFO.TYPE.NET .EQ %00000011
S.DEVINFO.TYPE.GFX .EQ %00000100
*--------------------------------------
* Generic Driver Functions
*--------------------------------------
DEVMGR.OPEN .EQ 0
DEVMGR.GETEVENT .EQ 2
DEVMGR.COUT .EQ 4
DEVMGR.CLOSE .EQ 6
DEVMGR.GETINFO .EQ 8
DEVMGR.IRQ .EQ 10
*--------------------------------------
* 'XY' Class Driver Functions
*--------------------------------------
DEVMGR.XY.SETPOS .EQ 12
*--------------------------------------
* 'NET' Class Driver Functions
*--------------------------------------
DEVMGR.NET.SEND .EQ 12
*--------------------------------------
* 'GFX' Class Driver Functions
*--------------------------------------
DEVMGR.GFX.SETPIXEL .EQ 12
DEVMGR.GFX.GETPIXEL .EQ 14
DEVMGR.GFX.HLINE .EQ 16
DEVMGR.GFX.VLINE .EQ 18
DEVMGR.GFX.BITBLT .EQ 20
*--------------------------------------
* PS STRUCT
*--------------------------------------
S.PS.F .EQ 0
S.PS.F.INUSE .EQ %10000000
S.PS.F.HOLD .EQ %01000000
S.PS.F.EVENT .EQ %00100000
S.PS.ID .EQ 1
S.PS.PID .EQ 2
S.PS.hCS .EQ 3
S.PS.hDS .EQ 4
S.PS.hPREFIX .EQ 5
S.PS.hENV .EQ 6
S.PS.hCMD .EQ 7
S.PS.hARGS .EQ 8
S.PS.hINDEV .EQ 9
S.PS.hOUTDEV .EQ 10
S.PS.hERRDEV .EQ 11
S.PS.CID .EQ 12
S.PS.LASTERROR .EQ 13
S.PS.PC .EQ 14
*
S.PS.SIZE .EQ 16
*--------------------------------------
* EVENT STRUCT
*--------------------------------------
S.EVT.F .EQ 0
S.EVT.F.SYS .EQ %10000000
S.EVT.F.WND .EQ %01000000
S.EVT.F.hMEM2 .EQ %00100000 Indicates That S.EVT.DATAHI is a hMem
S.EVT.F.hMEM1 .EQ %00010000 Indicates That S.EVT.DATALO is a hMem
S.EVT.F.TIMER .EQ %00001000
S.EVT.F.NET .EQ %00000100
S.EVT.F.MOUSE .EQ %00000010
S.EVT.F.KEY .EQ %00000001
S.EVT.hDEV .EQ 1
S.EVT.DATA .EQ 2
S.EVT.DATALO .EQ 2
S.EVT.DATAHI .EQ 3
S.EVT.DATAW1 .EQ 4
S.EVT.DATAW2 .EQ 6
*
S.EVT.SIZE .EQ 8
*--------------------------------------
* S.LISTDIR STRUCT
*--------------------------------------
S.LISTDIR.hONLINE .EQ 0
S.LISTDIR.ONLINEPTR .EQ 1
S.LISTDIR.REFNUM .EQ 2 ref_num file
S.LISTDIR.hIOBUF .EQ 3 hMem to ProDOS IO buffer
S.LISTDIR.hREADBUF .EQ 4 hMem to 512 Read Buffer
S.LISTDIR.EL .EQ 5 entry_length
S.LISTDIR.EIB .EQ 6 ENTRY_INDEX in block
S.LISTDIR.EPB .EQ 7 entry_per_block
S.LISTDIR.BLKPTR .EQ 8 entry PTR in block
S.LISTDIR.FI .EQ 10 FILE_INDEX in DIR
S.LISTDIR.FC .EQ 12 file_count
S.LISTDIR.hPATH .EQ 14 Pattern for file filtering
S.LISTDIR.hPATTERN .EQ 15 Pattern for file filtering
*
S.LISTDIR.SIZE .EQ 16
*--------------------------------------
* S.BUFRDR STRUCT
*--------------------------------------
S.BUFRDR.hMEM .EQ 0
S.BUFRDR.DELIM .EQ 1
S.BUFRDR.LEN .EQ 2
S.BUFRDR.IDX .EQ 4
*
S.BUFRDR.SIZE .EQ 6
*--------------------------------------
MAN
SAVE INC/A2OSX.API.I