1 #ifndef GLOBUS_I_XIO_WIN32_H_
2 #define GLOBUS_I_XIO_WIN32_H_
4 #include "globus_i_xio_system_common.h"
9 typedef struct globus_l_xio_win32_event_entry_s *
10 globus_i_xio_win32_event_entry_t;
28 (*globus_i_xio_win32_event_cb_t)(
32 globus_i_xio_win32_event_register(
33 globus_i_xio_win32_event_entry_t * entry_handle,
35 globus_i_xio_win32_event_cb_t callback,
43 globus_i_xio_win32_event_unregister(
44 globus_i_xio_win32_event_entry_t entry_handle);
52 globus_i_xio_win32_event_lock(
53 globus_i_xio_win32_event_entry_t entry_handle);
56 globus_i_xio_win32_event_unlock(
57 globus_i_xio_win32_event_entry_t entry_handle);
64 globus_i_xio_win32_event_post(
65 globus_i_xio_win32_event_entry_t entry_handle);
68 globus_i_xio_win32_complete_activate(
void);
71 globus_i_xio_win32_complete_deactivate(
void);
74 globus_i_xio_win32_file_activate(
void);
77 globus_i_xio_win32_file_deactivate(
void);
83 globus_i_xio_win32_complete(
84 globus_callback_func_t callback,
88 globus_i_xio_win32_mode_activate(
void);
91 globus_i_xio_win32_mode_is_overlapped(
94 typedef CRITICAL_SECTION win32_mutex_t;
96 #define win32_mutex_init(x, y) InitializeCriticalSection(x)
97 #define win32_mutex_destroy(x) DeleteCriticalSection(x)
98 #define win32_mutex_lock(x) EnterCriticalSection(x)
99 #define win32_mutex_unlock(x) LeaveCriticalSection(x)
101 #define GlobusXIOSystemDebugSysError(message, err) \
104 if(GlobusDebugTrue( \
105 GLOBUS_XIO_SYSTEM, GLOBUS_I_XIO_SYSTEM_DEBUG_INFO)) \
111 FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM, \
119 GlobusDebugMyPrintf( \
121 ("[%s] %s: %d:%s", _xio_name, message, err_, msg)); \