From: Guillermo Rodriguez Garcia Date: Tue, 7 Sep 1999 15:20:51 +0000 (+0000) Subject: Header file for MSW GSocket X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/904ec517d32ae8ed7b45bf69d94892eca0eac05a Header file for MSW GSocket git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/gsockmsw.h b/include/wx/msw/gsockmsw.h new file mode 100644 index 0000000000..001c18be46 --- /dev/null +++ b/include/wx/msw/gsockmsw.h @@ -0,0 +1,87 @@ +/* ------------------------------------------------------------------------- + * Project: GSocket (Generic Socket) for WX + * Name: gsockmsw.h + * Purpose: GSocket MSW header + * CVSID: $Id$ + * ------------------------------------------------------------------------- + */ + +#ifndef __GSOCK_MSW_H +#define __GSOCK_MSW_H + +#ifdef __WXMSW__ +#include "wx/gsocket.h" +#else +#include "gsocket.h" +#endif + +#include + + +/* Definition of GSocket */ +struct _GSocket +{ + SOCKET m_fd; + GAddress *m_local; + GAddress *m_peer; + GSocketError m_error; + + bool m_non_blocking; + bool m_server; + bool m_stream; + bool m_oriented; + struct timeval m_timeout; + + /* Callbacks */ + GSocketCallback m_cbacks[GSOCK_MAX_EVENT]; + char *m_data[GSOCK_MAX_EVENT]; + int m_msgnumber; +}; + +/* Definition of GAddress */ +struct _GAddress +{ + struct sockaddr *m_addr; + size_t m_len; + + GAddressType m_family; + int m_realfamily; + + GSocketError m_error; +}; + + +#ifdef __cplusplus +extern "C" { +#endif + +/* Input / output */ + +GSocketError _GSocket_Input_Timeout(GSocket *socket); +GSocketError _GSocket_Output_Timeout(GSocket *socket); +int _GSocket_Recv_Stream(GSocket *socket, char *buffer, int size); +int _GSocket_Recv_Dgram(GSocket *socket, char *buffer, int size); +int _GSocket_Send_Stream(GSocket *socket, const char *buffer, int size); +int _GSocket_Send_Dgram(GSocket *socket, const char *buffer, int size); + +/* Callbacks */ + +void _GSocket_Configure_Callbacks(GSocket *socket); +LRESULT CALLBACK _GSocket_Internal_WinProc(HWND, UINT, WPARAM, LPARAM); + +/* GAddress */ + +GSocketError _GAddress_translate_from(GAddress *address, + struct sockaddr *addr, int len); + +GSocketError _GAddress_translate_to(GAddress *address, + struct sockaddr **addr, int *len); + +GSocketError _GAddress_Init_INET(GAddress *address); +GSocketError _GAddress_Init_UNIX(GAddress *address); + +#ifdef __cplusplus +} +#endif + +#endif /* __GSOCK_MSW_H */