1 /* -----------------------------------------------------------------------------
2  * Copyright (c) 2011 Ozmo Inc
3  * Released under the GNU General Public License Version 2 (GPLv2).
4  * -----------------------------------------------------------------------------
5  */
6 #ifndef _OZAPPIF_H
7 #define _OZAPPIF_H
8 
9 #include "ozeventdef.h"
10 
11 #define OZ_IOCTL_MAGIC	0xf4
12 
13 struct oz_mac_addr {
14 	unsigned char a[6];
15 };
16 
17 #define OZ_MAX_PDS	8
18 
19 struct oz_pd_list {
20 	int count;
21 	struct oz_mac_addr addr[OZ_MAX_PDS];
22 };
23 
24 #define OZ_MAX_BINDING_LEN	32
25 
26 struct oz_binding_info {
27 	char name[OZ_MAX_BINDING_LEN];
28 };
29 
30 struct oz_test {
31 	int action;
32 };
33 
34 #define OZ_IOCTL_GET_PD_LIST	_IOR(OZ_IOCTL_MAGIC, 0, struct oz_pd_list)
35 #define OZ_IOCTL_SET_ACTIVE_PD	_IOW(OZ_IOCTL_MAGIC, 1, struct oz_mac_addr)
36 #define OZ_IOCTL_GET_ACTIVE_PD	_IOR(OZ_IOCTL_MAGIC, 2, struct oz_mac_addr)
37 #define OZ_IOCTL_CLEAR_EVENTS	_IO(OZ_IOCTL_MAGIC, 3)
38 #define OZ_IOCTL_GET_EVENTS	_IOR(OZ_IOCTL_MAGIC, 4, struct oz_evtlist)
39 #define OZ_IOCTL_ADD_BINDING	_IOW(OZ_IOCTL_MAGIC, 5, struct oz_binding_info)
40 #define OZ_IOCTL_TEST		_IOWR(OZ_IOCTL_MAGIC, 6, struct oz_test)
41 #define OZ_IOCTL_SET_EVENT_MASK	_IOW(OZ_IOCTL_MAGIC, 7, unsigned long)
42 #define OZ_IOCTL_REMOVE_BINDING	_IOW(OZ_IOCTL_MAGIC, 8, struct oz_binding_info)
43 #define OZ_IOCTL_MAX		9
44 
45 
46 #endif /* _OZAPPIF_H */
47