Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef __MENUET_NET_H
  2. #define __MENUET_NET_H
  3.  
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7.  
  8. #include<menuet/os.h>
  9.  
  10. #define __NET_stack_rd_cfg_word 0
  11. #define __NET_stack_get_ip      1
  12. #define __NET_stack_wr_cfg_word 2
  13. #define __NET_stack_put_ip      3
  14.  
  15. #define __NET_sock_open_UDP     0
  16. #define __NET_sock_open_TCP     5
  17. #define __NET_sock_close_UDP    1
  18. #define __NET_sock_close_TCP    8
  19. #define __NET_sock_poll         2
  20. #define __NET_sock_read         3
  21. #define __NET_sock_write_UDP    4
  22. #define __NET_sock_get_status   6
  23. #define __NET_sock_write_TCP    7
  24. #define __NET_sock_check_port   9
  25.  
  26. #define __NET_socket            53
  27. #define __NET_stack             52
  28.  
  29. int __menuet__get_stack_config_word(void);
  30. __u32 __menuet__get_my_IP(void);
  31. void __menuet__set_stack_config_word(int cfg);
  32. void __menuet__set_my_IP(__u32 my_IP);
  33.  
  34. __u32 __menuet__open_UDP_socket(__u32 local_port,__u32 remote_port,__u32 remote_ip);
  35. __u32 __menuet__open_TCP_socket(__u32 local_port,__u32 remote_port,__u32 remote_ip,int mode);
  36. int __menuet__close_UDP_socket(int socket);
  37. int __menuet__close_TCP_socket(int socket);
  38. int __menuet__poll_socket(int sock);
  39. int __menuet__read_socket(int sock,__u8 * return_data);
  40. int __menuet__get_TCP_socket_status(int sock);
  41. int __menuet__write_UDP_socket(int sock,int count,void * buffer);
  42. int __menuet__write_TCP_socket(int sock,int count,void * buffer);
  43. int __menuet__check_net_port_availability(int port);
  44.  
  45. /* Values returned by __menuet__check_net_port_availability */
  46. #define PORT_AVAILABLE          (1)
  47. #define PORT_UNAVAILABLE        (0)
  48.  
  49. #define NET_OP_OK               ((int)(0))
  50. #define NET_OP_ERR              ((int)(-1))
  51.  
  52. /* These are socket modes */
  53. #define SOCKET_PASSIVE          0
  54. #define SOCKET_ACTIVE           1
  55.  
  56. /* These belong to socket status */
  57. #define TCB_LISTEN              1
  58. #define TCB_SYN_SENT            2
  59. #define TCB_SYN_RECEIVED        3
  60. #define TCB_ESTABLISHED         4
  61. #define TCB_FIN_WAIT_1          5
  62. #define TCB_FIN_WAIT_2          6
  63. #define TCB_CLOSE_WAIT          7
  64. #define TCB_CLOSING             8
  65. #define TCB_LAST_ACK            9
  66. #define TCB_TIME_AWAIT          10
  67. #define TCB_CLOSED              11
  68.  
  69. #ifdef __cplusplus
  70. }
  71. #endif
  72.  
  73. #endif
  74.