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