?login_element?

Subversion Repositories NedoOS

Rev

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

  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.  
  21. unsigned int OS_NETSOCKET(unsigned int);
  22. //      D - семейство адресов, беззнаковое 8-битное число, допускается только значение 2 (AF_INET).
  23. //  E - протокол соединения(0x01 tcp/ip, 0x02 icmp, 0x03 udp/ip)
  24. //      Возвращаемые значения в регистрах:
  25. //  L - SOCKET при положительном значении, при отрицательном значении  - функция завершилась с ошибкой.
  26. //  А - errno при ошибке.
  27. //      HL - параметр вернем
  28.  
  29. unsigned int OS_NETCONNECT (unsigned char socket,struct sockaddr_in *);
  30. //      A - SOCKET
  31. //      DE - указатель на структуру sockaddr_in содержащую IP адрес и порт хоста.
  32. //      Возвращаемые значения в регистрах:
  33. //  L - При отрицательном значении  - функция завершилась с ошибкой.
  34. //  А - errno при ошибке.
  35.  
  36.  
  37. unsigned int OS_WIZNETREAD (struct readstructure *);
  38. //      A=SOCKET, de=buffer_ptr, HL=sizeof(buffer) ;
  39. //      out: HL=count if HL < 0 then A=error
  40.  
  41. unsigned int OS_WIZNETWRITE (struct readstructure *);
  42. //CMD_WIZNETWRITE=0xde
  43. //if TCP: A=SOCKET, de=buffer_ptr, HL=sizeof(buffer)
  44. //else:  A=SOCKET, IX=buffer_ptr, HL=sizeof(buffer), de=sockaddr_in ptr
  45. //out: HL=count if HL < 0 then A=error
  46.  
  47. unsigned int OS_BIND(unsigned char socket,struct sockaddr_in *);
  48. //      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];}
  49.  
  50. unsigned int OS_LISTEN(unsigned char socket);
  51. // A - SOCKET
  52. // Возвращаемые значения в регистрах:
  53. // L - При отрицательном значении - функция завершилась с ошибкой.
  54. // А - errno при ошибке.
  55.  
  56. unsigned int OS_ACCEPT(unsigned char socket);
  57. // A - SOCKET
  58. // Возвращаемые значения в регистрах:
  59. // L - SOCKET при положительном значении, при отрицательном значении  - функция завершилась с ошибкой.
  60. // А - errno при ошибке.
  61.  
  62. unsigned int OS_NETSHUTDOWN (unsigned char socket);
  63. // A=SOCKET ;
  64. // out: if HL < 0 then A=error
  65.  
  66. unsigned long OS_DNSRESOLVE (unsigned int adrptr);
  67. //      de=buffer_ptr adress
  68. //      out:
  69.  
  70.  
  71. #define IPPROTO_TCP 6
  72. #define IPPROTO_UDP 17
  73.  
  74. #define AF_UNSPEC 0
  75. #define AF_INET 2
  76. #define AF_INET6 23
  77.  
  78. #define SOCK_STREAM 0x01        //tcp/ip
  79. #define SOCK_ICMP       0x02    //icmp
  80. #define SOCK_DGRAM      0x03    //udp/ip
  81. #define ERR_INTR                 4
  82. #define ERR_NFILE                23
  83. #define ERR_ALREADY      37
  84. #define ERR_NOTSOCK      38
  85. #define ERR_EAGAIN               35                     /* Try again */
  86. #define ERR_EWOULDBLOCK  ERR_EAGAIN             /* Operation would block */
  87. #define ERR_EMSGSIZE     40             /* Message too long */
  88. #define ERR_PROTOTYPE    41
  89. #define ERR_AFNOSUPPORT  47
  90. #define ERR_HOSTUNREACH  65
  91. #define ECONNABORTED    53      /* Software caused connection abort */
  92. #define ERR_CONNRESET    54
  93. #define ERR_NOTCONN      57
  94.  
  95.  
  96.  
  97.  
  98.