forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_ */
|
||||
|
||||
Reference in New Issue
Block a user