The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/pci/pci_ioctl.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 #ifndef _PCI_IOCTL_H
    2 #define _PCI_IOCTL_H    1
    3 
    4 #include <sys/ioccom.h>
    5 
    6 struct pcisel {
    7     u_char              pc_bus;         /* bus number */
    8     u_char              pc_dev;         /* device on this bus */
    9     u_char              pc_func;        /* function on this device */
   10 };
   11 
   12 struct  pci_conf {
   13     struct pcisel       pc_sel;         /* bus+slot+function */
   14     u_char              pc_hdr;         /* PCI header type */
   15     pcidi_t             pc_devid;       /* device ID */
   16     pcidi_t             pc_subid;       /* subvendor ID */
   17     u_int32_t           pc_class;       /* device class */
   18     struct pci_device   *pc_dvp;        /* device driver pointer or NULL */
   19     struct pcicb        *pc_cb;         /* pointer to bus parameters */
   20 };
   21 
   22 struct  pci_conf_io {
   23     size_t              pci_len;        /* length of buffer */
   24     struct pci_conf     *pci_buf;       /* buffer */
   25 };
   26 
   27 struct pci_io {
   28     struct pcisel       pi_sel;         /* device to operate on */
   29     int                 pi_reg;         /* configuration register to examine */
   30     int                 pi_width;       /* width (in bytes) of read or write */
   31     u_int32_t           pi_data;        /* data to write or result of read */
   32 };
   33         
   34 
   35 #define PCIOCGETCONF    _IOWR('p', 1, struct pci_conf_io)
   36 #define PCIOCREAD       _IOWR('p', 2, struct pci_io)
   37 #define PCIOCWRITE      _IOWR('p', 3, struct pci_io)
   38 #define PCIOCATTACHED   _IOWR('p', 4, struct pci_io)
   39 
   40 #endif /* _PCI_IOCTL_H */

Cache object: b503b93a6b54f70103f8818b44b3024f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.