File: ozwpan.c

package info (click to toggle)
trinity 1.7-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 3,876 kB
  • ctags: 3,650
  • sloc: ansic: 30,820; sh: 434; makefile: 168
file content (62 lines) | stat: -rw-r--r-- 1,583 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <linux/ioctl.h>
#include <linux/types.h>

#include "ioctls.h"
#include "utils.h"

/* drivers/staging/ozwpan/ozappif.h */

/* -----------------------------------------------------------------------------
 * Copyright (c) 2011 Ozmo Inc
 * Released under the GNU General Public License Version 2 (GPLv2).
 * -----------------------------------------------------------------------------
 */

#define OZ_IOCTL_MAGIC	0xf4

struct oz_mac_addr {
	__u8 a[6];
};

#define OZ_MAX_PDS	8

struct oz_pd_list {
	__u32 count;
	struct oz_mac_addr addr[OZ_MAX_PDS];
};

#define OZ_MAX_BINDING_LEN	32

struct oz_binding_info {
	char name[OZ_MAX_BINDING_LEN];
};

#define OZ_IOCTL_GET_PD_LIST	_IOR(OZ_IOCTL_MAGIC, 0, struct oz_pd_list)
#define OZ_IOCTL_SET_ACTIVE_PD	_IOW(OZ_IOCTL_MAGIC, 1, struct oz_mac_addr)
#define OZ_IOCTL_GET_ACTIVE_PD	_IOR(OZ_IOCTL_MAGIC, 2, struct oz_mac_addr)
#define OZ_IOCTL_ADD_BINDING	_IOW(OZ_IOCTL_MAGIC, 3, struct oz_binding_info)
#define OZ_IOCTL_REMOVE_BINDING	_IOW(OZ_IOCTL_MAGIC, 4, struct oz_binding_info)
#define OZ_IOCTL_MAX		5

static const struct ioctl ozwpan_ioctls[] = {
	IOCTL(OZ_IOCTL_GET_PD_LIST),
	IOCTL(OZ_IOCTL_SET_ACTIVE_PD),
	IOCTL(OZ_IOCTL_GET_ACTIVE_PD),
	IOCTL(OZ_IOCTL_ADD_BINDING),
	IOCTL(OZ_IOCTL_REMOVE_BINDING),
};

static const char *const ozwpan_devs[] = {
	"ozwpan",
};

static const struct ioctl_group ozwpan_grp = {
	.devtype = DEV_CHAR,
	.devs = ozwpan_devs,
	.devs_cnt = ARRAY_SIZE(ozwpan_devs),
	.sanitise = pick_random_ioctl,
	.ioctls = ozwpan_ioctls,
	.ioctls_cnt = ARRAY_SIZE(ozwpan_ioctls),
};

REG_IOCTL_GROUP(ozwpan_grp)