Whamcloud - gitweb
smash the HEAD with the contents of b_cmd. HEAD_PRE_CMD_SMASH and
[fs/lustre-release.git] / lustre / portals / include / portals / nal.h
index 1f925c1..5b72046 100644 (file)
 typedef struct nal_t nal_t;
 
 struct nal_t {
-       int              nal_refct;
-       void            *nal_data;
+       ptl_ni_t ni;
+       int refct;
+       void *nal_data;
+       int *timeout;           /* for libp30api users */
+       int (*forward) (nal_t * nal, int index, /* Function ID */
+                       void *args, size_t arg_len, void *ret, size_t ret_len);
 
-       int (*startup) (nal_t *nal, ptl_pid_t requested_pid,
-                       ptl_ni_limits_t *req, ptl_ni_limits_t *actual);
-       
-       void (*shutdown) (nal_t *nal);
+       int (*shutdown) (nal_t * nal, int interface);
 
-       int (*forward) (nal_t *nal, int index,  /* Function ID */
-                       void *args, size_t arg_len, void *ret, size_t ret_len);
+       int (*validate) (nal_t * nal, void *base, size_t extent);
 
-       int (*yield) (nal_t *nal, unsigned long *flags, int milliseconds);
+       int (*yield) (nal_t * nal, unsigned long *flags, int milliseconds);
 
-       void (*lock) (nal_t *nal, unsigned long *flags);
+       void (*lock) (nal_t * nal, unsigned long *flags);
 
-       void (*unlock) (nal_t *nal, unsigned long *flags);
+       void (*unlock) (nal_t * nal, unsigned long *flags);
 };
 
+typedef nal_t *(ptl_interface_t) (int, ptl_pt_index_t, ptl_ac_index_t, ptl_pid_t requested_pid);
+extern nal_t *PTL_IFACE_IP(int, ptl_pt_index_t, ptl_ac_index_t, ptl_pid_t requested_pid);
+extern nal_t *PTL_IFACE_MYR(int, ptl_pt_index_t, ptl_ac_index_t, ptl_pid_t requested_pid);
+
 extern nal_t *ptl_hndl2nal(ptl_handle_any_t * any);
 
-#ifdef __KERNEL__
-extern int ptl_register_nal(ptl_interface_t interface, nal_t *nal);
-extern void ptl_unregister_nal(ptl_interface_t interface);
+#ifndef PTL_IFACE_DEFAULT
+#define PTL_IFACE_DEFAULT (PTL_IFACE_IP)
 #endif
 
 #endif