In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Nsysnet.rpl

From WiiUBrew
Revision as of 15:04, 5 April 2015 by Filfat (talk | contribs) (Corrected mistake)
Jump to navigation Jump to search

nsysnet.rpl is the library that provides BSD socket related functions.

Functions

Base

Name Prototype Description Returns
SOInit int SOInit(void); Initializes the library. SO_*
SOFinish int SOFinish(void); Cleans up after the library. SO_*

Networking

Name Prototype Description Returns
SOConnect int SOConnect(int fd, struct sockaddr *addr, int addrlen); Connects to the defined target SO_*
SOListen int SOListen(int fd, int backlog); Listens for connections SO_*
SORecv int SORecv(int fd, void *buffer, int len, int flags); Listens for connections SO_*
SORecvFrom int SORecvFrom(int fd, void *buffer, int len, int flags, struct sockaddr *from, int *fromlen); Listens for connections SO_*
SOSend int SOSend(int fd, const void *buffer, int len, int flags); Listens for connections SO_*
SOSendTo int SOSendTo(int fd, const void *buffer, int len, int flags, const struct sockaddr *dest_addr, int dest_len); Listens for connections SO_*

Error

Name Prototype Description Returns
SOInit int SOLastError(void); Recives the latest error??? The latest error(SO_*)???

Error Codes

The error codes that SO functions can return. if the error code starts with "SO_E" so were the operation not successful otherwise it were.

Name Value Description
SO_SUCCESS 0 The operation were successful
SO_ETIMEDOUT 2 The connection timed out
SO_ECONNREFUSED 7 The connection were refused
SO_ERROR 41 The operation hit a generic error and were not successful
SO_ELIBNOTREADY 43 The library is not ready, did you forget to initialize it?

Structures

Name Data
sockaddr_in
typedef struct {
    u16 sin_family;
    u16 sin_port;
    struct  in_addr sin_addr;
    char sin_zero[8];
} sockaddr_in;