17 #ifndef GLOBUS_I_XIO_WIN32_H_
18 #define GLOBUS_I_XIO_WIN32_H_
20 #include "globus_i_xio_system_common.h"
25 typedef struct globus_l_xio_win32_event_entry_s *
26 globus_i_xio_win32_event_entry_t;
44 (*globus_i_xio_win32_event_cb_t)(
48 globus_i_xio_win32_event_register(
49 globus_i_xio_win32_event_entry_t * entry_handle,
51 globus_i_xio_win32_event_cb_t callback,
59 globus_i_xio_win32_event_unregister(
60 globus_i_xio_win32_event_entry_t entry_handle);
68 globus_i_xio_win32_event_lock(
69 globus_i_xio_win32_event_entry_t entry_handle);
72 globus_i_xio_win32_event_unlock(
73 globus_i_xio_win32_event_entry_t entry_handle);
80 globus_i_xio_win32_event_post(
81 globus_i_xio_win32_event_entry_t entry_handle);
84 globus_i_xio_win32_complete_activate(
void);
87 globus_i_xio_win32_complete_deactivate(
void);
90 globus_i_xio_win32_file_activate(
void);
93 globus_i_xio_win32_file_deactivate(
void);
99 globus_i_xio_win32_complete(
104 globus_i_xio_win32_mode_activate(
void);
107 globus_i_xio_win32_mode_is_overlapped(
110 typedef CRITICAL_SECTION win32_mutex_t;
112 #define win32_mutex_init(x, y) InitializeCriticalSection(x)
113 #define win32_mutex_destroy(x) DeleteCriticalSection(x)
114 #define win32_mutex_lock(x) EnterCriticalSection(x)
115 #define win32_mutex_unlock(x) LeaveCriticalSection(x)
117 #define GlobusXIOSystemDebugSysError(message, err) \
120 if(GlobusDebugTrue( \
121 GLOBUS_XIO_SYSTEM, GLOBUS_I_XIO_SYSTEM_DEBUG_INFO)) \
127 FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM, \
135 GlobusDebugMyPrintf( \
137 ("[%s] %s: %d:%s", _xio_name, message, err_, msg)); \
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
void(* globus_callback_func_t)(void *user_arg)
Globus callback prototype.
Definition: globus_callback.h:314
uint32_t globus_result_t
Definition: globus_types.h:99