socket.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $Id: socket.h,v 1.17 2001/06/13 16:25:03 davem Exp $ */
  2. #ifndef _ASM_SOCKET_H
  3. #define _ASM_SOCKET_H
  4. #include <asm/sockios.h>
  5. /* For setsockopt(2) */
  6. #define SOL_SOCKET 0xffff
  7. #define SO_DEBUG 0x0001
  8. #define SO_PASSCRED 0x0002
  9. #define SO_REUSEADDR 0x0004
  10. #define SO_KEEPALIVE 0x0008
  11. #define SO_DONTROUTE 0x0010
  12. #define SO_BROADCAST 0x0020
  13. #define SO_PEERCRED 0x0040
  14. #define SO_LINGER 0x0080
  15. #define SO_OOBINLINE 0x0100
  16. /* To add :#define SO_REUSEPORT 0x0200 */
  17. #define SO_BSDCOMPAT    0x0400
  18. #define SO_RCVLOWAT     0x0800
  19. #define SO_SNDLOWAT     0x1000
  20. #define SO_RCVTIMEO     0x2000
  21. #define SO_SNDTIMEO     0x4000
  22. #define SO_ACCEPTCONN 0x8000
  23. /* wha!??? */
  24. #define SO_DONTLINGER   (~SO_LINGER)  /* Older SunOS compat. hack */
  25. #define SO_SNDBUF 0x1001
  26. #define SO_RCVBUF 0x1002
  27. #define SO_ERROR 0x1007
  28. #define SO_TYPE 0x1008
  29. /* Linux specific, keep the same. */
  30. #define SO_NO_CHECK 0x000b
  31. #define SO_PRIORITY 0x000c
  32. #define SO_BINDTODEVICE 0x000d
  33. #define SO_ATTACH_FILTER 0x001a
  34. #define SO_DETACH_FILTER        0x001b
  35. #define SO_PEERNAME 0x001c
  36. #define SO_TIMESTAMP 0x001d
  37. #define SCM_TIMESTAMP SO_TIMESTAMP
  38. /* Security levels - as per NRL IPv6 - don't actually do anything */
  39. #define SO_SECURITY_AUTHENTICATION 0x5001
  40. #define SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002
  41. #define SO_SECURITY_ENCRYPTION_NETWORK 0x5004
  42. /* Nast libc5 fixup - bletch */
  43. #if defined(__KERNEL__)
  44. /* Socket types. */
  45. #define SOCK_STREAM 1 /* stream (connection) socket */
  46. #define SOCK_DGRAM 2 /* datagram (conn.less) socket */
  47. #define SOCK_RAW 3 /* raw socket */
  48. #define SOCK_RDM 4 /* reliably-delivered message */
  49. #define SOCK_SEQPACKET 5 /* sequential packet socket */
  50. #define SOCK_PACKET 10 /* linux specific way of */
  51. /* getting packets at the dev */
  52. /* level.  For writing rarp and */
  53. /* other similar things on the */
  54. /* user level. */
  55. #define SOCK_MAX (SOCK_PACKET+1)
  56. #endif
  57. #endif /* _ASM_SOCKET_H */