A2osX/.Docs/LIBTCPIP.md
2018-11-06 17:31:13 +01:00

3.7 KiB

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

ARP.Clear

Clear ARP Cache
In:

RETURN VALUE

ARP.Query

Query ARP Cache and returns HW address
In:
PUSHW PTR to MAC (to fill)
PUSHW PTR to IP

RETURN VALUE

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:

RETURN VALUE

Y,A = PTR to ARP.CACHE

DNS.Clear

Clear DNS Cache
In:

RETURN VALUE

DNS.Query

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

  • PUSHW = hostname PTR to PSTR

RETURN VALUE

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:

RETURN VALUE

Y,A = PTR to DNS.CACHE

Socket

Create a new socket

C

hFD socket(short int type, short int protocol);

ASM

In:
>PUSHB protocol
lda type
>LIBCALL hLIBTCPIP,LIBTCPIP.socket

RETURN VALUE

CC: A = hSOCKET
CS: A = EC

Bind

bind a name to a socket

C

int bind(hFD fd, const struct sockaddr *addr);

ASM

In:
>PUSHW addr
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.socket

RETURN VALUE

CC: A = hSOCKET
CS: A = EC

Connect

Initiate a connection on a socket

C

int connect(hFD fd, const struct sockaddr *addr);

ASM

In:
>PUSHW addr
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.socket

RETURN VALUE

CC: A = hSOCKET
CS: A = EC

Listen

Listen for connections on a socket

C

int listen(hFD fd);

ASM

In:
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.listen

RETURN VALUE

CS: A = EC

Accept

Accept a connection on a socket

C

hFD Accept(hFD fd);

ASM

In:
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.accept

RETURN VALUE

A = hSocket

Shutdown

Close socket

C

int shutdown(int fd);

ASM

In:
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.shutdown

RETURN VALUE

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

RETURN VALUE

CC: Y,A = bytes read
CS: A = EC

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

RETURN VALUE

CC: Y,A = bytes written
CS: A = EC

Recv (RAW,DGRAM,SEQPACKET)

RecvFrom (RAW,DGRAM,SEQPACKET)

C

hMem recv(hFD fd);
hMem recvfrom(hFD fd, struct sockaddr *addr);

ASM

In:
>PUSHW addr (RecvFrom)
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.skt.Recv

RETURN VALUE

CC: A = hMem
CS: A = EC

Send (RAW,DGRAM,SEQPACKET)

SendTo (RAW,DGRAM,SEQPACKET)

C

int skt.send(hFD fd, const void *buf, int count);
int skt.sendto(hFD fd, const void *buf, int count, const struct sockaddr *addr);

ASM

In:
>PUSHW addr (SendTo)
>PUSHWI count
>PUSHW buf
lda fd
>LIBCALL hLIBTCPIP,LIBTCPIP.skt.send

RETURN VALUE

CC: Y,A = bytes written
CS: A = EC

GetTable

Get socket table

C

void * gettable();

ASM

In:
>LIBCALL hLIBTCPIP,LIBTCPIP.skt.GetTable

RETURN VALUE