Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 */
 39 
  This page was automatically generated by the LXR engine.