]>
Commit | Line | Data |
---|---|---|
a887211b CV |
1 | /* asm/socket.h |
2 | ||
bc837d22 | 3 | Copyright 1996, 1997, 1998, 2000, 2001, 2005, 2007 Red Hat, Inc. |
a887211b CV |
4 | |
5 | This file is part of Cygwin. | |
6 | ||
7 | This software is a copyrighted work licensed under the terms of the | |
8 | Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
9 | details. */ | |
10 | ||
1fd5e000 CF |
11 | #ifndef _ASM_SOCKET_H |
12 | #define _ASM_SOCKET_H | |
13 | ||
14 | #include <cygwin/if.h> | |
15 | ||
16 | #define IOCPARM_MASK 0x7f /* parameters must be < 128 bytes */ | |
17 | #define IOC_VOID 0x20000000 /* no parameters */ | |
18 | #define IOC_OUT 0x40000000 /* copy out parameters */ | |
19 | #define IOC_IN 0x80000000 /* copy in parameters */ | |
20 | ||
21 | #define _IO(x,y) (IOC_VOID|(x<<8)|y) | |
22 | #define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) | |
23 | #define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) | |
24 | ||
25 | #define SIOCATMARK _IOR('s', 7, u_long) /* at oob mark? */ | |
26 | #define FIONREAD _IOR('f', 127, u_long) /* get # bytes to read */ | |
27 | #define FIONBIO 0x8004667e /* To be compatible with termiost version */ | |
28 | #define REAL_FIONBIO _IOW('f', 126, u_long) /* set/clear non-blocking i/o */ | |
29 | #define FIOASYNC _IOW('f', 125, u_long) /* set/clear async i/o */ | |
30 | #define SIOCSHIWAT _IOW('s', 0, u_long) /* set high watermark */ | |
31 | #define SIOCGHIWAT _IOR('s', 1, u_long) /* get high watermark */ | |
32 | #define SIOCSLOWAT _IOW('s', 2, u_long) /* set low watermark */ | |
33 | #define SIOCGLOWAT _IOR('s', 3, u_long) /* get low watermark */ | |
34 | ||
35 | /* Needed for if queries */ | |
9182099c CV |
36 | #define SIOCGIFCONF _IOW('s', 100, struct ifconf) /* get if list */ |
37 | #define SIOCGIFFLAGS _IOW('s', 101, struct ifreq) /* Get if flags */ | |
38 | #define SIOCGIFADDR _IOW('s', 102, struct ifreq) /* Get if addr */ | |
1fd5e000 CF |
39 | #define SIOCGIFBRDADDR _IOW('s', 103, struct ifreq) /* Get if broadcastaddr */ |
40 | #define SIOCGIFNETMASK _IOW('s', 104, struct ifreq) /* Get if netmask */ | |
9182099c CV |
41 | #define SIOCGIFHWADDR _IOW('s', 105, struct ifreq) /* Get hw addr */ |
42 | #define SIOCGIFMETRIC _IOW('s', 106, struct ifreq) /* get metric */ | |
43 | #define SIOCGIFMTU _IOW('s', 107, struct ifreq) /* get MTU size */ | |
835fc32a | 44 | #define SIOCGIFINDEX _IOW('s', 108, struct ifreq) /* get if index */ |
12ffdde3 | 45 | #define SIOGIFINDEX SIOCGIFINDEX /* backward compatibility w/ Linux typo. */ |
bff43891 | 46 | #define SIOCGIFFRNDLYNAM _IOW('s', 109, struct ifreq) /* get friendly if name */ |
8e4a60b3 | 47 | #define SIOCGIFDSTADDR _IOW('s', 110, struct ifreq) /* Get if dstaddr */ |
1fd5e000 CF |
48 | |
49 | #define SOL_SOCKET 0xffff /* options for socket level */ | |
50 | ||
51 | #define SO_DEBUG 0x0001 /* turn on debugging info recording */ | |
52 | #define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ | |
53 | #define SO_REUSEADDR 0x0004 /* allow local address reuse */ | |
54 | #define SO_KEEPALIVE 0x0008 /* keep connections alive */ | |
55 | #define SO_DONTROUTE 0x0010 /* just use interface addresses */ | |
56 | #define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */ | |
57 | #define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ | |
58 | #define SO_LINGER 0x0080 /* linger on close if data present */ | |
59 | #define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ | |
60 | #define SO_DONTLINGER (u_int)(~SO_LINGER) | |
c8b404bf | 61 | #define SO_PEERCRED 0x0200 /* same as getpeereid */ |
1fd5e000 | 62 | |
75a57bf0 CF |
63 | /* |
64 | * Additional options. | |
65 | */ | |
66 | #define SO_SNDBUF 0x1001 /* send buffer size */ | |
67 | #define SO_RCVBUF 0x1002 /* receive buffer size */ | |
68 | #define SO_SNDLOWAT 0x1003 /* send low-water mark */ | |
69 | #define SO_RCVLOWAT 0x1004 /* receive low-water mark */ | |
70 | #define SO_SNDTIMEO 0x1005 /* send timeout */ | |
71 | #define SO_RCVTIMEO 0x1006 /* receive timeout */ | |
72 | #define SO_ERROR 0x1007 /* get error status and clear */ | |
73 | #define SO_TYPE 0x1008 /* get socket type */ | |
1fd5e000 CF |
74 | |
75 | #endif /* _ASM_SOCKET_H */ | |
76 |