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 */
|
|
|