struct msghdr
{
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
int msg_iovlen;
void *msg_control;
socklen_t msg_controllen;
int msg_flags;
};
struct cmsghdr
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;
#define SOCK_STREAM 2
#define SOCK_DGRAM 1