77 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
	
| /* asm/socket.h
 | |
| 
 | |
| This file is part of Cygwin.
 | |
| 
 | |
| This software is a copyrighted work licensed under the terms of the
 | |
| Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 | |
| details. */
 | |
| 
 | |
| #ifndef _ASM_SOCKET_H
 | |
| #define _ASM_SOCKET_H
 | |
| 
 | |
| #include <cygwin/if.h>
 | |
| 
 | |
| #define IOCPARM_MASK    0x7f            /* parameters must be < 128 bytes */
 | |
| #define IOC_VOID        0x20000000      /* no parameters */
 | |
| #define IOC_OUT         0x40000000      /* copy out parameters */
 | |
| #define IOC_IN          0x80000000      /* copy in parameters */
 | |
| 
 | |
| #define _IO(x,y)        (IOC_VOID|(x<<8)|y)
 | |
| #define _IOR(x,y,t)     (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
 | |
| #define _IOW(x,y,t)     (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
 | |
| 
 | |
| #define SIOCATMARK  _IOR('s',  7, long)  /* at oob mark? */
 | |
| #define FIONREAD    _IOR('f', 127, long) /* get # bytes to read */
 | |
| #define SIOCINQ     FIONREAD
 | |
| /* Compatible with termios.h */
 | |
| #define FIONBIO     0x8004667e		 /* set/clear non-blocking i/o */
 | |
| #define FIOASYNC    _IOW('f', 125, long) /* set/clear async i/o */
 | |
| #define SIOCSHIWAT  _IOW('s',  0, long)  /* set high watermark */
 | |
| #define SIOCGHIWAT  _IOR('s',  1, long)  /* get high watermark */
 | |
| #define SIOCSLOWAT  _IOW('s',  2, long)  /* set low watermark */
 | |
| #define SIOCGLOWAT  _IOR('s',  3, long)  /* get low watermark */
 | |
| 
 | |
| /* Needed for if queries */
 | |
| #define SIOCGIFCONF     _IOW('s', 100, struct ifconf) /* get if list */
 | |
| #define SIOCGIFFLAGS    _IOW('s', 101, struct ifreq) /* Get if flags */
 | |
| #define SIOCGIFADDR     _IOW('s', 102, struct ifreq) /* Get if addr */
 | |
| #define SIOCGIFBRDADDR  _IOW('s', 103, struct ifreq) /* Get if broadcastaddr */
 | |
| #define SIOCGIFNETMASK  _IOW('s', 104, struct ifreq) /* Get if netmask */
 | |
| #define SIOCGIFHWADDR   _IOW('s', 105, struct ifreq) /* Get hw addr */
 | |
| #define SIOCGIFMETRIC   _IOW('s', 106, struct ifreq) /* get metric */
 | |
| #define SIOCGIFMTU      _IOW('s', 107, struct ifreq) /* get MTU size */
 | |
| #define SIOCGIFINDEX    _IOW('s', 108, struct ifreq) /* get if index */
 | |
| #define SIOGIFINDEX SIOCGIFINDEX /* backward compatibility w/ Linux typo. */
 | |
| #define SIOCGIFFRNDLYNAM _IOW('s', 109, struct ifreq) /* get friendly if name */
 | |
| #define SIOCGIFDSTADDR  _IOW('s', 110, struct ifreq) /* Get if dstaddr */
 | |
| 
 | |
| #define SOL_SOCKET      0xffff          /* options for socket level */
 | |
| 
 | |
| #define SO_DEBUG        0x0001          /* turn on debugging info recording */
 | |
| #define SO_ACCEPTCONN   0x0002          /* socket has had listen() */
 | |
| #define SO_REUSEADDR    0x0004          /* allow local address reuse */
 | |
| #define SO_KEEPALIVE    0x0008          /* keep connections alive */
 | |
| #define SO_DONTROUTE    0x0010          /* just use interface addresses */
 | |
| #define SO_BROADCAST    0x0020          /* permit sending of broadcast msgs */
 | |
| #define SO_USELOOPBACK  0x0040          /* bypass hardware when possible */
 | |
| #define SO_LINGER       0x0080          /* linger on close if data present */
 | |
| #define SO_OOBINLINE    0x0100          /* leave received OOB data in line */
 | |
| #define SO_DONTLINGER   (unsigned int)(~SO_LINGER)
 | |
| #define SO_PEERCRED	0x0200		/* same as getpeereid */
 | |
| #define SO_PASSCRED	0x0400		/* enable receiving of credentials */
 | |
| 
 | |
| /*
 | |
|  * Additional options.
 | |
|  */
 | |
| #define SO_SNDBUF       0x1001          /* send buffer size */
 | |
| #define SO_RCVBUF       0x1002          /* receive buffer size */
 | |
| #define SO_SNDLOWAT     0x1003          /* send low-water mark */
 | |
| #define SO_RCVLOWAT     0x1004          /* receive low-water mark */
 | |
| #define SO_SNDTIMEO     0x1005          /* send timeout */
 | |
| #define SO_RCVTIMEO     0x1006          /* receive timeout */
 | |
| #define SO_ERROR        0x1007          /* get error status and clear */
 | |
| #define SO_TYPE         0x1008          /* get socket type */
 | |
| 
 | |
| #endif /* _ASM_SOCKET_H */
 | |
| 
 |