LibC: Add CMSG_* definitions to sys/socket.h
This commit is contained in:
parent
2ee8b6c8b4
commit
895909b7fa
|
@ -50,16 +50,33 @@ struct cmsghdr
|
||||||
socklen_t cmsg_len; /* Data byte count, including the cmsghdr. */
|
socklen_t cmsg_len; /* Data byte count, including the cmsghdr. */
|
||||||
int cmsg_level; /* Originating protocol. */
|
int cmsg_level; /* Originating protocol. */
|
||||||
int cmsg_type; /* Protocol-specific type. */
|
int cmsg_type; /* Protocol-specific type. */
|
||||||
|
unsigned char __cmg_data[];
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME
|
#define SCM_RIGHTS 1
|
||||||
#if 0
|
|
||||||
#define SCM_RIGHTS
|
|
||||||
|
|
||||||
#define CMSG_DATA(cmsg)
|
#define CMSG_DATA(cmsg) ((cmsg)->__cmg_data)
|
||||||
#define CMSG_NXTHDR(mhdr, cmsg)
|
|
||||||
#define CMSG_FIRSTHDR(mhdr)
|
#define __CMSG_NXTHDR_ADDR(cmsg) \
|
||||||
#endif
|
((unsigned char*)(cmsg) + (cmsg)->cmsg_len)
|
||||||
|
#define __CMSG_NXTHDR_OFFSET(mhdr, cmsg) \
|
||||||
|
(__CMSG_NXTHDR_ADDR(cmsg) - (unsigned char*)(mhdr)->msg_control)
|
||||||
|
#define CMSG_NXTHDR(mhdr, cmsg) \
|
||||||
|
((size_t)(mhdr)->msg_controllen \
|
||||||
|
>= __CMSG_NXTHDR_OFFSET(mhdr, cmsg) + sizeof(struct cmsghdr) \
|
||||||
|
? (struct cmsghdr*)__CMSG_NXTHDR_ADDR(cmsg) \
|
||||||
|
: (struct cmsghdr*)0)
|
||||||
|
|
||||||
|
#define CMSG_FIRSTHDR(mhdr) \
|
||||||
|
((size_t)(mhdr)->msg_controllen >= sizeof(struct cmsghdr) \
|
||||||
|
? (struct cmsghdr*)((mhdr)->msg_control) \
|
||||||
|
: (struct cmsghdr*)0)
|
||||||
|
|
||||||
|
#define CMSG_SPACE(length) \
|
||||||
|
(socklen_t)((length) + sizeof(struct cmsghdr))
|
||||||
|
|
||||||
|
#define CMSG_LEN(length) \
|
||||||
|
(socklen_t)((length) + sizeof(struct cmsghdr))
|
||||||
|
|
||||||
struct linger
|
struct linger
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue