home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / unix / gsockunx.h < prev    next >
C/C++ Source or Header  |  2001-05-10  |  3KB  |  114 lines

  1. /* -------------------------------------------------------------------------
  2.  * Project: GSocket (Generic Socket) for WX
  3.  * Name:    gsockunx.h
  4.  * Purpose: GSocket Unix header
  5.  * CVSID:   $Id: gsockunx.h,v 1.7 2001/05/10 06:31:39 GRG Exp $
  6.  * -------------------------------------------------------------------------
  7.  */
  8.  
  9. #ifndef __GSOCK_UNX_H
  10. #define __GSOCK_UNX_H
  11.  
  12. #ifndef __GSOCKET_STANDALONE__
  13. #include "wx/setup.h"
  14. #endif
  15.  
  16. #if wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__)
  17.  
  18. #ifndef __GSOCKET_STANDALONE__
  19. #include "wx/gsocket.h"
  20. #else
  21. #include "gsocket.h"
  22. #endif
  23.  
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif /* __cplusplus */
  28.  
  29. #ifndef TRUE
  30. #define TRUE 1
  31. #endif
  32.  
  33. #ifndef FALSE
  34. #define FALSE 0
  35. #endif
  36.  
  37.  
  38. /* Definition of GSocket */
  39. struct _GSocket
  40. {
  41.   int m_fd;
  42.   GAddress *m_local;
  43.   GAddress *m_peer;
  44.   GSocketError m_error;
  45.  
  46.   int m_non_blocking;
  47.   int m_server;
  48.   int m_stream;
  49.   int m_oriented;
  50.   int m_establishing;
  51.   unsigned long m_timeout;
  52.  
  53.   /* Callbacks */
  54.   GSocketEventFlags m_detected;
  55.   GSocketCallback m_cbacks[GSOCK_MAX_EVENT];
  56.   char *m_data[GSOCK_MAX_EVENT];
  57.  
  58.   char *m_gui_dependent;
  59. };
  60.  
  61. /* Definition of GAddress */
  62. struct _GAddress
  63. {
  64.   struct sockaddr *m_addr;
  65.   size_t m_len;
  66.  
  67.   GAddressType m_family;
  68.   int m_realfamily;
  69.  
  70.   GSocketError m_error;
  71. };
  72.  
  73. /* Input / Output */
  74.  
  75. GSocketError _GSocket_Input_Timeout(GSocket *socket);
  76. GSocketError _GSocket_Output_Timeout(GSocket *socket);
  77. int _GSocket_Recv_Stream(GSocket *socket, char *buffer, int size);
  78. int _GSocket_Recv_Dgram(GSocket *socket, char *buffer, int size);
  79. int _GSocket_Send_Stream(GSocket *socket, const char *buffer, int size);
  80. int _GSocket_Send_Dgram(GSocket *socket, const char *buffer, int size);
  81.  
  82. /* Callbacks */
  83.  
  84. int  _GSocket_GUI_Init(GSocket *socket);
  85. void _GSocket_GUI_Destroy(GSocket *socket);
  86.  
  87. void _GSocket_Enable_Events(GSocket *socket);
  88. void _GSocket_Disable_Events(GSocket *socket);
  89. void _GSocket_Install_Callback(GSocket *socket, GSocketEvent event);
  90. void _GSocket_Uninstall_Callback(GSocket *socket, GSocketEvent event);
  91.  
  92. void _GSocket_Enable(GSocket *socket, GSocketEvent event);
  93. void _GSocket_Disable(GSocket *socket, GSocketEvent event);
  94. void _GSocket_Detected_Read(GSocket *socket);
  95. void _GSocket_Detected_Write(GSocket *socket);
  96.  
  97. /* GAddress */
  98.  
  99. GSocketError _GAddress_translate_from(GAddress *address,
  100.                                       struct sockaddr *addr, int len);
  101. GSocketError _GAddress_translate_to  (GAddress *address,
  102.                                       struct sockaddr **addr, int *len);
  103. GSocketError _GAddress_Init_INET(GAddress *address);
  104. GSocketError _GAddress_Init_UNIX(GAddress *address);
  105.  
  106.  
  107. #ifdef __cplusplus
  108. }
  109. #endif  /* __cplusplus */
  110.  
  111. #endif  /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */
  112.  
  113. #endif  /* __GSOCK_UNX_H */
  114.