A2osX/.Docs/LIBTCPIP.md
2018-09-11 23:15:15 +02:00

2.2 KiB

*** Auto generated by docgen.cmd ***

ARP.Clear

Clear ARP Cache
In:
Out:

ARP.Query

Query ARP Cache and returns HW address
In:
PUSHW PTR to MAC (to fill)
PUSHW PTR to IP
Out:
CC: hit: MAC filled
CS: missed

ARP.Add

Add a static ARP cache record
In:
PUSHW PTR to MAC
PUSHW PTR to IP

ARP.GetCAche

Return a Ptr to ARP Cache Table
In:
Out:
Y,A = PTR to ARP.CACHE

DNS.Clear

Clear DNS Cache
In:
Out:

DNS.Query

Query DNS for specified host
In:
PUSHW = PTR to IP to fill with cached data

  • PUSHW = hostname PTR to PSTR
    Out:
    CC: hit: IP filled with address
    CS: missed

DNS.Add

Add a static DNS record
In:
PUSHW = PTR to IP
PUSHW = hostname CSTR to Add

DNS.GetCAche

Return a Ptr to DNS Cache Table
In:
Out:
Y,A = PTR to DNS.CACHE

SKT.New

Create a new socket
In:
PUSHW = PTR to S.SOCKET template
Out:
Y,A = PTR to new S.SOCKET
X = hSocket

SKT.Close

Close socket
In:
A = hSocket
Out:

SKT.Get

Get Ptr to socket
In:
A = hSocket
Out:
Y,A = pS.SOCKET

SKT.GetTable

Get socket table
In:
Out:
Y,A = pS.SOCKET

SKT.Accept

Check for an incoming connection
In:
A = hListeningSocket
Out:
A = hSocket

SKT.MkNod

Create a new file from TCP socket
In:
A = hSocket
Out:
A = hFile

SKT.Read (STREAM)

C

int skt.read(hFD fd, void *buf, int count);

ASM

In:
>PUSHWI count
>PUSHW buf
lda fd
>SYSCALL read
Out:
CC: Y,A = bytes read
CS: A = EC

SKT.Write (STREAM)

C

int skt.write(hFD fd, const void *buf, int count);

ASM

In:
>PUSHWI count
>PUSHW buf
lda fd
>SYSCALL write
Out:
CC: Y,A = bytes written
CS: A = EC

SKT.Rcvd (DGRAM,RAW)

In:
A = hSocket
Out:
A = hFrame

SKT.Send (DGRAM,RAW)

In:
A = hSocket
Out:
A = hFrame