]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * ioctl's for the Digi Intl. RightSwitch | |
3 | * | |
4 | * These network driver ioctl's are a bit obtuse compared to the usual | |
5 | * ioctl's for a "normal" device driver. Hey, I didn't invent it. | |
6 | * | |
7 | * Typical use: | |
8 | * | |
9 | * struct ifreq ifr; | |
10 | * DGRS_IOCTL ioc; | |
11 | * int x; | |
12 | * | |
13 | * strcpy(ifr.ifr_name, "eth1"); | |
14 | * ifr.ifr_data = (caddr_t) &ioc; | |
15 | * ioc.cmd = DGRS_GETMEM; | |
16 | * ioc.len = sizeof(x); | |
17 | * ioc.data = (caddr_t) &x; | |
18 | * rc = ioctl(fd, DGRSIOCTL, &ifr); | |
19 | * printf("rc=%d mem=%x\n", rc, x); | |
20 | * | |
21 | */ | |
22 | #include <linux/sockios.h> | |
23 | ||
24 | #define DGRSIOCTL SIOCDEVPRIVATE | |
25 | ||
26 | typedef struct dgrs_ioctl { | |
27 | unsigned short cmd; /* Command to run */ | |
28 | unsigned short len; /* Length of the data buffer */ | |
29 | unsigned char __user *data; /* Pointer to the data buffer */ | |
30 | unsigned short port; /* port number for command, if needed */ | |
31 | unsigned short filter; /* filter number for command, if needed */ | |
32 | } DGRS_IOCTL; | |
33 | ||
34 | /* | |
35 | * Commands for the driver | |
36 | */ | |
37 | #define DGRS_GETMEM 0x01 /* Get the dual port memory address */ | |
38 | #define DGRS_SETFILTER 0x02 /* Set a filter */ |