HDRS:=context.h context-int.h lb_plain_io.h mini_http.h authz.h xml_parse.h \
xml_conversions.h log_proto.h events_parse.h il_string.h il_msg.h \
- ulm_parse.h lb_maildir.h connpool.h notifid.h notif_rec.h \
+ ulm_parse.h lb_maildir.h connpool.h notifid.h notif_rec.h padstruct.h \
query_rec.h timeouts.h LoggingExceptions.h CountRef.h ${PERF_HDRS}
GEN_HDRS:=Event.h events.h jobstat.h common_version.h
--- /dev/null
+#ifndef GLITE_LB_PADSTRUCT_H
+#define GLITE_LB_PADSTRUCT_H
+
+#define glite_lb_padded_struct(_padded_name,_padded_size,_padded_content) \
+ struct _padded_name##_to_pad__dont_use { _padded_content }; \
+ struct _padded_name { \
+ _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 *)]; };
+
+#endif /* GLITE_LB_PADSTRUCT_H */