Subversion Repositories Kolibri OS

Rev

Rev 1155 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ; Socket types
  2. SOCK_STREAM     = 1
  3. SOCK_DGRAM      = 2
  4. SOCK_RAW        = 3
  5.  
  6. ; Socket options
  7. SO_NONBLOCK     = 1 shl 31
  8.  
  9. ; IP protocols
  10. IPPROTO_IP      = 0
  11. IPPROTO_ICMP    = 1
  12. IPPROTO_TCP     = 6
  13. IPPROTO_UDP     = 17
  14.  
  15. ; Address families
  16. AF_UNSPEC       = 0
  17. AF_LOCAL        = 1
  18. AF_INET4        = 2     ; IPv4
  19. AF_INET6        = 28    ; IPv6 (not supported yet)
  20.  
  21. PF_UNSPEC       = AF_UNSPEC
  22. PF_LOCAL        = AF_LOCAL
  23. PF_INET4        = AF_INET4
  24. PF_INET6        = AF_INET6
  25.  
  26. ; Flags for addrinfo
  27. AI_PASSIVE      = 1
  28. AI_CANONNAME    = 2
  29. AI_NUMERICHOST  = 4
  30. AI_NUMERICSERV  = 8
  31. AI_ADDRCONFIG   = 0x400
  32.  
  33. ; internal definition
  34. AI_SUPPORTED    = 0x40F
  35.  
  36. ; for system function 76
  37. API_ETH         = 0 shl 16
  38. API_IPv4        = 1 shl 16
  39. API_ICMP        = 2 shl 16
  40. API_UDP         = 3 shl 16
  41. API_TCP         = 4 shl 16
  42. API_ARP         = 5 shl 16
  43. API_PPPOE       = 6 shl 16
  44.  
  45. struct sockaddr_in
  46.         sin_family      dw      ?       ; sa_family_t
  47.         sin_port        dw      ?       ; in_port_t
  48.         sin_addr        dd      ?       ; struct in_addr
  49.         sin_zero        rb      8       ; zero
  50. ends
  51.  
  52. struct addrinfo
  53.         ai_flags        dd      ?       ; bitmask of AI_*
  54.         ai_family       dd      ?       ; PF_*
  55.         ai_socktype     dd      ?       ; SOCK_*
  56.         ai_protocol     dd      ?       ; 0 or IPPROTO_*
  57.         ai_addrlen      dd      ?       ; length of ai_addr
  58.         ai_canonname    dd      ?       ; char*
  59.         ai_addr         dd      ?       ; struct sockaddr*
  60.         ai_next         dd      ?       ; struct addrinfo*
  61. ends
  62.  
  63. EAI_ADDRFAMILY  = 1
  64. EAI_AGAIN       = 2
  65. EAI_BADFLAGS    = 3
  66. EAI_FAIL        = 4
  67. EAI_FAMILY      = 5
  68. EAI_MEMORY      = 6
  69. EAI_NONAME      = 8
  70. EAI_SERVICE     = 9
  71. EAI_SOCKTYPE    = 10
  72. EAI_BADHINTS    = 12
  73. EAI_PROTOCOL    = 13
  74. EAI_OVERFLOW    = 14
  75.  
  76. socket          fix 75, 0
  77. close           fix 75, 1
  78. bind            fix 75, 2
  79. listen          fix 75, 3
  80. connect         fix 75, 4
  81. accept          fix 75, 5
  82. send            fix 75, 6
  83. recv            fix 75, 7
  84. setsockopt      fix 75, 8
  85. getsockopt      fix 75, 9
  86. socketpair      fix 75, 10
  87.  
  88.  
  89. struct  ARP_entry
  90.         IP      dd ?
  91.         MAC     dp ?
  92.         status  dw ?
  93.         TTL     dw ?
  94. ends
  95.