mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 05:32:20 +00:00
220 lines
4.7 KiB
Plaintext
220 lines
4.7 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.Socket clc
|
|||
|
rts
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.bind
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.connect
|
|||
|
*/--------------------------------------
|
|||
|
* # Listen
|
|||
|
* Listen for connections on a socket
|
|||
|
* ## C
|
|||
|
* `int listen(hFD fd);`
|
|||
|
* ## ASM
|
|||
|
* `lda fd`
|
|||
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.listen`
|
|||
|
* ## RETURN VALUE
|
|||
|
* CS: A = EC
|
|||
|
*\--------------------------------------
|
|||
|
SKT.listen
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # Accept
|
|||
|
* Accept a connection on a socket
|
|||
|
* ## C
|
|||
|
* `hFD Accept(hFD fd);`
|
|||
|
* ## ASM
|
|||
|
* `lda fd`
|
|||
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.accept`
|
|||
|
* ## RETURN VALUE
|
|||
|
* A = hSocket
|
|||
|
*\--------------------------------------
|
|||
|
SKT.Accept
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # Shutdown
|
|||
|
* Close socket
|
|||
|
* ## C
|
|||
|
* `int shutdown(int fd);`
|
|||
|
* ## ASM
|
|||
|
* `lda fd`
|
|||
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.shutdown`
|
|||
|
* ## RETURN VALUE
|
|||
|
*\--------------------------------------
|
|||
|
SKT.shutdown
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.Read
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.Write
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.RecvFrom
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # Recv (RAW,DGRAM,SEQPKT)
|
|||
|
* ## C
|
|||
|
* `hMem recv(hFD fd);`
|
|||
|
* ## ASM
|
|||
|
* `lda fd`
|
|||
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.Recv`
|
|||
|
* ## RETURN VALUE
|
|||
|
* CC: A = hMem
|
|||
|
* CS: A = EC
|
|||
|
*\--------------------------------------
|
|||
|
SKT.Recv
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.SendTo
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.Send
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # GetSockOpt
|
|||
|
* Set Socket Options
|
|||
|
* ## C
|
|||
|
* `int getsockopt(hFD fd);`
|
|||
|
* ## ASM
|
|||
|
* `lda fd`
|
|||
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.GetSockOpt`
|
|||
|
* ## RETURN VALUE
|
|||
|
*\--------------------------------------
|
|||
|
SKT.getsockopt
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # SetSockOpt
|
|||
|
* Set Socket Options
|
|||
|
* ## C
|
|||
|
* `int setsockopt(hFD fd, short int opts);`
|
|||
|
* ## ASM
|
|||
|
* `>PUSHB fd`
|
|||
|
* `>PUSHB opts`
|
|||
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.SetSockOpt`
|
|||
|
* ## RETURN VALUE
|
|||
|
*\--------------------------------------
|
|||
|
SKT.setsockopt
|
|||
|
|
|||
|
|
|||
|
*/--------------------------------------
|
|||
|
* # 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
|
|||
|
*\--------------------------------------
|
|||
|
SKT.EOF
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE usr/src/lib/libetalk.s.skt
|
|||
|
LOAD usr/src/lib/libetalk.s
|
|||
|
ASM
|