struct sockaddr
{
sa_family_t sa_family;
- char sa_data[16];
+ char sa_data[16+2];
};
struct msghdr
{
SO_REUSEADDR,
SO_LINGER,
- SO_ERROR
+ SO_ERROR,
+ SO_KEEPALIVE,
};
// shutdown how
SHUT_RDWR
};
+// flags for send*
+//#define MSG_CONFIRM 0x01
+#define MSG_DONTROUTE 0x02
+#define MSG_OOB 0x40
+// flags for recv
+#define MSG_PEEK 0x100
+
/**
* \brief Create a new socket descriptor
* \param domain Address family
/**
* \brief Accept an incoming connection
*/
-extern int accept(int sockfd, struct sockaddr *clientaddr, socklen_t addrlen);
+extern int accept(int sockfd, struct sockaddr *clientaddr, socklen_t *addrlen);
extern int recvfrom(int sockfd, void *buffer, size_t length, int flags, struct sockaddr *clientaddr, socklen_t *addrlen);
extern int recv(int sockfd, void *buffer, size_t length, int flags);