?login_element?

Subversion Repositories NedoOS

Rev

Rev 1963 | 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.  
  21. void OS_SETDNS(void * addr);
  22.  
  23. void OS_GETDNS(void * addr);
  24.  
  25. unsigned int OS_NETSOCKET(unsigned int);
  26. //      D - семейство адресов, беззнаковое 8-битное число, допускается только значение 2 (AF_INET).
  27. //  E - протокол соединения(0x01 tcp/ip, 0x02 icmp, 0x03 udp/ip)
  28. //      Возвращаемые значения в регистрах:
  29. //  L - SOCKET при положительном значении, при отрицательном значении  - функция завершилась с ошибкой.
  30. //  А - errno при ошибке.
  31. //      HL - параметр вернем
  32.  
  33. unsigned int OS_NETCONNECT (unsigned char socket,struct sockaddr_in *);
  34. //      A - SOCKET
  35. //      DE - указатель на структуру sockaddr_in содержащую IP адрес и порт хоста.
  36. //      Возвращаемые значения в регистрах:
  37. //  L - При отрицательном значении  - функция завершилась с ошибкой.
  38. //  А - errno при ошибке.
  39.  
  40.  
  41. unsigned int OS_WIZNETREAD (struct readstructure *);
  42. //      A=SOCKET, de=buffer_ptr, HL=sizeof(buffer) ;
  43. //      out: HL=count if HL < 0 then A=error
  44.  
  45. unsigned int OS_WIZNETWRITE (struct readstructure *);
  46. //CMD_WIZNETWRITE=0xde
  47. //in : A=SOCKET, de=buffer_ptr, HL=sizeof(buffer)
  48. //out: HL=count if HL < 0 then A=error
  49.  
  50.  
  51. unsigned int OS_WIZNETWRITE_UDP (struct readstructure *, struct sockaddr_in *);
  52. //CMD_WIZNETWRITE=0xde
  53. //in : A=SOCKET, IX=buffer_ptr, HL=sizeof(buffer), de=sockaddr_in ptr
  54. //out: HL=count if HL < 0 then A=error
  55.  
  56. /*
  57.   A - SOCKET
  58.   DE - указатель на структуру sockaddr_in, в неё необходимо поместить IP-адрес и порт хоста получателя
  59.   IX - указатель на буфер с данными
  60.   HL - размер данных(в байтах), в текущей реализации максимум 8192 байта
  61.  Возвращаемые значения в регистрах:
  62.   HL - при отрицательном значении функция завершилась с ошибкой,
  63.    иначе возвращается действительный размер(в байтах) отправленных данных,
  64.   А - errno при ошибке.
  65. */
  66.  
  67.  
  68.  
  69.  
  70.  
  71. unsigned int OS_WIZNETREAD_UDP (struct readstructure *, struct sockaddr_in *);
  72. /*
  73.   A - SOCKET
  74.   DE - указатель на структуру sockaddr_in, в неё помещается(ядром) IP-адрес и порт хоста отправившего данные.
  75.   IX - указатель на буфер для принятия данных
  76.   HL - размер буфера(в байтах)
  77.  Возвращаемые значения в регистрах:
  78.   HL - при отрицательном значении функция завершилась с ошибкой,
  79.    про значении больше нуля возвращается действительный размер(в байтах) принятых данных,
  80.    нулевого значения вызов не возвращает.
  81.   А - errno при ошибке.
  82. */
  83.  
  84.  
  85. unsigned int OS_BIND(unsigned char socket,struct sockaddr_in *);
  86. //      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];}
  87.  
  88. unsigned int OS_LISTEN(unsigned char socket);
  89. // A - SOCKET
  90. // Возвращаемые значения в регистрах:
  91. // L - При отрицательном значении - функция завершилась с ошибкой.
  92. // А - errno при ошибке.
  93.  
  94. unsigned int OS_ACCEPT(unsigned char socket);
  95. // A - SOCKET
  96. // Возвращаемые значения в регистрах:
  97. // L - SOCKET при положительном значении, при отрицательном значении  - функция завершилась с ошибкой.
  98. // А - errno при ошибке.
  99.  
  100. unsigned int OS_NETSHUTDOWN (unsigned char socket, unsigned char type);
  101. // A=SOCKET
  102. // E=Type 0 - immediately 1 - only if output buffer empty
  103. // out: if HL < 0 then A=error
  104.  
  105. unsigned long OS_DNSRESOLVE (unsigned int adrptr);
  106. //      de=buffer_ptr adress
  107. //      out:
  108.  
  109.  
  110. #define IPPROTO_TCP 6
  111. #define IPPROTO_UDP 17
  112.  
  113. #define AF_UNSPEC 0
  114. #define AF_INET 2
  115. #define AF_INET6 23
  116.  
  117. #define SOCK_STREAM 0x01        //tcp/ip
  118. #define SOCK_ICMP       0x02    //icmp
  119. #define SOCK_DGRAM      0x03    //udp/ip
  120. #define ERR_INTR                 4
  121. #define ERR_NFILE                23
  122. #define ERR_ALREADY      37
  123. #define ERR_NOTSOCK      38
  124. #define ERR_EAGAIN               35                     /* Try again */
  125. #define ERR_EWOULDBLOCK  ERR_EAGAIN             /* Operation would block */
  126. #define ERR_EMSGSIZE     40             /* Message too long */
  127. #define ERR_PROTOTYPE    41
  128. #define ERR_AFNOSUPPORT  47
  129. #define ERR_HOSTUNREACH  65
  130. #define ECONNABORTED    53      /* Software caused connection abort */
  131. #define ERR_CONNRESET    54
  132. #define ERR_NOTCONN      57
  133.