A2osX/.Docs/LIBTCPIP.md
2018-09-20 17:33:05 +02:00

2.5 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

C

hSOCKET skt.new(void *template);

ASM

In:
>PUSHW template
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
Out:
CC: A = hSOCKET
CS: A = EC

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

C

hFD skt.mknod(hSOCKET s);

ASM

In:
lda s
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.MkNod
Out:
CC: A = hFD
CS: A = EC

SKT.Read (STREAM)

C

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

ASM

In:
>PUSHWI count
>PUSHW buf
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.skt.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
>LIBCALL hLIBTCPIP,LIBTCPIP.skt.write
Out:
CC: Y,A = bytes written
CS: A = EC

SKT.Rcvd (DGRAM,RAW)

In:
A = hSocket
Out:
A = hFrame

SKT.Send (DGRAM,RAW)

C

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

ASM

In:
>PUSHWI count
>PUSHW buf
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.skt.send
Out:
CC: Y,A = bytes written
CS: A = EC