diff options
-rw-r--r-- | lib/libc/sys/accept.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/bind.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/connect.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/getpeername.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/getsockname.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/getsockopt.2 | 4 | ||||
-rw-r--r-- | lib/libc/sys/recv.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/send.2 | 2 | ||||
-rw-r--r-- | lib/libc/sys/socket.2 | 51 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_accept.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_bind.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_connect.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_getpeername.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_getsockname.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_getsockopt.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_recvfrom.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_sendto.c | 2 | ||||
-rw-r--r-- | lib/libc_r/uthread/uthread_setsockopt.c | 2 | ||||
-rw-r--r-- | sys/compat/svr4/svr4_stream.c | 2 | ||||
-rw-r--r-- | sys/kern/uipc_syscalls.c | 2 | ||||
-rw-r--r-- | sys/svr4/svr4_stream.c | 2 | ||||
-rw-r--r-- | sys/sys/socket.h | 61 |
22 files changed, 93 insertions, 61 deletions
diff --git a/lib/libc/sys/accept.2 b/lib/libc/sys/accept.2 index 211904ec2e6f..384823ea458b 100644 --- a/lib/libc/sys/accept.2 +++ b/lib/libc/sys/accept.2 @@ -42,7 +42,7 @@ .Fd #include <sys/types.h> .Fd #include <sys/socket.h> .Ft int -.Fn accept "int s" "struct sockaddr *addr" "int *addrlen" +.Fn accept "int s" "struct sockaddr *addr" "socklen_t *addrlen" .Sh DESCRIPTION The argument .Fa s diff --git a/lib/libc/sys/bind.2 b/lib/libc/sys/bind.2 index 53f1874e911e..316ed188947a 100644 --- a/lib/libc/sys/bind.2 +++ b/lib/libc/sys/bind.2 @@ -42,7 +42,7 @@ .Fd #include <sys/types.h> .Fd #include <sys/socket.h> .Ft int -.Fn bind "int s" "const struct sockaddr *addr" "int addrlen" +.Fn bind "int s" "const struct sockaddr *addr" "socklen_t addrlen" .Sh DESCRIPTION .Fn Bind assigns the local protocol address to a socket. diff --git a/lib/libc/sys/connect.2 b/lib/libc/sys/connect.2 index bd42550453ab..aef52f1fb190 100644 --- a/lib/libc/sys/connect.2 +++ b/lib/libc/sys/connect.2 @@ -42,7 +42,7 @@ .Fd #include <sys/types.h> .Fd #include <sys/socket.h> .Ft int -.Fn connect "int s" "const struct sockaddr *name" "int namelen" +.Fn connect "int s" "const struct sockaddr *name" "socklen_t namelen" .Sh DESCRIPTION The parameter .Fa s diff --git a/lib/libc/sys/getpeername.2 b/lib/libc/sys/getpeername.2 index cdf69f15edcc..109d195ced61 100644 --- a/lib/libc/sys/getpeername.2 +++ b/lib/libc/sys/getpeername.2 @@ -42,7 +42,7 @@ .Fd #include <sys/types.h> .Fd #include <sys/socket.h> .Ft int -.Fn getpeername "int s" "struct sockaddr *name" "int *namelen" +.Fn getpeername "int s" "struct sockaddr *name" "socklen_t *namelen" .Sh DESCRIPTION .Fn Getpeername returns the name of the peer connected to diff --git a/lib/libc/sys/getsockname.2 b/lib/libc/sys/getsockname.2 index 9330a3e7d9e5..93555963afca 100644 --- a/lib/libc/sys/getsockname.2 +++ b/lib/libc/sys/getsockname.2 @@ -42,7 +42,7 @@ .Fd #include <sys/types.h> .Fd #include <sys/socket.h> .Ft int -.Fn getsockname "int s" "struct sockaddr *name" "int *namelen" +.Fn getsockname "int s" "struct sockaddr *name" "socklen_t *namelen" .Sh DESCRIPTION .Fn Getsockname returns the current diff --git a/lib/libc/sys/getsockopt.2 b/lib/libc/sys/getsockopt.2 index 6cc8e49a2e4f..db1f83493c77 100644 --- a/lib/libc/sys/getsockopt.2 +++ b/lib/libc/sys/getsockopt.2 @@ -43,9 +43,9 @@ .Fd #include <sys/types.h> .Fd #include <sys/socket.h> .Ft int -.Fn getsockopt "int s" "int level" "int optname" "void *optval" "int *optlen" +.Fn getsockopt "int s" "int level" "int optname" "void *optval" "socklen_t *optlen" .Ft int -.Fn setsockopt "int s" "int level" "int optname" "const void *optval" "int optlen" +.Fn setsockopt "int s" "int level" "int optname" "const void *optval" "socklen_t optlen" .Sh DESCRIPTION .Fn Getsockopt and diff --git a/lib/libc/sys/recv.2 b/lib/libc/sys/recv.2 index bcaf9b9838d7..bf73dd5cc033 100644 --- a/lib/libc/sys/recv.2 +++ b/lib/libc/sys/recv.2 @@ -46,7 +46,7 @@ .Ft ssize_t .Fn recv "int s" "void *buf" "size_t len" "int flags" .Ft ssize_t -.Fn recvfrom "int s" "void *buf" "size_t len" "int flags" "struct sockaddr *from" "int *fromlen" +.Fn recvfrom "int s" "void *buf" "size_t len" "int flags" "struct sockaddr *from" "socklen_t *fromlen" .Ft ssize_t .Fn recvmsg "int s" "struct msghdr *msg" "int flags" .Sh DESCRIPTION diff --git a/lib/libc/sys/send.2 b/lib/libc/sys/send.2 index 8f74a9f1b41a..327307c96d09 100644 --- a/lib/libc/sys/send.2 +++ b/lib/libc/sys/send.2 @@ -46,7 +46,7 @@ .Ft ssize_t .Fn send "int s" "const void *msg" "size_t len" "int flags" .Ft ssize_t -.Fn sendto "int s" "const void *msg" "size_t len" "int flags" "const struct sockaddr *to" "int tolen" +.Fn sendto "int s" "const void *msg" "size_t len" "int flags" "const struct sockaddr *to" "socklen_t tolen" .Ft ssize_t .Fn sendmsg "int s" "const struct msghdr *msg" "int flags" .Sh DESCRIPTION diff --git a/lib/libc/sys/socket.2 b/lib/libc/sys/socket.2 index df988fff5ab7..f86d6930796c 100644 --- a/lib/libc/sys/socket.2 +++ b/lib/libc/sys/socket.2 @@ -54,15 +54,42 @@ communication will take place; this selects the protocol family which should be used. These families are defined in the include file .Ao Pa sys/socket.h Ac . -The currently understood formats are +The currently understood formats are: .Pp .Bd -literal -offset indent -compact -PF_LOCAL (Host-internal protocols, formerly called PF_UNIX), -PF_INET (ARPA Internet protocols), -PF_ISO (ISO protocols), -PF_CCITT (ITU-T protocols, like X.25), -PF_NS (Xerox Network Systems protocols), and -.\"PF_IMPLINK (IMP \*(lqhost at IMP\*(rq link layer). +PF_LOCAL Host-internal protocols, formerly called PF_UNIX, +PF_UNIX Host-internal protocols, depreciated, use PF_LOCAL, +PF_INET Internet version 4 protocols, +PF_IMPLINK ARPAnet IMP addresses, +PF_PUP PUP protocols, like BSP, +PF_CHAOS MIT CHAOS protocols, +PF_NS Xerox Network Systems protocols, +PF_ISO ISO protocols, +PF_OSI Open Systems Interconnection protocols, +PF_ECMA European Computer Manufacturers, +PF_DATAKIT Datakit protocols, +PF_CCITT ITU-T protocols, like X.25, +PF_SNA IBM SNA, +PF_DECnet DECnet, +PF_DLI DEC Direct Data Link Interface protocol, +PF_LAT LAT protocol, +PF_HYLINK NSC Hyperchannel, +PF_APPLETALK AppleTalk protocols, +PF_ROUTE Internal Routing protocol, +PF_LINK Link layer interface, +PF_XTP eXpress Transfer Protocol, +PF_COIP Connection-Oriented IP, aka ST II, +PF_CNT Computer Network Technology, +PF_SIP Simple Internet Protocol, +PF_IPX Novell Intenet Packet eXchange protocol, +PF_RTIP Help Identify RTIP packets, +PF_PIP Help Identify PIP packets, +PF_ISDN Integrated Services Digital Network, +PF_KEY Internal key-management function, +PF_INET6 Internet version 6 protocols, +PF_NATM Native ATM access, +PF_ATM ATM, +PF_NETGRAPH Netgraph sockets .Ed .Pp The socket has the indicated @@ -71,11 +98,11 @@ which specifies the semantics of communication. Currently defined types are: .Pp .Bd -literal -offset indent -compact -SOCK_STREAM -SOCK_DGRAM -SOCK_RAW -SOCK_SEQPACKET -SOCK_RDM +SOCK_STREAM Stream socket, +SOCK_DGRAM Datagram socket, +SOCK_RAW Raw-protocol interface, +SOCK_RDM Sequenced packet stream, +SOCK_SEQPACKET Reliably-delivered packet .Ed .Pp A diff --git a/lib/libc_r/uthread/uthread_accept.c b/lib/libc_r/uthread/uthread_accept.c index a6015c2c0832..c703b8cf932d 100644 --- a/lib/libc_r/uthread/uthread_accept.c +++ b/lib/libc_r/uthread/uthread_accept.c @@ -41,7 +41,7 @@ #include "pthread_private.h" int -accept(int fd, struct sockaddr * name, int *namelen) +accept(int fd, struct sockaddr * name, socklen_t *namelen) { int ret; diff --git a/lib/libc_r/uthread/uthread_bind.c b/lib/libc_r/uthread/uthread_bind.c index 20ca7723b372..e6989a09e3b5 100644 --- a/lib/libc_r/uthread/uthread_bind.c +++ b/lib/libc_r/uthread/uthread_bind.c @@ -38,7 +38,7 @@ #include "pthread_private.h" int -bind(int fd, const struct sockaddr * name, int namelen) +bind(int fd, const struct sockaddr * name, socklen_t namelen) { int ret; diff --git a/lib/libc_r/uthread/uthread_connect.c b/lib/libc_r/uthread/uthread_connect.c index 67c706afc8c8..7c60f63ca771 100644 --- a/lib/libc_r/uthread/uthread_connect.c +++ b/lib/libc_r/uthread/uthread_connect.c @@ -40,7 +40,7 @@ #include "pthread_private.h" int -connect(int fd, const struct sockaddr * name, int namelen) +connect(int fd, const struct sockaddr * name, socklen_t namelen) { struct sockaddr tmpname; int errnolen, ret, tmpnamelen; diff --git a/lib/libc_r/uthread/uthread_getpeername.c b/lib/libc_r/uthread/uthread_getpeername.c index e05888f00acb..4e972a6d499b 100644 --- a/lib/libc_r/uthread/uthread_getpeername.c +++ b/lib/libc_r/uthread/uthread_getpeername.c @@ -38,7 +38,7 @@ #include "pthread_private.h" int -getpeername(int fd, struct sockaddr * peer, int *paddrlen) +getpeername(int fd, struct sockaddr * peer, socklen_t *paddrlen) { int ret; diff --git a/lib/libc_r/uthread/uthread_getsockname.c b/lib/libc_r/uthread/uthread_getsockname.c index 399dcbd68d62..691394c8b27e 100644 --- a/lib/libc_r/uthread/uthread_getsockname.c +++ b/lib/libc_r/uthread/uthread_getsockname.c @@ -38,7 +38,7 @@ #include "pthread_private.h" int -getsockname(int s, struct sockaddr * name, int *namelen) +getsockname(int s, struct sockaddr * name, socklen_t *namelen) { int ret; diff --git a/lib/libc_r/uthread/uthread_getsockopt.c b/lib/libc_r/uthread/uthread_getsockopt.c index f4cedb86a875..ad293fab6600 100644 --- a/lib/libc_r/uthread/uthread_getsockopt.c +++ b/lib/libc_r/uthread/uthread_getsockopt.c @@ -38,7 +38,7 @@ #include "pthread_private.h" int -getsockopt(int fd, int level, int optname, void *optval, int *optlen) +getsockopt(int fd, int level, int optname, void *optval, socklen_t *optlen) { int ret; diff --git a/lib/libc_r/uthread/uthread_recvfrom.c b/lib/libc_r/uthread/uthread_recvfrom.c index acc9f7be7878..3130dfdf7247 100644 --- a/lib/libc_r/uthread/uthread_recvfrom.c +++ b/lib/libc_r/uthread/uthread_recvfrom.c @@ -40,7 +40,7 @@ #include "pthread_private.h" ssize_t -recvfrom(int fd, void *buf, size_t len, int flags, struct sockaddr * from, int *from_len) +recvfrom(int fd, void *buf, size_t len, int flags, struct sockaddr * from, socklen_t *from_len) { int ret; diff --git a/lib/libc_r/uthread/uthread_sendto.c b/lib/libc_r/uthread/uthread_sendto.c index a001ab7a99ea..348affc14b1d 100644 --- a/lib/libc_r/uthread/uthread_sendto.c +++ b/lib/libc_r/uthread/uthread_sendto.c @@ -40,7 +40,7 @@ #include "pthread_private.h" ssize_t -sendto(int fd, const void *msg, size_t len, int flags, const struct sockaddr * to, int to_len) +sendto(int fd, const void *msg, size_t len, int flags, const struct sockaddr * to, socklen_t to_len) { int ret; diff --git a/lib/libc_r/uthread/uthread_setsockopt.c b/lib/libc_r/uthread/uthread_setsockopt.c index c38c61ff3f04..ed1155b31ecc 100644 --- a/lib/libc_r/uthread/uthread_setsockopt.c +++ b/lib/libc_r/uthread/uthread_setsockopt.c @@ -38,7 +38,7 @@ #include "pthread_private.h" int -setsockopt(int fd, int level, int optname, const void *optval, int optlen) +setsockopt(int fd, int level, int optname, const void *optval, socklen_t optlen) { int ret; diff --git a/sys/compat/svr4/svr4_stream.c b/sys/compat/svr4/svr4_stream.c index fbe6eebe747b..5399041a4fa4 100644 --- a/sys/compat/svr4/svr4_stream.c +++ b/sys/compat/svr4/svr4_stream.c @@ -340,7 +340,7 @@ svr4_recvit(p, s, mp, namelenp) len -= tocopy; m = m->m_next; } - mp->msg_controllen = ctlbuf - mp->msg_control; + mp->msg_controllen = ctlbuf - (caddr_t)mp->msg_control; } out: if (fromsa) diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index cb21ac6f6282..af24c03df2f1 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -805,7 +805,7 @@ recvit(p, s, mp, namelenp) len -= tocopy; m = m->m_next; } - mp->msg_controllen = ctlbuf - mp->msg_control; + mp->msg_controllen = ctlbuf - (caddr_t)mp->msg_control; } out: if (fromsa) diff --git a/sys/svr4/svr4_stream.c b/sys/svr4/svr4_stream.c index fbe6eebe747b..5399041a4fa4 100644 --- a/sys/svr4/svr4_stream.c +++ b/sys/svr4/svr4_stream.c @@ -340,7 +340,7 @@ svr4_recvit(p, s, mp, namelenp) len -= tocopy; m = m->m_next; } - mp->msg_controllen = ctlbuf - mp->msg_control; + mp->msg_controllen = ctlbuf - (caddr_t)mp->msg_control; } out: if (fromsa) diff --git a/sys/sys/socket.h b/sys/sys/socket.h index febf2f8a0e9b..de550ff4eb86 100644 --- a/sys/sys/socket.h +++ b/sys/sys/socket.h @@ -42,6 +42,12 @@ */ /* + * Data types. + */ +typedef u_char sa_family_t; +typedef u_int32_t socklen_t; + +/* * Types */ #define SOCK_STREAM 1 /* stream socket */ @@ -140,9 +146,9 @@ struct linger { * addresses. */ struct sockaddr { - u_char sa_len; /* total length */ - u_char sa_family; /* address family */ - char sa_data[14]; /* actually longer; address value */ + u_char sa_len; /* total length */ + sa_family_t sa_family; /* address family */ + char sa_data[14]; /* actually longer; address value */ }; #define SOCK_MAXADDRLEN 255 /* longest possible addresses */ @@ -165,11 +171,11 @@ struct sockproto { _SS_PAD1SIZE - _SS_ALIGNSIZE) struct sockaddr_storage { - u_char __ss_len; /* address length */ - u_char __ss_family; /* address family */ - char __ss_pad1[_SS_PAD1SIZE]; - int64_t __ss_align; /* force desired structure storage alignment */ - char __ss_pad2[_SS_PAD2SIZE]; + u_char __ss_len; /* address length */ + sa_family_t __ss_family; /* address family */ + char __ss_pad1[_SS_PAD1SIZE]; + int64_t __ss_align; /* force desired structure storage alignment */ + char __ss_pad2[_SS_PAD2SIZE]; }; /* @@ -179,7 +185,6 @@ struct sockaddr_storage { #define PF_LOCAL AF_LOCAL #define PF_UNIX PF_LOCAL /* backward compatibility */ #define PF_INET AF_INET -#define PF_INET6 AF_INET6 #define PF_IMPLINK AF_IMPLINK #define PF_PUP AF_PUP #define PF_CHAOS AF_CHAOS @@ -289,13 +294,13 @@ struct sockaddr_storage { * Used value-result for recvmsg, value only for sendmsg. */ struct msghdr { - caddr_t msg_name; /* optional address */ - u_int msg_namelen; /* size of address */ - struct iovec *msg_iov; /* scatter/gather array */ - u_int msg_iovlen; /* # elements in msg_iov */ - caddr_t msg_control; /* ancillary data, see below */ - u_int msg_controllen; /* ancillary data buffer len */ - int msg_flags; /* flags on received message */ + void *msg_name; /* optional address */ + socklen_t msg_namelen; /* size of address */ + struct iovec *msg_iov; /* scatter/gather array */ + int msg_iovlen; /* # elements in msg_iov */ + void *msg_control; /* ancillary data, see below */ + socklen_t msg_controllen; /* ancillary data buffer len */ + int msg_flags; /* flags on received message */ }; #define MSG_OOB 0x1 /* process out-of-band data */ @@ -316,9 +321,9 @@ struct msghdr { * of message elements headed by cmsghdr structures. */ struct cmsghdr { - u_int cmsg_len; /* data byte count, including hdr */ - int cmsg_level; /* originating protocol */ - int cmsg_type; /* protocol-specific type */ + socklen_t cmsg_len; /* data byte count, including hdr */ + int cmsg_level; /* originating protocol */ + int cmsg_type; /* protocol-specific type */ /* followed by u_char cmsg_data[]; */ }; @@ -414,22 +419,22 @@ struct sf_hdtr { #include <sys/cdefs.h> __BEGIN_DECLS -int accept __P((int, struct sockaddr *, int *)); -int bind __P((int, const struct sockaddr *, int)); -int connect __P((int, const struct sockaddr *, int)); -int getpeername __P((int, struct sockaddr *, int *)); -int getsockname __P((int, struct sockaddr *, int *)); -int getsockopt __P((int, int, int, void *, int *)); +int accept __P((int, struct sockaddr *, socklen_t *)); +int bind __P((int, const struct sockaddr *, socklen_t)); +int connect __P((int, const struct sockaddr *, socklen_t)); +int getpeername __P((int, struct sockaddr *, socklen_t *)); +int getsockname __P((int, struct sockaddr *, socklen_t *)); +int getsockopt __P((int, int, int, void *, socklen_t *)); int listen __P((int, int)); ssize_t recv __P((int, void *, size_t, int)); -ssize_t recvfrom __P((int, void *, size_t, int, struct sockaddr *, int *)); +ssize_t recvfrom __P((int, void *, size_t, int, struct sockaddr *, socklen_t *)); ssize_t recvmsg __P((int, struct msghdr *, int)); ssize_t send __P((int, const void *, size_t, int)); ssize_t sendto __P((int, const void *, - size_t, int, const struct sockaddr *, int)); + size_t, int, const struct sockaddr *, socklen_t)); ssize_t sendmsg __P((int, const struct msghdr *, int)); int sendfile __P((int, int, off_t, size_t, struct sf_hdtr *, off_t *, int)); -int setsockopt __P((int, int, int, const void *, int)); +int setsockopt __P((int, int, int, const void *, socklen_t)); int shutdown __P((int, int)); int socket __P((int, int, int)); int socketpair __P((int, int, int, int *)); |