*** Auto generated by docgen.cmd *** ## Copyright Copyright 2015 - 2020, Remy Gibert and the A2osX contributors. # ARP.Clear Clear ARP Cache ## ASM ## RETURN VALUE # ARP.Query Query ARP Cache and returns HW address ## ASM 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 ## ASM PUSHW PTR to MAC PUSHW PTR to IP # ARP.GetCache Return a Ptr to ARP Cache Table ## ASM ## RETURN VALUE Y,A = PTR to ARP.CACHE # DNS.Clear Clear DNS Cache ## ASM ## RETURN VALUE # DNS.Query Query DNS for specified host ## ASM 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 ## ASM PUSHW = PTR to IP PUSHW = hostname CSTR to Add # DNS.GetCAche Return a Ptr to DNS Cache Table ## ASM ## RETURN VALUE Y,A = PTR to DNS.CACHE # Socket Create a new socket ## C `hFD socket(short int type, short int protocol);` ## ASM `>PUSHB type` `>PUSHB protocol` `>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 `>PUSHB fd` `>PUSHW addr` `>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 `>PUSHB fd` `>PUSHW addr` `>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 `lda fd` `>LIBCALL hLIBTCPIP,LIBTCPIP.listen` ## RETURN VALUE CS: A = EC # Accept Accept a connection on a socket ## C `hFD Accept(hFD fd);` ## ASM `lda fd` `>LIBCALL hLIBTCPIP,LIBTCPIP.accept` ## RETURN VALUE A = hSocket # Shutdown Close socket ## C `int shutdown(int fd);` ## ASM `lda fd` `>LIBCALL hLIBTCPIP,LIBTCPIP.shutdown` ## RETURN VALUE # Read (STREAM) ## C `int skt.read(hFD fd, void *buf, int count);` ## ASM `>PUSHB fd` `>PUSHW buf` `>PUSHW count` `>LIBCALL hLIBTCPIP,LIBTCPIP.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 `>PUSHB fd` `>PUSHW buf` `>PUSHW count` `>LIBCALL hLIBTCPIP,LIBTCPIP.write` ## RETURN VALUE CC: Y,A = bytes written CS: A = EC # RecvFrom (RAW,DGRAM) ## C `hMem recvfrom(hFD fd, struct sockaddr *addr);` ## ASM `>PUSHB fd` `>PUSHW addr` (RecvFrom) `>LIBCALL hLIBTCPIP,LIBTCPIP.Recv` ## RETURN VALUE CC: A = hMem CS: A = EC # Recv (RAW,DGRAM,SEQPKT) ## C `hMem recv(hFD fd);` ## ASM `lda fd` `>LIBCALL hLIBTCPIP,LIBTCPIP.Recv` ## RETURN VALUE CC: A = hMem CS: A = EC # SendTo (RAW,DGRAM,SEQPKT) ## C `int skt.sendto(hFD fd, const void *buf, int count, const struct sockaddr *addr);` ## ASM `>PUSHB fd` `>PUSHW buf` `>PUSHWI count` `>PUSHW addr` `>LIBCALL hLIBTCPIP,LIBTCPIP.sendto` ## RETURN VALUE CC: Y,A = bytes written CS: A = EC # Send (RAW,DGRAM,SEQPKT) ## C `int skt.send(hFD fd, const void *buf, int count);` ## ASM `>PUSHB fd` `>PUSHW buf` `>PUSHWI count` `>LIBCALL hLIBTCPIP,LIBTCPIP.send` ## RETURN VALUE CC: Y,A = bytes written CS: A = EC # GetSockOpt Set Socket Options ## C `int getsockopt(hFD fd);` ## ASM `lda fd` `>LIBCALL hLIBTCPIP,LIBTCPIP.GetSockOpt` ## RETURN VALUE # SetSockOpt Set Socket Options ## C `int setsockopt(hFD fd, short int opts);` ## ASM `>PUSHB fd` `>PUSHB opts` `>LIBCALL hLIBTCPIP,LIBTCPIP.SetSockOpt` ## RETURN VALUE # EOF End Of File ## C `int eof(hFD fd);` ## ASM `lda fd` `>LIBCALL hLIBTCPIP,LIBTCPIP.EOF` ## RETURN VALUE CC : A = 0 if some data, A = $ff if EOF CS : A = Socket Error ## License A2osX is licensed under the GNU General Public License. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The full A2osX license can be found **[Here](../LICENSE)**. *** End of Auto generated file ***