#define _P30_TYPES_H_
#ifdef __linux__
-#include <asm/types.h>
-#include <asm/timex.h>
+# include <asm/types.h>
+# if defined(__powerpc__) && !defined(__KERNEL__)
+# define __KERNEL__
+# include <asm/timex.h>
+# undef __KERNEL__
+# else
+# include <asm/timex.h>
+# endif
#else
-#include <sys/types.h>
+# include <sys/types.h>
typedef u_int32_t __u32;
typedef u_int64_t __u64;
-typedef unsigned long long cycles_t;
-static inline cycles_t get_cycles(void) { return 0; }
#endif
+#ifdef __KERNEL__
+# include <linux/time.h>
+#else
+# include <sys/time.h>
+# define do_gettimeofday(tv) gettimeofday(tv, NULL);
+#endif
+
+#include <portals/errno.h>
+
typedef __u64 ptl_nid_t;
typedef __u32 ptl_pid_t;
typedef __u32 ptl_pt_index_t;
typedef ptl_handle_any_t ptl_handle_me_t;
#define PTL_HANDLE_NONE \
-((const ptl_handle_any_t){.nal_idx = -1, .cookie = -1})
+ ((const ptl_handle_any_t){.nal_idx = -1, .cookie = -1})
#define PTL_EQ_NONE PTL_HANDLE_NONE
static inline int PtlHandleEqual (ptl_handle_any_t h1, ptl_handle_any_t h2)
PTL_EVENT_PUT,
PTL_EVENT_REPLY,
PTL_EVENT_ACK,
- PTL_EVENT_SENT
+ PTL_EVENT_SENT,
+ PTL_EVENT_UNLINK,
} ptl_event_kind_t;
#define PTL_SEQ_BASETYPE long
typedef unsigned PTL_SEQ_BASETYPE ptl_seq_t;
#define PTL_SEQ_GT(a,b) (((signed PTL_SEQ_BASETYPE)((a) - (b))) > 0)
+/* XXX
+ * cygwin need the pragma line, not clear if it's needed in other places.
+ * checking!!!
+ */
+#ifdef __CYGWIN__
+#pragma pack(push, 4)
+#endif
typedef struct {
- ptl_event_kind_t type;
- ptl_process_id_t initiator;
- ptl_pt_index_t portal;
- ptl_match_bits_t match_bits;
- ptl_size_t rlength, mlength, offset;
- ptl_handle_me_t unlinked_me;
- ptl_md_t mem_desc;
- ptl_hdr_data_t hdr_data;
- cycles_t arrival_time;
+ ptl_event_kind_t type;
+ ptl_err_t status;
+ int unlinked;
+ ptl_process_id_t initiator;
+ ptl_pt_index_t portal;
+ ptl_match_bits_t match_bits;
+ ptl_size_t rlength;
+ ptl_size_t mlength;
+ ptl_size_t offset;
+ ptl_md_t mem_desc;
+ ptl_hdr_data_t hdr_data;
+ struct timeval arrival_time;
+
volatile ptl_seq_t sequence;
} ptl_event_t;
-
+#ifdef __CYGWIN__
+#pragma pop
+#endif
typedef enum {
PTL_ACK_REQ,
PTL_NOACK_REQ
} ptl_ack_req_t;
-
typedef struct {
volatile ptl_seq_t sequence;
ptl_size_t size;
ptl_eq_t *eq;
} ptl_ni_t;
-
typedef struct {
int max_match_entries; /* max number of match entries */
int max_mem_descriptors; /* max number of memory descriptors */