From caeacbccc529ea9a0054ebf3c6562a58b7c2994f Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Thu, 22 Apr 2004 04:04:21 +0000 Subject: 2004-04-22 Ralf Corsepius * libnetworking/sys/protosw.h: Partial update from FreeBSD. * libnetworking/sys/socket.h: Partial update from FreeBSD. * libnetworking/rtems/rtems_syscall.c: Reflect changes to socket.h. --- cpukit/ChangeLog | 6 +++ cpukit/libnetworking/rtems/rtems_syscall.c | 4 +- cpukit/libnetworking/sys/protosw.h | 17 ++++--- cpukit/libnetworking/sys/socket.h | 73 +++++++++++++++++------------- 4 files changed, 60 insertions(+), 40 deletions(-) (limited to 'cpukit') diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 5667345c75..f0ca188514 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2004-04-22 Ralf Corsepius + + * libnetworking/sys/protosw.h: Partial update from FreeBSD. + * libnetworking/sys/socket.h: Partial update from FreeBSD. + * libnetworking/rtems/rtems_syscall.c: Reflect changes to socket.h. + 2004-04-22 Ralf Corsepius * libnetworking/kern/uipc_socket.c: Partial update from FreeBSD diff --git a/cpukit/libnetworking/rtems/rtems_syscall.c b/cpukit/libnetworking/rtems/rtems_syscall.c index 1f17220acd..0285dc36d0 100644 --- a/cpukit/libnetworking/rtems/rtems_syscall.c +++ b/cpukit/libnetworking/rtems/rtems_syscall.c @@ -439,12 +439,12 @@ recvmsg (int s, struct msghdr *mp, int flags) } if (mp->msg_control) { struct mbuf *m; - caddr_t ctlbuf; + void *ctlbuf; len = mp->msg_controllen; m = control; mp->msg_controllen = 0; - ctlbuf = (caddr_t) mp->msg_control; + ctlbuf = mp->msg_control; while (m && (len > 0)) { unsigned int tocopy; diff --git a/cpukit/libnetworking/sys/protosw.h b/cpukit/libnetworking/sys/protosw.h index c6aa71c22c..81966c437d 100644 --- a/cpukit/libnetworking/sys/protosw.h +++ b/cpukit/libnetworking/sys/protosw.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)protosw.h 8.1 (Berkeley) 6/2/93 - * $Id$ + * $FreeBSD: src/sys/sys/protosw.h,v 1.42 2003/11/18 00:39:07 rwatson Exp $ */ #ifndef _SYS_PROTOSW_H_ @@ -155,7 +155,7 @@ struct protosw { #define PRU_NREQ 22 #ifdef PRUREQUESTS -char *prurequests[] = { +const char *prurequests[] = { "ATTACH", "DETACH", "BIND", "LISTEN", "CONNECT", "ACCEPT", "DISCONNECT", "SHUTDOWN", "RCVD", "SEND", "ABORT", "CONTROL", @@ -233,6 +233,7 @@ extern struct pr_usrreqs pru_oldstyle; */ #define PRC_IFDOWN 0 /* interface transition */ #define PRC_ROUTEDEAD 1 /* select new route if possible ??? */ +#define PRC_IFUP 2 /* interface has come back up */ #define PRC_QUENCH2 3 /* DEC congestion bit says slow down */ #define PRC_QUENCH 4 /* some one said to slow down */ #define PRC_MSGSIZE 5 /* message size forced drop */ @@ -251,20 +252,21 @@ extern struct pr_usrreqs pru_oldstyle; #define PRC_TIMXCEED_INTRANS 18 /* packet lifetime expired in transit */ #define PRC_TIMXCEED_REASS 19 /* lifetime expired on reass q */ #define PRC_PARAMPROB 20 /* header incorrect */ +#define PRC_UNREACH_ADMIN_PROHIB 21 /* packet administrativly prohibited */ -#define PRC_NCMDS 21 +#define PRC_NCMDS 22 #define PRC_IS_REDIRECT(cmd) \ ((cmd) >= PRC_REDIRECT_NET && (cmd) <= PRC_REDIRECT_TOSHOST) #ifdef PRCREQUESTS char *prcrequests[] = { - "IFDOWN", "ROUTEDEAD", "#2", "DEC-BIT-QUENCH2", + "IFDOWN", "ROUTEDEAD", "IFUP", "DEC-BIT-QUENCH2", "QUENCH", "MSGSIZE", "HOSTDEAD", "#7", "NET-UNREACH", "HOST-UNREACH", "PROTO-UNREACH", "PORT-UNREACH", "#12", "SRCFAIL-UNREACH", "NET-REDIRECT", "HOST-REDIRECT", "TOSNET-REDIRECT", "TOSHOST-REDIRECT", "TX-INTRANS", "TX-REASS", - "PARAMPROB" + "PARAMPROB", "ADMIN-UNREACH" }; #endif @@ -293,8 +295,9 @@ char *prcorequests[] = { #endif #ifdef _KERNEL -struct protosw *pffindproto __P((int family, int protocol, int type)); -struct protosw *pffindtype __P((int family, int type)); +void pfctlinput(int, struct sockaddr *); +struct protosw *pffindproto(int family, int protocol, int type); +struct protosw *pffindtype(int family, int type); #endif #endif diff --git a/cpukit/libnetworking/sys/socket.h b/cpukit/libnetworking/sys/socket.h index 544bdac10f..c56fc9d320 100644 --- a/cpukit/libnetworking/sys/socket.h +++ b/cpukit/libnetworking/sys/socket.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)socket.h 8.4 (Berkeley) 2/21/94 - * $Id$ + * $FreeBSD: src/sys/sys/socket.h,v 1.77 2004/03/14 00:49:09 mdodd Exp $ */ #ifndef _SYS_SOCKET_H_ @@ -39,6 +39,11 @@ #include +#if defined(__rtems__) +/* RTEMS doesn't have FreeBSD's sys/_types.h machinery. */ +typedef int socklen_t; +#endif + /* * Definitions related to sockets: types, address families, options. */ @@ -151,7 +156,7 @@ struct sockwakeup { * addresses. */ struct sockaddr { - u_char sa_len; /* total length */ + unsigned char sa_len; /* total length */ u_char sa_family; /* address family */ char sa_data[14]; /* actually longer; address value */ }; @@ -161,8 +166,8 @@ struct sockaddr { * information in raw sockets. */ struct sockproto { - u_short sp_family; /* address family */ - u_short sp_protocol; /* protocol */ + unsigned short sp_family; /* address family */ + uusigned short sp_protocol; /* protocol */ }; /* @@ -193,7 +198,7 @@ struct sockproto { #define PF_COIP AF_COIP #define PF_CNT AF_CNT #define PF_SIP AF_SIP -#define PF_IPX AF_IPX /* same format as AF_NS */ +#define PF_IPX AF_IPX #define PF_RTIP pseudo_AF_RTIP /* same format as AF_INET */ #define PF_PIP pseudo_AF_PIP #define PF_ISDN AF_ISDN @@ -273,11 +278,11 @@ struct sockproto { * Used value-result for recvmsg, value only for sendmsg. */ struct msghdr { - caddr_t msg_name; /* optional address */ + void *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 */ + int msg_iovlen; /* # elements in msg_iov */ + void *msg_control; /* ancillary data, see below */ u_int msg_controllen; /* ancillary data buffer len */ int msg_flags; /* flags on received message */ }; @@ -326,7 +331,7 @@ struct cmsghdr { * 4.3 compat sockaddr, move to compat file later */ struct osockaddr { - u_short sa_family; /* address family */ + unsigned short sa_family; /* address family */ char sa_data[14]; /* up to 14 bytes of direct address */ }; @@ -334,38 +339,44 @@ struct osockaddr { * 4.3-compat message header (move to compat file later). */ struct omsghdr { - caddr_t msg_name; /* optional address */ + char *msg_name; /* optional address */ int msg_namelen; /* size of address */ struct iovec *msg_iov; /* scatter/gather array */ int msg_iovlen; /* # elements in msg_iov */ - caddr_t msg_accrights; /* access rights sent/received */ + void *msg_accrights; /* access rights sent/received */ int msg_accrightslen; }; +/* + * howto arguments for shutdown(2), specified by Posix.1g. + */ +#define SHUT_RD 0 /* shut down the reading side */ +#define SHUT_WR 1 /* shut down the writing side */ +#define SHUT_RDWR 2 /* shut down both sides */ + #ifndef _KERNEL __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 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 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)); -ssize_t sendmsg __P((int, const struct msghdr *, int)); -int setsockopt __P((int, int, int, const void *, int)); -int shutdown __P((int, int)); -int socket __P((int, int, int)); -int socketpair __P((int, int, int, int *)); +int accept(int, struct sockaddr * __restrict, socklen_t * __restrict); +int bind(int, const struct sockaddr *, socklen_t); +int connect(int, const struct sockaddr *, socklen_t); +int getpeername(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 listen(int, int); +ssize_t recv(int, void *, size_t, int); +ssize_t recvfrom(int, void *, size_t, int, struct sockaddr * __restrict, socklen_t * __restrict); +ssize_t recvmsg(int, struct msghdr *, int); +ssize_t send(int, const void *, size_t, int); +ssize_t sendto(int, const void *, + size_t, int, const struct sockaddr *, socklen_t); +ssize_t sendmsg(int, const struct msghdr *, int); +int setsockopt(int, int, int, const void *, socklen_t); +int shutdown(int, int); +int socket(int, int, int); +int socketpair(int, int, int, int *); __END_DECLS -#else /* _KERNEL */ -void pfctlinput __P((int, struct sockaddr *)); #endif /* !_KERNEL */ + #endif /* !_SYS_SOCKET_H_ */ -- cgit v1.2.3