diff options
Diffstat (limited to 'mit-pthreads/machdep/linux-2.0/socket.h')
-rwxr-xr-x | mit-pthreads/machdep/linux-2.0/socket.h | 187 |
1 files changed, 2 insertions, 185 deletions
diff --git a/mit-pthreads/machdep/linux-2.0/socket.h b/mit-pthreads/machdep/linux-2.0/socket.h index fb43c394e10..2a8a04f1903 100755 --- a/mit-pthreads/machdep/linux-2.0/socket.h +++ b/mit-pthreads/machdep/linux-2.0/socket.h @@ -1,4 +1,4 @@ -/* ==== socket.h.h ============================================================ +/* ==== socket.h ============================================================ * Copyright (c) 1994 by Chris Provenzano, proven@athena.mit.edu * * Description : Correct Linux header file. @@ -7,190 +7,7 @@ #ifndef _PTHREAD_SOCKET_H_ #define _PTHREAD_SOCKET_H_ -/* #include <linux/socket.h> */ -#ifndef _LINUX_SOCKET_H -#define _LINUX_SOCKET_H +#include "bits/socket.h" -/* IP options */ -#define IP_TOS 1 -#define IPTOS_LOWDELAY 0x10 -#define IPTOS_THROUGHPUT 0x08 -#define IPTOS_RELIABILITY 0x04 -#define IP_TTL 2 -#ifndef IP_HDRINCL -#define IP_HDRINCL 3 #endif -#ifdef V1_3_WILL_DO_THIS_FUNKY_STUFF -#define IP_OPTIONS 4 -#endif - -#endif - -/* Type for length arguments in socket calls. */ -typedef unsigned int socklen_t; - -/* #include <asm/socket.h> arch-dependent defines */ -#include <linux/sockios.h> /* the SIOCxxx I/O controls */ -#include <pthread/posix.h> - -struct sockaddr { - unsigned short sa_family; /* address family, AF_xxx */ - char sa_data[14]; /* 14 bytes of protocol address */ -}; - -struct linger { - int l_onoff; /* Linger active */ - int l_linger; /* How long to linger for */ -}; - -struct msghdr -{ - void * msg_name; /* Socket name */ - int msg_namelen; /* Length of name */ - struct iovec * msg_iov; /* Data blocks */ - int msg_iovlen; /* Number of blocks */ - void * msg_accrights; /* Per protocol magic (eg BSD file descriptor passing) */ - int msg_accrightslen;/* Length of rights list */ -}; - -/* Socket types. */ -#define SOCK_STREAM 1 /* stream (connection) socket */ -#define SOCK_DGRAM 2 /* datagram (conn.less) socket */ -#define SOCK_RAW 3 /* raw socket */ -#define SOCK_RDM 4 /* reliably-delivered message */ -#define SOCK_SEQPACKET 5 /* sequential packet socket */ -#define SOCK_PACKET 10 /* linux specific way of */ - /* getting packets at the dev */ - /* level. For writing rarp and */ - /* other similar things on the */ - /* user level. */ - -/* Supported address families. */ -#define AF_UNSPEC 0 -#define AF_UNIX 1 /* Unix domain sockets */ -#define AF_INET 2 /* Internet IP Protocol */ -#define AF_AX25 3 /* Amateur Radio AX.25 */ -#define AF_IPX 4 /* Novell IPX */ -#define AF_APPLETALK 5 /* Appletalk DDP */ -#define AF_NETROM 6 /* Amateur radio NetROM */ -#define AF_BRIDGE 7 /* Multiprotocol bridge */ -#define AF_AAL5 8 /* Reserved for Werner's ATM */ -#define AF_X25 9 /* Reserved for X.25 project */ -#define AF_INET6 10 /* IP version 6 */ -#define AF_MAX 12 /* For now.. */ - -/* Protocol families, same as address families. */ -#define PF_UNSPEC AF_UNSPEC -#define PF_UNIX AF_UNIX -#define PF_INET AF_INET -#define PF_AX25 AF_AX25 -#define PF_IPX AF_IPX -#define PF_APPLETALK AF_APPLETALK -#define PF_NETROM AF_NETROM -#define PF_BRIDGE AF_BRIDGE -#define PF_AAL5 AF_AAL5 -#define PF_X25 AF_X25 -#define PF_INET6 AF_INET6 - -#define PF_MAX AF_MAX - -/* Maximum queue length specificable by listen. */ -#define SOMAXCONN 128 - -/* Flags we can use with send/ and recv. */ -#define MSG_OOB 1 -#define MSG_PEEK 2 -#define MSG_DONTROUTE 4 - -/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */ -#define SOL_SOCKET 1 -#define SOL_IP 0 -#define SOL_IPX 256 -#define SOL_AX25 257 -#define SOL_ATALK 258 -#define SOL_NETROM 259 -#define SOL_TCP 6 -#define SOL_UDP 17 - -/* For setsockoptions(2) */ -#define SO_DEBUG 1 -#define SO_REUSEADDR 2 -#define SO_TYPE 3 -#define SO_ERROR 4 -#define SO_DONTROUTE 5 -#define SO_BROADCAST 6 -#define SO_SNDBUF 7 -#define SO_RCVBUF 8 -#define SO_KEEPALIVE 9 -#define SO_OOBINLINE 10 -#define SO_NO_CHECK 11 -#define SO_PRIORITY 12 -#define SO_LINGER 13 -/* To add :#define SO_REUSEPORT 14 */ - - -#define IP_MULTICAST_IF 32 -#define IP_MULTICAST_TTL 33 -#define IP_MULTICAST_LOOP 34 -#define IP_ADD_MEMBERSHIP 35 -#define IP_DROP_MEMBERSHIP 36 - - -/* These need to appear somewhere around here */ -#define IP_DEFAULT_MULTICAST_TTL 1 -#define IP_DEFAULT_MULTICAST_LOOP 1 -#define IP_MAX_MEMBERSHIPS 20 - -/* IPX options */ -#define IPX_TYPE 1 - -/* TCP options - this way around because someone left a set in the c library includes */ -#define TCP_NODELAY 1 -#define TCP_MAXSEG 2 - -/* The various priorities. */ -#define SOPRI_INTERACTIVE 0 -#define SOPRI_NORMAL 1 -#define SOPRI_BACKGROUND 2 - -/* - * Functions - */ - -__BEGIN_DECLS - -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 listen __P_((int, int)); -int socket __P_((int, int, int)); - -int getsockopt __P_((int __s, int __level, int __optname, - void *__optval, socklen_t *__optlen)); -int setsockopt __P_((int __s, int __level, int __optname, - __const void *__optval, socklen_t optlen)); -int getsockname __P_((int __sockfd, struct sockaddr *__addr, - socklen_t *__paddrlen)); -int getpeername __P_((int __sockfd, struct sockaddr *__peer, - socklen_t *__paddrlen)); -ssize_t send __P_((int __sockfd, __const void *__buff, size_t __len, int __flags)); -ssize_t recv __P_((int __sockfd, void *__buff, size_t __len, int __flags)); -ssize_t sendto __P_((int __sockfd, __const void *__buff, size_t __len, - int __flags, __const struct sockaddr *__to, - socklen_t __tolen)); -ssize_t recvfrom __P_((int __sockfd, void *__buff, size_t __len, - int __flags, struct sockaddr *__from, - socklen_t *__fromlen)); -extern ssize_t sendmsg __P_((int __fd, __const struct msghdr *__message, - int __flags)); -extern ssize_t recvmsg __P_((int __fd, struct msghdr *__message, - int __flags)); -int shutdown __P_((int __sockfd, int __how)); - -__END_DECLS - -#endif - - - |