summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2004-04-22 04:04:21 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2004-04-22 04:04:21 +0000
commitcaeacbccc529ea9a0054ebf3c6562a58b7c2994f (patch)
tree10117c96e23022021b2d85d08775235c50b2571c /cpukit
parent2004-04-22 Ralf Corsepius <ralf_corsepius@rtems.org> (diff)
downloadrtems-caeacbccc529ea9a0054ebf3c6562a58b7c2994f.tar.bz2
2004-04-22 Ralf Corsepius <ralf_corsepius@rtems.org>
* 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.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog6
-rw-r--r--cpukit/libnetworking/rtems/rtems_syscall.c4
-rw-r--r--cpukit/libnetworking/sys/protosw.h17
-rw-r--r--cpukit/libnetworking/sys/socket.h73
4 files changed, 60 insertions, 40 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 5667345c75..f0ca188514 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,5 +1,11 @@
2004-04-22 Ralf Corsepius <ralf_corsepius@rtems.org>
+ * 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 <ralf_corsepius@rtems.org>
+
* libnetworking/kern/uipc_socket.c: Partial update from FreeBSD
(Remove adv-clause from copyright notice).
* libnetworking/netinet/igmp_var.h: 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 <sys/cdefs.h>
+#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_ */