A2osX/SYS/KERNEL.S.SLIST.txt
burniouf 04a83f00f3 SH:new ALIAS cmd, new && operator
MKDIR:completely implemented
LS/RM/MV/CP: combined switches
KERNEL:SList API now handle options to handle several languages/parsers
2022-10-07 21:21:37 +02:00

96 lines
2.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.

NEW
AUTO 3,1
*/--------------------------------------
* # SListGetData
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyID`
* `>PUSHW DataPtr` (0 if KERNEL should allocate a buffer)
* `>PUSHW DataLen` (Data bytes to return, 0 if String mode)
* `>PUSHW DataOfs` (Start offset in Data)
* `>SYSCALL SListGetData`
* ## RETURN VALUE
* Y,A = Byte Count
* X = hMem (if DataPtr = 0)
*\--------------------------------------
K.SListGetData >PULLW ZPSListDataOfs
*/--------------------------------------
* # SListAddData
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyID`
* `>PUSHW DataPtr`
* `>PUSHW DataLen` (Data bytes to add, 0 if String mode)
* `>SYSCALL SListAddData`
* ## RETURN VALUE
*\--------------------------------------
K.SListAddData
*/--------------------------------------
* # SListSetData
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyID`
* `>PUSHW DataPtr`
* `>PUSHW DataLen` (Data bytes to set, 0 if String mode)
* `>SYSCALL SListSetData`
* ## RETURN VALUE
*\--------------------------------------
K.SListSetData >PULLW ZPSListDataLen
jmp K.SYSCALL.JMPX2A
*/--------------------------------------
* # SListGetByID
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyID`
* `>PUSHW KeyPtr`
* `>SYSCALL SListGetByID`
* ## RETURN VALUE
* Y,A = Next KeyID
*\--------------------------------------
K.SListGetByID .EQ K.SYSCALL.JMPX2A
*/--------------------------------------
* # SListNewKey
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyPtr`
* `>SYSCALL SListNewKey`
* ## RETURN VALUE
* Y,A = KeyID
* X = KeyLen
*\--------------------------------------
K.SListNewKey
*/--------------------------------------
* # SListLookup
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyPtr`
* `>SYSCALL SListLookup`
* ## RETURN VALUE
* Y,A = KeyID
* X = Key Length
*\--------------------------------------
K.SListLookup >PULLW TXTPTR
>PULLA
*/--------------------------------------
* # SListFree
* ## ASM
* `lda hSList`
* `>SYSCALL SListFree`
* ## RETURN VALUE
*\--------------------------------------
K.SListFree
*/--------------------------------------
* # SListNew
* ## ASM
* `lda Opt`
* `>SYSCALL SListNew`
* ## RETURN VALUE
* A=hSList
*\--------------------------------------
K.SListNew jmp K.SYSCALL.JMPX
*--------------------------------------
MAN
SAVE usr/src/sys/kernel.s.slist
LOAD usr/src/sys/kernel.s
ASM