Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rdma_netlink.h
Go to the documentation of this file.
1 #ifndef _RDMA_NETLINK_H
2 #define _RDMA_NETLINK_H
3 
4 #include <linux/types.h>
5 
6 enum {
8 };
9 
10 #define RDMA_NL_GET_CLIENT(type) ((type & (((1 << 6) - 1) << 10)) >> 10)
11 #define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1))
12 #define RDMA_NL_GET_TYPE(client, op) ((client << 10) + op)
13 
14 enum {
17 };
18 
19 enum {
23 };
24 
34 };
35 
36 #ifdef __KERNEL__
37 
38 #include <linux/netlink.h>
39 
40 struct ibnl_client_cbs {
41  int (*dump)(struct sk_buff *skb, struct netlink_callback *nlcb);
42  struct module *module;
43 };
44 
45 int ibnl_init(void);
46 void ibnl_cleanup(void);
47 
56 int ibnl_add_client(int index, int nops,
57  const struct ibnl_client_cbs cb_table[]);
58 
65 int ibnl_remove_client(int index);
66 
77 void *ibnl_put_msg(struct sk_buff *skb, struct nlmsghdr **nlh, int seq,
78  int len, int client, int op);
88 int ibnl_put_attr(struct sk_buff *skb, struct nlmsghdr *nlh,
89  int len, void *data, int type);
90 
91 #endif /* __KERNEL__ */
92 
93 #endif /* _RDMA_NETLINK_H */