1 #ifndef _P30_INTERNAL_H_
2 #define _P30_INTERNAL_H_
7 * Internals for the API level library that are not needed
8 * by the user application
11 #include <portals/p30.h>
13 extern int ptl_init; /* Has the library be initialized */
15 extern int ptl_ni_init(void);
16 extern int ptl_me_init(void);
17 extern int ptl_md_init(void);
18 extern int ptl_eq_init(void);
20 extern int ptl_me_ni_init(nal_t * nal);
21 extern int ptl_md_ni_init(nal_t * nal);
22 extern int ptl_eq_ni_init(nal_t * nal);
24 extern void ptl_ni_fini(void);
25 extern void ptl_me_fini(void);
26 extern void ptl_md_fini(void);
27 extern void ptl_eq_fini(void);
29 extern void ptl_me_ni_fini(nal_t * nal);
30 extern void ptl_md_ni_fini(nal_t * nal);
31 extern void ptl_eq_ni_fini(nal_t * nal);
33 static inline ptl_eq_t *
34 ptl_handle2usereq (ptl_handle_eq_t *handle)
36 /* EQ handles are a little wierd. On the "user" side, the cookie
37 * is just a pointer to a queue of events in shared memory. It's
38 * cb_eq_handle is the "real" handle which we pass when we
39 * call do_forward(). */
40 return (ptl_eq_t *)((unsigned long)handle->cookie);