7 * By John Hodge (thePowersGang)
9 #ifndef _SYS_SOCKETS_H_
10 #define _SYS_SOCKETS_H_
12 typedef int socklen_t;
23 sa_family_t sa_family;
28 * \brief Values for \a domain of socket()
32 PF_LOCAL, //!< Machine-local comms
35 PF_PACKET //!< Low level packet interface
37 #define PF_UNIX PF_LOCAL
41 SOCK_STREAM, //!< Stream (TCP)
42 SOCK_DGRAM, //!< Datagram (UDP)
44 SOCK_RAW, //!< Raw packet access
45 SOCK_RDM //!< Reliable non-ordered datagrams
49 * \brief Create a new socket descriptor
50 * \param domain Address family
52 extern int socket(int domain, int type, int protocol);
55 * \brief Bind a socket to an address
57 extern int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
60 * \brief Connect to another socket
62 extern int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
65 * \brief Listen for incoming connections
67 extern int listen(int sockfd, int backlog);
70 * \brief Accept an incoming connection
72 extern int accept(int sockfd, struct sockaddr *clientaddr, socklen_t addrlen);