diff options
Diffstat (limited to 'drivers/net/dgrs.h')
-rw-r--r-- | drivers/net/dgrs.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/drivers/net/dgrs.h b/drivers/net/dgrs.h new file mode 100644 index 00000000000..c347cd11740 --- /dev/null +++ b/drivers/net/dgrs.h @@ -0,0 +1,38 @@ +/* + * ioctl's for the Digi Intl. RightSwitch + * + * These network driver ioctl's are a bit obtuse compared to the usual + * ioctl's for a "normal" device driver. Hey, I didn't invent it. + * + * Typical use: + * + * struct ifreq ifr; + * DGRS_IOCTL ioc; + * int x; + * + * strcpy(ifr.ifr_name, "eth1"); + * ifr.ifr_data = (caddr_t) &ioc; + * ioc.cmd = DGRS_GETMEM; + * ioc.len = sizeof(x); + * ioc.data = (caddr_t) &x; + * rc = ioctl(fd, DGRSIOCTL, &ifr); + * printf("rc=%d mem=%x\n", rc, x); + * + */ +#include <linux/sockios.h> + +#define DGRSIOCTL SIOCDEVPRIVATE + +typedef struct dgrs_ioctl { + unsigned short cmd; /* Command to run */ + unsigned short len; /* Length of the data buffer */ + unsigned char __user *data; /* Pointer to the data buffer */ + unsigned short port; /* port number for command, if needed */ + unsigned short filter; /* filter number for command, if needed */ +} DGRS_IOCTL; + +/* + * Commands for the driver + */ +#define DGRS_GETMEM 0x01 /* Get the dual port memory address */ +#define DGRS_SETFILTER 0x02 /* Set a filter */ |