version 1.99, 2011/02/01 01:39:21 |
version 1.107.2.1, 2013/02/25 00:30:12 |
Line 97 typedef _BSD_SSIZE_T_ ssize_t; |
|
Line 97 typedef _BSD_SSIZE_T_ ssize_t; |
|
#endif |
#endif |
|
|
#include <sys/uio.h> |
#include <sys/uio.h> |
|
#include <sys/sigtypes.h> |
|
|
/* |
/* |
* Socket types. |
* Socket types. |
Line 107 typedef _BSD_SSIZE_T_ ssize_t; |
|
Line 108 typedef _BSD_SSIZE_T_ ssize_t; |
|
#define SOCK_RDM 4 /* reliably-delivered message */ |
#define SOCK_RDM 4 /* reliably-delivered message */ |
#define SOCK_SEQPACKET 5 /* sequenced packet stream */ |
#define SOCK_SEQPACKET 5 /* sequenced packet stream */ |
|
|
|
#define SOCK_CLOEXEC 0x10000000 /* set close on exec on socket */ |
|
#define SOCK_NONBLOCK 0x20000000 /* set non blocking i/o socket */ |
|
#define SOCK_NOSIGPIPE 0x40000000 /* don't send sigpipe */ |
|
#define SOCK_FLAGS_MASK 0xf0000000 /* flags mask */ |
|
|
/* |
/* |
* Option flags per-socket. |
* Option flags per-socket. |
*/ |
*/ |
Line 121 typedef _BSD_SSIZE_T_ ssize_t; |
|
Line 127 typedef _BSD_SSIZE_T_ ssize_t; |
|
#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ |
#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ |
#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ |
#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ |
/* SO_OTIMESTAMP 0x0400 */ |
/* SO_OTIMESTAMP 0x0400 */ |
|
#define SO_NOSIGPIPE 0x0800 /* no SIGPIPE from EPIPE */ |
#define SO_ACCEPTFILTER 0x1000 /* there is an accept filter */ |
#define SO_ACCEPTFILTER 0x1000 /* there is an accept filter */ |
#define SO_TIMESTAMP 0x2000 /* timestamp received dgram traffic */ |
#define SO_TIMESTAMP 0x2000 /* timestamp received dgram traffic */ |
|
|
|
|
#define MSG_BCAST 0x0100 /* this message was rcvd using link-level brdcst */ |
#define MSG_BCAST 0x0100 /* this message was rcvd using link-level brdcst */ |
#define MSG_MCAST 0x0200 /* this message was rcvd using link-level mcast */ |
#define MSG_MCAST 0x0200 /* this message was rcvd using link-level mcast */ |
#define MSG_NOSIGNAL 0x0400 /* do not generate SIGPIPE on EOF */ |
#define MSG_NOSIGNAL 0x0400 /* do not generate SIGPIPE on EOF */ |
|
#if defined(_NETBSD_SOURCE) |
|
#define MSG_CMSG_CLOEXEC 0x0800 /* close on exec receiving fd */ |
|
#define MSG_NBIO 0x1000 /* use non-blocking I/O */ |
|
#define MSG_WAITFORONE 0x2000 /* recvmmsg() wait for one message */ |
|
|
|
struct mmsghdr { |
|
struct msghdr msg_hdr; |
|
unsigned int msg_len; |
|
}; |
|
#endif |
|
|
/* Extra flags used internally only */ |
/* Extra flags used internally only */ |
#define MSG_USERFLAGS 0x0ffffff |
#define MSG_USERFLAGS 0x0ffffff |
Line 522 struct cmsghdr { |
|
Line 539 struct cmsghdr { |
|
* without (2), we can't guarantee binary compatibility in case of future |
* without (2), we can't guarantee binary compatibility in case of future |
* changes in ALIGNBYTES. |
* changes in ALIGNBYTES. |
*/ |
*/ |
#define __CMSG_ALIGN(n) (((n) + __cmsg_alignbytes()) & ~__cmsg_alignbytes()) |
#define __CMSG_ALIGN(n) (((n) + __ALIGNBYTES) & ~__ALIGNBYTES) |
#ifdef _KERNEL |
#ifdef _KERNEL |
#define CMSG_ALIGN(n) __CMSG_ALIGN(n) |
#define CMSG_ALIGN(n) __CMSG_ALIGN(n) |
#endif |
#endif |
Line 533 struct cmsghdr { |
|
Line 550 struct cmsghdr { |
|
__CMSG_ALIGN(sizeof(struct cmsghdr)) > \ |
__CMSG_ALIGN(sizeof(struct cmsghdr)) > \ |
(((char *)(mhdr)->msg_control) + (mhdr)->msg_controllen)) ? \ |
(((char *)(mhdr)->msg_control) + (mhdr)->msg_controllen)) ? \ |
(struct cmsghdr *)0 : \ |
(struct cmsghdr *)0 : \ |
(struct cmsghdr *)((char *)(cmsg) + \ |
(struct cmsghdr *)(void *)((char *)(cmsg) + \ |
__CMSG_ALIGN((cmsg)->cmsg_len))) |
__CMSG_ALIGN((cmsg)->cmsg_len))) |
|
|
/* |
/* |
Line 565 struct cmsghdr { |
|
Line 582 struct cmsghdr { |
|
|
|
#include <sys/cdefs.h> |
#include <sys/cdefs.h> |
|
|
__BEGIN_DECLS |
|
int __cmsg_alignbytes(void); |
|
__END_DECLS |
|
|
|
#ifdef _KERNEL |
#ifdef _KERNEL |
static inline socklen_t |
static inline socklen_t |
sockaddr_getlen(const struct sockaddr *sa) |
sockaddr_getlen(const struct sockaddr *sa) |
Line 589 const struct sockaddr *sockaddr_any_by_f |
|
Line 602 const struct sockaddr *sockaddr_any_by_f |
|
const void *sockaddr_anyaddr(const struct sockaddr *, socklen_t *); |
const void *sockaddr_anyaddr(const struct sockaddr *, socklen_t *); |
int sockaddr_cmp(const struct sockaddr *, const struct sockaddr *); |
int sockaddr_cmp(const struct sockaddr *, const struct sockaddr *); |
struct sockaddr *sockaddr_dup(const struct sockaddr *, int); |
struct sockaddr *sockaddr_dup(const struct sockaddr *, int); |
|
void sockaddr_format(const struct sockaddr *, char *, size_t); |
void sockaddr_free(struct sockaddr *); |
void sockaddr_free(struct sockaddr *); |
__END_DECLS |
__END_DECLS |
#endif /* _KERNEL */ |
#endif /* _KERNEL */ |
Line 603 int getpeername(int, struct sockaddr * _ |
|
Line 617 int getpeername(int, struct sockaddr * _ |
|
int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict); |
int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict); |
int getsockopt(int, int, int, void *__restrict, socklen_t * __restrict); |
int getsockopt(int, int, int, void *__restrict, socklen_t * __restrict); |
int listen(int, int); |
int listen(int, int); |
|
int paccept(int, struct sockaddr * __restrict, socklen_t * __restrict, |
|
const sigset_t * __restrict, int); |
ssize_t recv(int, void *, size_t, int); |
ssize_t recv(int, void *, size_t, int); |
ssize_t recvfrom(int, void *__restrict, size_t, int, |
ssize_t recvfrom(int, void *__restrict, size_t, int, |
struct sockaddr * __restrict, socklen_t * __restrict); |
struct sockaddr * __restrict, socklen_t * __restrict); |
Line 620 __RENAME(__socket30) |
|
Line 636 __RENAME(__socket30) |
|
#endif |
#endif |
; |
; |
int socketpair(int, int, int, int *); |
int socketpair(int, int, int, int *); |
|
|
|
#if defined(_NETBSD_SOURCE) |
|
int sendmmsg(int, struct mmsghdr *, unsigned int, unsigned int); |
|
struct timespec; |
|
int recvmmsg(int, struct mmsghdr *, unsigned int, unsigned int, |
|
struct timespec *); |
|
#endif |
__END_DECLS |
__END_DECLS |
#endif /* !_KERNEL */ |
#endif /* !_KERNEL */ |
|
|