4 #include "build_check.h"
9 * Argument block types for the Portals 3.0 library
14 #include <portals/types.h>
16 /* put LIB_MAX_DISPATCH last here -- these must match the
17 assignements to the dispatch table in lib-p30/dispatch.c */
19 #define PTL_NISTATUS 2
22 #define PTL_MEATTACH 5
23 #define PTL_MEINSERT 6
24 // #define PTL_MEPREPEND 7
25 #define PTL_MEUNLINK 8
28 #define PTL_MDATTACH 11
29 // #define PTL_MDINSERT 12
31 #define PTL_MDUPDATE 14
32 #define PTL_MDUNLINK 15
33 #define PTL_EQALLOC 16
35 #define PTL_ACENTRY 18
38 #define PTL_FAILNID 21
39 #define LIB_MAX_DISPATCH 21
41 typedef struct PtlFailNid_in {
42 ptl_handle_ni_t interface;
44 unsigned int threshold;
47 typedef struct PtlFailNid_out {
51 typedef struct PtlGetId_in {
52 ptl_handle_ni_t handle_in;
55 typedef struct PtlGetId_out {
57 ptl_process_id_t id_out;
60 typedef struct PtlNIStatus_in {
61 ptl_handle_ni_t interface_in;
62 ptl_sr_index_t register_in;
65 typedef struct PtlNIStatus_out {
67 ptl_sr_value_t status_out;
71 typedef struct PtlNIDist_in {
72 ptl_handle_ni_t interface_in;
73 ptl_process_id_t process_in;
76 typedef struct PtlNIDist_out {
78 unsigned long distance_out;
82 typedef struct PtlNIDebug_in {
86 typedef struct PtlNIDebug_out {
91 typedef struct PtlMEAttach_in {
92 ptl_handle_ni_t interface_in;
93 ptl_pt_index_t index_in;
94 ptl_ins_pos_t position_in;
95 ptl_process_id_t match_id_in;
96 ptl_match_bits_t match_bits_in;
97 ptl_match_bits_t ignore_bits_in;
98 ptl_unlink_t unlink_in;
101 typedef struct PtlMEAttach_out {
103 ptl_handle_me_t handle_out;
107 typedef struct PtlMEInsert_in {
108 ptl_handle_me_t current_in;
109 ptl_process_id_t match_id_in;
110 ptl_match_bits_t match_bits_in;
111 ptl_match_bits_t ignore_bits_in;
112 ptl_unlink_t unlink_in;
113 ptl_ins_pos_t position_in;
116 typedef struct PtlMEInsert_out {
118 ptl_handle_me_t handle_out;
121 typedef struct PtlMEUnlink_in {
122 ptl_handle_me_t current_in;
123 ptl_unlink_t unlink_in;
126 typedef struct PtlMEUnlink_out {
131 typedef struct PtlTblDump_in {
135 typedef struct PtlTblDump_out {
140 typedef struct PtlMEDump_in {
141 ptl_handle_me_t current_in;
144 typedef struct PtlMEDump_out {
149 typedef struct PtlMDAttach_in {
150 ptl_handle_me_t me_in;
151 ptl_handle_eq_t eq_in;
153 ptl_unlink_t unlink_in;
156 typedef struct PtlMDAttach_out {
158 ptl_handle_md_t handle_out;
162 typedef struct PtlMDBind_in {
163 ptl_handle_ni_t ni_in;
164 ptl_handle_eq_t eq_in;
166 ptl_unlink_t unlink_in;
169 typedef struct PtlMDBind_out {
171 ptl_handle_md_t handle_out;
175 typedef struct PtlMDUpdate_internal_in {
176 ptl_handle_md_t md_in;
177 ptl_handle_eq_t testq_in;
178 ptl_seq_t sequence_in;
184 } PtlMDUpdate_internal_in;
186 typedef struct PtlMDUpdate_internal_out {
190 } PtlMDUpdate_internal_out;
193 typedef struct PtlMDUnlink_in {
194 ptl_handle_md_t md_in;
197 typedef struct PtlMDUnlink_out {
203 typedef struct PtlEQAlloc_in {
204 ptl_handle_ni_t ni_in;
208 int (*callback_in) (ptl_event_t * event);
211 typedef struct PtlEQAlloc_out {
213 ptl_handle_eq_t handle_out;
217 typedef struct PtlEQFree_in {
218 ptl_handle_eq_t eventq_in;
221 typedef struct PtlEQFree_out {
226 typedef struct PtlACEntry_in {
227 ptl_handle_ni_t ni_in;
228 ptl_ac_index_t index_in;
229 ptl_process_id_t match_id_in;
230 ptl_pt_index_t portal_in;
233 typedef struct PtlACEntry_out {
238 typedef struct PtlPut_in {
239 ptl_handle_md_t md_in;
240 ptl_ack_req_t ack_req_in;
241 ptl_process_id_t target_in;
242 ptl_pt_index_t portal_in;
243 ptl_ac_index_t cookie_in;
244 ptl_match_bits_t match_bits_in;
245 ptl_size_t offset_in;
246 ptl_hdr_data_t hdr_data_in;
249 typedef struct PtlPut_out {
254 typedef struct PtlGet_in {
255 ptl_handle_md_t md_in;
256 ptl_process_id_t target_in;
257 ptl_pt_index_t portal_in;
258 ptl_ac_index_t cookie_in;
259 ptl_match_bits_t match_bits_in;
260 ptl_size_t offset_in;
263 typedef struct PtlGet_out {