summaryrefslogtreecommitdiff
path: root/mit-pthreads/machdep/linux-2.0/socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'mit-pthreads/machdep/linux-2.0/socket.h')
-rwxr-xr-xmit-pthreads/machdep/linux-2.0/socket.h187
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
-
-
-