mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-28 10:52:33 +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
|