7 * The API side NAL declarations
10 #include <portals/types.h>
16 typedef struct nal_t nal_t;
22 int *timeout; /* for libp30api users */
23 int (*forward) (nal_t * nal, int index, /* Function ID */
24 void *args, size_t arg_len, void *ret, size_t ret_len);
26 int (*shutdown) (nal_t * nal, int interface);
28 int (*validate) (nal_t * nal, void *base, size_t extent);
30 void (*yield) (nal_t * nal);
32 void (*lock) (nal_t * nal, unsigned long *flags);
34 void (*unlock) (nal_t * nal, unsigned long *flags);
37 typedef nal_t *(ptl_interface_t) (int, ptl_pt_index_t, ptl_ac_index_t, ptl_pid_t requested_pid);
38 extern nal_t *PTL_IFACE_IP(int, ptl_pt_index_t, ptl_ac_index_t, ptl_pid_t requested_pid);
39 extern nal_t *PTL_IFACE_MYR(int, ptl_pt_index_t, ptl_ac_index_t, ptl_pid_t requested_pid);
41 extern nal_t *ptl_hndl2nal(ptl_handle_any_t * any);
43 #ifndef PTL_IFACE_DEFAULT
44 #define PTL_IFACE_DEFAULT (PTL_IFACE_IP)