?login_element?

Subversion Repositories NedoOS

Rev

Rev 1437 | Rev 1754 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1.  
  2. struct sockaddr_in {
  3.         unsigned char   family;                 /*net type*/
  4.         unsigned char   porth;                  /*port*/
  5.                 unsigned char   portl;                  /*port*/
  6.         unsigned char   b1;
  7.                 unsigned char   b2;
  8.                 unsigned char   b3;
  9.                 unsigned char   b4;
  10.         unsigned char   zero[8];                /*reserved*/
  11. };
  12.  
  13. struct readstructure
  14.                         {
  15.                         unsigned char   socket;
  16.                         unsigned int    BufAdr;
  17.                         unsigned int    bufsize;
  18.                         unsigned char   protocol;
  19.                        
  20. //                      unsigned char   family;                 // ICMP/UDP sockaddr_in
  21. //                      unsigned char   porth;
  22. //                      unsigned char   portl;
  23. //                      unsigned char   b1;
  24. //                      unsigned char   b2;
  25. ///                     unsigned char   b3;
  26. //                      unsigned char   b4;
  27. //                      unsigned char   zero[8];
  28.                         };
  29.  
  30. unsigned int OS_NETSOCKET(unsigned int);
  31. //      D - семейство адресов, беззнаковое 8-битное число, допускается только значение 2 (AF_INET).
  32. //  E - протокол соединения(0x01 tcp/ip, 0x02 icmp, 0x03 udp/ip)
  33. //      Возвращаемые значения в регистрах:
  34. //  L - SOCKET при положительном значении, при отрицательном значении  - функция завершилась с ошибкой.
  35. //  А - errno при ошибке.
  36. //      HL - параметр вернем
  37.  
  38. unsigned int OS_NETCONNECT (unsigned char socket,struct sockaddr_in *);
  39. //      A - SOCKET
  40. //      DE - указатель на структуру sockaddr_in содержащую IP адрес и порт хоста.
  41. //      Возвращаемые значения в регистрах:
  42. //  L - При отрицательном значении  - функция завершилась с ошибкой.
  43. //  А - errno при ошибке.
  44.  
  45.  
  46. unsigned int OS_WIZNETREAD (struct readstructure *);
  47. //      A=SOCKET, de=buffer_ptr, HL=sizeof(buffer) ;
  48. //      out: HL=count if HL < 0 then A=error
  49.  
  50. unsigned int OS_WIZNETWRITE (struct readstructure *);
  51. //CMD_WIZNETWRITE=0xde
  52. //if TCP: A=SOCKET, de=buffer_ptr, HL=sizeof(buffer)
  53. //else:  A=SOCKET, IX=buffer_ptr, HL=sizeof(buffer), de=sockaddr_in ptr
  54. //out: HL=count if HL < 0 then A=error
  55.  
  56. unsigned int OS_BIND(unsigned char socket,struct sockaddr_in *);
  57. //      A=SOCKET, DE=sockaddr ptr {unsigned char sin_family /*net type*/; unsigned short sin_port; struct in_addr sin_addr /*4 bytes IP*/; char sin_zero[8];}
  58.  
  59. unsigned int OS_LISTEN(unsigned char socket);
  60. // A - SOCKET
  61. // Возвращаемые значения в регистрах:
  62. // L - При отрицательном значении - функция завершилась с ошибкой.
  63. // А - errno при ошибке.
  64.  
  65. unsigned int OS_ACCEPT(unsigned char socket);
  66. // A - SOCKET
  67. // Возвращаемые значения в регистрах:
  68. // L - SOCKET при положительном значении, при отрицательном значении  - функция завершилась с ошибкой.
  69. // А - errno при ошибке.
  70.  
  71. unsigned int OS_NETSHUTDOWN (unsigned char socket);
  72. // A=SOCKET ;
  73. // out: if HL < 0 then A=error
  74.  
  75.  
  76.  
  77.  
  78.  
  79. #define IPPROTO_TCP 6
  80. #define IPPROTO_UDP 17
  81.  
  82. #define AF_UNSPEC 0
  83. #define AF_INET 2
  84. #define AF_INET6 23
  85.  
  86. #define SOCK_STREAM 0x01        //tcp/ip
  87. #define SOCK_ICMP       0x02    //icmp
  88. #define SOCK_DGRAM      0x03    //udp/ip
  89. #define ERR_INTR                 4
  90. #define ERR_NFILE                23
  91. #define ERR_ALREADY      37
  92. #define ERR_NOTSOCK      38
  93. #define ERR_EAGAIN               35                     /* Try again */
  94. #define ERR_EWOULDBLOCK  ERR_EAGAIN             /* Operation would block */
  95. #define ERR_EMSGSIZE     40             /* Message too long */
  96. #define ERR_PROTOTYPE    41
  97. #define ERR_AFNOSUPPORT  47
  98. #define ERR_HOSTUNREACH  65
  99. #define ECONNABORTED    53      /* Software caused connection abort */
  100. #define ERR_CONNRESET    54
  101. #define ERR_NOTCONN      57
  102.  
  103.  
  104.  
  105.  
  106.