summaryrefslogtreecommitdiff
path: root/drivers/net/dgrs.h
blob: c347cd117409ebeb85a7d4bc6895c6b23a444d3e (plain) (blame)
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
/*
 *	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 */