/* * Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. * * $COPYRIGHT$ * * Additional copyrights may follow */ #ifndef OPAL_MCA_EVENT_H #define OPAL_MCA_EVENT_H #include "opal_config.h" #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_STDINT_H #include #endif #ifdef HAVE_STDARG_H #include #endif #include "opal/mca/mca.h" #include "opal/mca/base/base.h" BEGIN_C_DECLS #ifdef WIN32 #define WIN32_LEAN_AND_MEAN #include #undef WIN32_LEAN_AND_MEAN typedef unsigned char u_char; typedef unsigned short u_short; #endif #define OPAL_EVENT_SIGNAL(ev) opal_event_get_signal(ev) #define OPAL_TIMEOUT_DEFAULT {1, 0} /* This is to prevent event library from picking up the win32_ops since this will be picked up over select(). By using select, we can pretty much use the OOB and PTL as is. Otherwise, there would have to be a lot of magic to be done to get this to work */ #if defined(__WINDOWS__) /*extern const eventop opal_win32ops;*/ #endif /* defined(__WINDOWS__) */ /** * Structure for event components. */ struct opal_event_base_component_2_0_0_t { /** MCA base component */ mca_base_component_t base_version; /** MCA base data */ mca_base_component_data_t base_data; }; /** * Convenience typedef */ typedef struct opal_event_base_component_2_0_0_t opal_event_base_component_2_0_0_t; typedef struct opal_event_base_component_2_0_0_t opal_event_component_t; /** * Macro for use in components that are of type event */ #define OPAL_EVENT_BASE_VERSION_2_0_0 \ MCA_BASE_VERSION_2_0_0, \ "event", 2, 0, 0 END_C_DECLS /* include implementation to call */ #include MCA_event_IMPLEMENTATION_HEADER #endif /* OPAL_EVENT_H_ */