#include "glite/lb/context.h"
#include "glite/lb/notifid.h"
+#include "glite/lb/padstruct.h"
+
#ifdef __cplusplus
extern "C" {
#endif
* \union edg_wll_Event
* \brief All event types union
*/
-typedef union _edg_wll_Event {
+glite_lb_padded_union(_edg_wll_Event,30,
edg_wll_EventCode type; /* it is probably never used */
edg_wll_AnyEvent any;
@@@{
gen $indent."edg_wll_${t}Event\t${tl};\n";
}
@@@}
-/* make it big enough for further extensions */
- char _pad[sizeof(void *) * 30];
-} edg_wll_Event;
+)
+typedef union _edg_wll_Event edg_wll_Event;
/**
_padded_content \
char _padding[_padded_size*sizeof(void *) - sizeof(struct _padded_name##_to_pad__dont_use)]; \
};
+
+#define glite_lb_padded_union(_padded_name,_padded_size,_padded_content) \
+ union _padded_name##_to_pad__dont_use { _padded_content } ; \
+ struct _padded_name##_to_check_pad__dont_use { char pad[_padded_size*sizeof(void *) - sizeof(union _padded_name##_to_pad__dont_use)]; }; \
+ union _padded_name { _padded_content char _pad[_padded_size*sizeof(void *)]; };