4 #include "build_check.h"
6 #include <portals/types.h>
11 int PtlNIInit(ptl_interface_t interface, ptl_pid_t requested_pid,
12 ptl_ni_limits_t *desired_limits, ptl_ni_limits_t *actual_limits,
13 ptl_handle_ni_t *interface_out);
15 int PtlNIInitialized(ptl_interface_t);
17 int PtlNIFini(ptl_handle_ni_t interface_in);
19 int PtlGetId(ptl_handle_ni_t ni_handle, ptl_process_id_t *id);
21 int PtlGetUid(ptl_handle_ni_t ni_handle, ptl_uid_t *uid);
28 int PtlNIStatus(ptl_handle_ni_t interface_in, ptl_sr_index_t register_in,
29 ptl_sr_value_t * status_out);
31 int PtlNIDist(ptl_handle_ni_t interface_in, ptl_process_id_t process_in,
32 unsigned long *distance_out);
34 int PtlNIHandle(ptl_handle_any_t handle_in, ptl_handle_ni_t * interface_out);
40 * Not an official Portals 3 API call. It provides a way of simulating
41 * communications failures to all (nid == PTL_NID_ANY), or specific peers
42 * (via multiple calls), either until further notice (threshold == -1), or
43 * for a specific number of messages. Passing a threshold of zero, "heals"
46 int PtlFailNid (ptl_handle_ni_t ni, ptl_nid_t nid, unsigned int threshold);
51 * Not an official Portals 3 API call. It provides a way of enabling or
52 * disabling loopback optimisation, or getting its current state.
54 int PtlLoopback (ptl_handle_ni_t ni, int set, int *enabled);
59 * This is not an official Portals 3 API call. It is provided
60 * so that an application can print an opaque handle.
62 void PtlSnprintHandle (char *str, int str_len, ptl_handle_any_t handle);
68 int PtlMEAttach(ptl_handle_ni_t interface_in, ptl_pt_index_t index_in,
69 ptl_process_id_t match_id_in, ptl_match_bits_t match_bits_in,
70 ptl_match_bits_t ignore_bits_in, ptl_unlink_t unlink_in,
71 ptl_ins_pos_t pos_in, ptl_handle_me_t * handle_out);
73 int PtlMEInsert(ptl_handle_me_t current_in, ptl_process_id_t match_id_in,
74 ptl_match_bits_t match_bits_in, ptl_match_bits_t ignore_bits_in,
75 ptl_unlink_t unlink_in, ptl_ins_pos_t position_in,
76 ptl_handle_me_t * handle_out);
78 int PtlMEUnlink(ptl_handle_me_t current_in);
80 int PtlMEUnlinkList(ptl_handle_me_t current_in);
88 int PtlMDAttach(ptl_handle_me_t current_in, ptl_md_t md_in,
89 ptl_unlink_t unlink_in, ptl_handle_md_t * handle_out);
91 int PtlMDBind(ptl_handle_ni_t ni_in, ptl_md_t md_in,
92 ptl_unlink_t unlink_in, ptl_handle_md_t * handle_out);
94 int PtlMDUnlink(ptl_handle_md_t md_in);
96 int PtlMDUpdate(ptl_handle_md_t md_in, ptl_md_t * old_inout,
97 ptl_md_t * new_inout, ptl_handle_eq_t testq_in);
100 /* These should not be called by users */
101 int PtlMDUpdate_internal(ptl_handle_md_t md_in, ptl_md_t * old_inout,
102 ptl_md_t * new_inout, ptl_handle_eq_t testq_in,
103 ptl_seq_t sequence_in);
111 int PtlEQAlloc(ptl_handle_ni_t ni_in, ptl_size_t count_in,
112 ptl_eq_handler_t handler,
113 ptl_handle_eq_t *handle_out);
114 int PtlEQFree(ptl_handle_eq_t eventq_in);
116 int PtlEQGet(ptl_handle_eq_t eventq_in, ptl_event_t * event_out);
119 int PtlEQWait(ptl_handle_eq_t eventq_in, ptl_event_t * event_out);
121 int PtlEQPoll(ptl_handle_eq_t *eventqs_in, int neq_in, int timeout,
122 ptl_event_t *event_out, int *which_out);
125 * Access Control Table
127 int PtlACEntry(ptl_handle_ni_t ni_in, ptl_ac_index_t index_in,
128 ptl_process_id_t match_id_in, ptl_pt_index_t portal_in);
135 int PtlPut(ptl_handle_md_t md_in, ptl_ack_req_t ack_req_in,
136 ptl_process_id_t target_in, ptl_pt_index_t portal_in,
137 ptl_ac_index_t cookie_in, ptl_match_bits_t match_bits_in,
138 ptl_size_t offset_in, ptl_hdr_data_t hdr_data_in);
140 int PtlGet(ptl_handle_md_t md_in, ptl_process_id_t target_in,
141 ptl_pt_index_t portal_in, ptl_ac_index_t cookie_in,
142 ptl_match_bits_t match_bits_in, ptl_size_t offset_in);