Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
caif_dev.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) ST-Ericsson AB 2010
3  * Author: Sjur Brendeland/ [email protected]
4  * License terms: GNU General Public License (GPL) version 2
5  */
6 
7 #ifndef CAIF_DEV_H_
8 #define CAIF_DEV_H_
9 
10 #include <net/caif/caif_layer.h>
11 #include <net/caif/cfcnfg.h>
12 #include <net/caif/caif_device.h>
13 #include <linux/caif/caif_socket.h>
14 #include <linux/if.h>
15 #include <linux/net.h>
16 
22 struct caif_param {
24  u8 data[256];
25 };
26 
44  int ifindex;
45  struct caif_param param;
46 };
47 
67 int caif_connect_client(struct net *net,
68  struct caif_connect_request *conn_req,
69  struct cflayer *client_layer, int *ifindex,
70  int *headroom, int *tailroom);
71 
77 int caif_disconnect_client(struct net *net, struct cflayer *client_layer);
78 
79 
94 void caif_client_register_refcnt(struct cflayer *adapt_layer,
95  void (*hold)(struct cflayer *lyr),
96  void (*put)(struct cflayer *lyr));
106 void caif_free_client(struct cflayer *adap_layer);
107 
122 void caif_enroll_dev(struct net_device *dev, struct caif_dev_common *caifdev,
123  struct cflayer *link_support, int head_room,
124  struct cflayer **layer, int (**rcv_func)(
125  struct sk_buff *, struct net_device *,
126  struct packet_type *, struct net_device *));
127 
128 #endif /* CAIF_DEV_H_ */