SOCKET SYSTEM CALLS #include #include int socket(int domain, int type, int protocol) values for domain AF_LOCAL Host-internal protocols, formerly AF_UNIX, AF_INET Internet version 4 protocols, AF_INET6 Internet version 6 protocols, (lots of others, see the man page for details) values for type SOCK_STREAM SOCK_DGRAM SOCK_RAW int bind(int s, const struct sockaddr *addr, int addrlen) int listen(int s, int backlog) int accept(int s, struct sockaddr *addr, int *addrlen) int connect(int s, const struct sockaddr *name, int namelen) /* client only */ ssize_t recv(int s, void *buf, size_t len, int flags) flags can be MSG_OOB process out-of-band data MSG_PEEK peek at incoming message MSG_WAITALL wait for full request or error ssize_t send(int s, const void *msg, size_t len, int flags) flags can be MSG_OOB process out-of-band data ssize_t sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); /* datagrams */ ssize_t recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen); /* datagrams */ char *inet_ntoa(struct in_addr addr) /* returns string in dotted decimal notation struct hostent *gethostbyname(char *hostname)