RTXI 1.3
comedi/include/linux/comedidev.h File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/version.h>
#include <linux/config.h>
#include <linux/kdev_t.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/spinlock.h>
#include <linux/mutex.h>
#include <linux/wait.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/vmalloc.h>
#include <linux/interrupt.h>
#include <linux/dma-mapping.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <linux/comedi.h>
#include <linux/comedi_rt.h>

Go to the source code of this file.

Classes

struct  comedi_subdevice_struct
struct  comedi_buf_page
struct  comedi_async_struct
struct  comedi_driver_struct
struct  comedi_device_struct
struct  comedi_device_file_info
struct  comedi_lrange_struct

Defines

#define DPRINTK(format, args...)
#define COMEDI_VERSION(a, b, c)   (((a) << 16) + ((b) << 8) + (c))
#define COMEDI_VERSION_CODE   COMEDI_VERSION(COMEDI_MAJORVERSION,COMEDI_MINORVERSION,COMEDI_MICROVERSION)
#define COMEDI_RELEASE   VERSION
#define COMEDI_INITCLEANUP_NOMODULE(x)
#define COMEDI_MODULE_MACROS
#define COMEDI_INITCLEANUP(x)
#define COMEDI_PCI_INITCLEANUP_NOMODULE(comedi_driver, pci_id_table)
#define COMEDI_PCI_INITCLEANUP(comedi_driver, pci_id_table)
#define PCI_VENDOR_ID_INOVA   0x104c
#define PCI_VENDOR_ID_NATINST   0x1093
#define PCI_VENDOR_ID_DATX   0x1116
#define PCI_VENDOR_ID_COMPUTERBOARDS   0x1307
#define PCI_VENDOR_ID_ADVANTECH   0x13fe
#define PCI_VENDOR_ID_RTD   0x1435
#define PCI_VENDOR_ID_AMPLICON   0x14dc
#define PCI_VENDOR_ID_ADLINK   0x144a
#define PCI_VENDOR_ID_ICP   0x104c
#define PCI_VENDOR_ID_CONTEC   0x1221
#define PCI_VENDOR_ID_MEILHAUS   0x1402
#define COMEDI_NUM_MINORS   0x100
#define COMEDI_NUM_BOARD_MINORS   0x30
#define COMEDI_FIRST_SUBDEVICE_MINOR   COMEDI_NUM_BOARD_MINORS
#define RANGE(a, b)   {(a)*1e6,(b)*1e6,0}
#define RANGE_ext(a, b)   {(a)*1e6,(b)*1e6,RF_EXTERNAL}
#define RANGE_mA(a, b)   {(a)*1e6,(b)*1e6,UNIT_mA}
#define RANGE_unitless(a, b)   {(a)*1e6,(b)*1e6,0}
#define BIP_RANGE(a)   {-(a)*1e6,(a)*1e6,0}
#define UNI_RANGE(a)   {0,(a)*1e6,0}
#define range_digital   range_unipolar5
#define GCC_ZERO_LENGTH_ARRAY   0

Typedefs

typedef struct comedi_device_struct comedi_device
typedef struct
comedi_subdevice_struct 
comedi_subdevice
typedef struct comedi_async_struct comedi_async
typedef struct comedi_driver_struct comedi_driver
typedef struct comedi_lrange_struct comedi_lrange

Enumerations

enum  comedi_minor_bits { COMEDI_DEVICE_MINOR_MASK = 0xf, COMEDI_SUBDEVICE_MINOR_MASK = 0xf0 }
enum  subdevice_runflags { SRF_USER = 0x00000001, SRF_RT = 0x00000002, SRF_ERROR = 0x00000004, SRF_RUNNING = 0x08000000 }

Functions

void comedi_event (comedi_device *dev, comedi_subdevice *s)
void comedi_error (const comedi_device *dev, const char *s)
struct comedi_device_file_infocomedi_get_device_file_info (unsigned minor)
void comedi_device_detach (comedi_device *dev)
int comedi_device_attach (comedi_device *dev, comedi_devconfig *it)
int comedi_driver_register (comedi_driver *)
int comedi_driver_unregister (comedi_driver *)
void init_polling (void)
void cleanup_polling (void)
void start_polling (comedi_device *)
void stop_polling (comedi_device *)
int comedi_buf_alloc (comedi_device *dev, comedi_subdevice *s, unsigned long new_size)
int do_rangeinfo_ioctl (comedi_device *dev, comedi_rangeinfo *arg)
int check_chanlist (comedi_subdevice *s, int n, unsigned int *chanlist)
void comedi_set_subdevice_runflags (comedi_subdevice *s, unsigned mask, unsigned bits)
unsigned comedi_get_subdevice_runflags (comedi_subdevice *s)
int insn_inval (comedi_device *dev, comedi_subdevice *s, comedi_insn *insn, lsampl_t *data)
int comedi_buf_put (comedi_async *async, sampl_t x)
int comedi_buf_get (comedi_async *async, sampl_t *x)
unsigned int comedi_buf_write_n_available (comedi_async *async)
unsigned int comedi_buf_write_alloc (comedi_async *async, unsigned int nbytes)
unsigned int comedi_buf_write_alloc_strict (comedi_async *async, unsigned int nbytes)
unsigned comedi_buf_write_free (comedi_async *async, unsigned int nbytes)
unsigned comedi_buf_read_alloc (comedi_async *async, unsigned nbytes)
unsigned comedi_buf_read_free (comedi_async *async, unsigned int nbytes)
unsigned int comedi_buf_read_n_available (comedi_async *async)
void comedi_buf_memcpy_to (comedi_async *async, unsigned int offset, const void *source, unsigned int num_bytes)
void comedi_buf_memcpy_from (comedi_async *async, unsigned int offset, void *destination, unsigned int num_bytes)
void comedi_reset_async_buf (comedi_async *async)
int comedi_alloc_board_minor (struct device *hardware_device)
void comedi_free_board_minor (unsigned minor)
int comedi_alloc_subdevice_minor (comedi_device *dev, comedi_subdevice *s)
void comedi_free_subdevice_minor (comedi_subdevice *s)
int comedi_pci_auto_config (struct pci_dev *pcidev, const char *board_name)
void comedi_pci_auto_unconfig (struct pci_dev *pcidev)
int comedi_usb_auto_config (struct usb_device *usbdev, const char *board_name)
void comedi_usb_auto_unconfig (struct usb_device *usbdev)

Variables

const comedi_lrange range_bipolar10
const comedi_lrange range_bipolar5
const comedi_lrange range_bipolar2_5
const comedi_lrange range_unipolar10
const comedi_lrange range_unipolar5
const comedi_lrange range_unknown

Define Documentation

#define BIP_RANGE (   a)    {-(a)*1e6,(a)*1e6,0}

Definition at line 390 of file comedidev.h.

#define COMEDI_FIRST_SUBDEVICE_MINOR   COMEDI_NUM_BOARD_MINORS

Definition at line 125 of file comedidev.h.

#define COMEDI_INITCLEANUP (   x)
Value:

Definition at line 71 of file comedidev.h.

#define COMEDI_INITCLEANUP_NOMODULE (   x)
Value:
static int __init x ## _init_module(void)                       \
                {return comedi_driver_register(&(x));}                  \
        static void __exit x ## _cleanup_module(void)                   \
                {comedi_driver_unregister(&(x));}                       \
        module_init(x ## _init_module);                                 \
        module_exit(x ## _cleanup_module);                                      \

Definition at line 58 of file comedidev.h.

#define COMEDI_MODULE_MACROS
Value:
MODULE_AUTHOR("Comedi http://www.comedi.org");          \
        MODULE_DESCRIPTION("Comedi low-level driver");                  \
        MODULE_LICENSE("GPL");                                          \

Definition at line 66 of file comedidev.h.

#define COMEDI_NUM_BOARD_MINORS   0x30

Definition at line 124 of file comedidev.h.

#define COMEDI_NUM_MINORS   0x100

Definition at line 123 of file comedidev.h.

#define COMEDI_PCI_INITCLEANUP (   comedi_driver,
  pci_id_table 
)
Value:

Definition at line 107 of file comedidev.h.

#define COMEDI_PCI_INITCLEANUP_NOMODULE (   comedi_driver,
  pci_id_table 
)
Value:
static int __devinit comedi_driver ## _pci_probe(struct pci_dev *dev, \
                const struct pci_device_id *ent) \
        { \
                return comedi_pci_auto_config(dev, comedi_driver.driver_name); \
        } \
        static void __devexit comedi_driver ## _pci_remove(struct pci_dev *dev) \
        { \
                comedi_pci_auto_unconfig(dev); \
        } \
        static struct pci_driver comedi_driver ## _pci_driver = \
        { \
                .id_table = pci_id_table, \
                .probe = & comedi_driver ## _pci_probe, \
                .remove = __devexit_p(& comedi_driver ## _pci_remove) \
        }; \
        static int __init comedi_driver ## _init_module(void) \
        { \
                int retval; \
                retval = comedi_driver_register(& comedi_driver); \
                if(retval < 0) return retval; \
                comedi_driver ## _pci_driver.name = (char*)comedi_driver.driver_name; \
                return pci_register_driver(& comedi_driver ## _pci_driver); \
        } \
        static void __exit comedi_driver ## _cleanup_module(void) \
        { \
                pci_unregister_driver(& comedi_driver ## _pci_driver); \
                comedi_driver_unregister(& comedi_driver); \
        } \
        module_init(comedi_driver ## _init_module); \
        module_exit(comedi_driver ## _cleanup_module);

Definition at line 75 of file comedidev.h.

#define COMEDI_RELEASE   VERSION

Definition at line 56 of file comedidev.h.

#define COMEDI_VERSION (   a,
  b,
 
)    (((a) << 16) + ((b) << 8) + (c))

Definition at line 54 of file comedidev.h.

#define COMEDI_VERSION_CODE   COMEDI_VERSION(COMEDI_MAJORVERSION,COMEDI_MINORVERSION,COMEDI_MICROVERSION)

Definition at line 55 of file comedidev.h.

#define DPRINTK (   format,
  args... 
)
Value:
do{                             \
        if(comedi_debug)printk("comedi: " format , ## args );           \
} while(0)

Definition at line 50 of file comedidev.h.

#define GCC_ZERO_LENGTH_ARRAY   0

Definition at line 405 of file comedidev.h.

#define PCI_VENDOR_ID_ADLINK   0x144a

Definition at line 118 of file comedidev.h.

#define PCI_VENDOR_ID_ADVANTECH   0x13fe

Definition at line 115 of file comedidev.h.

#define PCI_VENDOR_ID_AMPLICON   0x14dc

Definition at line 117 of file comedidev.h.

#define PCI_VENDOR_ID_COMPUTERBOARDS   0x1307

Definition at line 114 of file comedidev.h.

#define PCI_VENDOR_ID_CONTEC   0x1221

Definition at line 120 of file comedidev.h.

#define PCI_VENDOR_ID_DATX   0x1116

Definition at line 113 of file comedidev.h.

#define PCI_VENDOR_ID_ICP   0x104c

Definition at line 119 of file comedidev.h.

#define PCI_VENDOR_ID_INOVA   0x104c

Definition at line 111 of file comedidev.h.

#define PCI_VENDOR_ID_MEILHAUS   0x1402

Definition at line 121 of file comedidev.h.

#define PCI_VENDOR_ID_NATINST   0x1093

Definition at line 112 of file comedidev.h.

#define PCI_VENDOR_ID_RTD   0x1435

Definition at line 116 of file comedidev.h.

#define RANGE (   a,
 
)    {(a)*1e6,(b)*1e6,0}

Definition at line 386 of file comedidev.h.

#define range_digital   range_unipolar5

Definition at line 400 of file comedidev.h.

#define RANGE_ext (   a,
 
)    {(a)*1e6,(b)*1e6,RF_EXTERNAL}

Definition at line 387 of file comedidev.h.

#define RANGE_mA (   a,
 
)    {(a)*1e6,(b)*1e6,UNIT_mA}

Definition at line 388 of file comedidev.h.

#define RANGE_unitless (   a,
 
)    {(a)*1e6,(b)*1e6,0}

Definition at line 389 of file comedidev.h.

#define UNI_RANGE (   a)    {0,(a)*1e6,0}

Definition at line 391 of file comedidev.h.


Typedef Documentation

Definition at line 129 of file comedidev.h.

Definition at line 127 of file comedidev.h.

Definition at line 130 of file comedidev.h.

Definition at line 131 of file comedidev.h.

Definition at line 128 of file comedidev.h.


Enumeration Type Documentation

Enumerator:
COMEDI_DEVICE_MINOR_MASK 
COMEDI_SUBDEVICE_MINOR_MASK 

Definition at line 315 of file comedidev.h.

Enumerator:
SRF_USER 
SRF_RT 
SRF_ERROR 
SRF_RUNNING 

Definition at line 364 of file comedidev.h.


Function Documentation

int check_chanlist ( comedi_subdevice s,
int  n,
unsigned int *  chanlist 
)

Definition at line 123 of file range.c.

void cleanup_polling ( void  )
int comedi_alloc_board_minor ( struct device hardware_device)

Definition at line 2148 of file comedi_fops.c.

int comedi_alloc_subdevice_minor ( comedi_device dev,
comedi_subdevice s 
)

Definition at line 2249 of file comedi_fops.c.

int comedi_buf_alloc ( comedi_device dev,
comedi_subdevice s,
unsigned long  new_size 
)

Definition at line 417 of file drivers.c.

int comedi_buf_get ( comedi_async async,
sampl_t x 
)

Definition at line 750 of file drivers.c.

void comedi_buf_memcpy_from ( comedi_async async,
unsigned int  offset,
void *  destination,
unsigned int  num_bytes 
)

Definition at line 709 of file drivers.c.

void comedi_buf_memcpy_to ( comedi_async async,
unsigned int  offset,
const void *  source,
unsigned int  num_bytes 
)

Definition at line 684 of file drivers.c.

int comedi_buf_put ( comedi_async async,
sampl_t  x 
)

Definition at line 762 of file drivers.c.

unsigned comedi_buf_read_alloc ( comedi_async async,
unsigned  nbytes 
)

Definition at line 654 of file drivers.c.

unsigned comedi_buf_read_free ( comedi_async async,
unsigned int  nbytes 
)

Definition at line 668 of file drivers.c.

unsigned int comedi_buf_read_n_available ( comedi_async async)

Definition at line 735 of file drivers.c.

unsigned int comedi_buf_write_alloc ( comedi_async async,
unsigned int  nbytes 
)

Definition at line 605 of file drivers.c.

unsigned int comedi_buf_write_alloc_strict ( comedi_async async,
unsigned int  nbytes 
)

Definition at line 620 of file drivers.c.

unsigned comedi_buf_write_free ( comedi_async async,
unsigned int  nbytes 
)

Definition at line 636 of file drivers.c.

unsigned int comedi_buf_write_n_available ( comedi_async async)

Definition at line 585 of file drivers.c.

int comedi_device_attach ( comedi_device dev,
comedi_devconfig it 
)

Definition at line 118 of file drivers.c.

void comedi_device_detach ( comedi_device dev)

Definition at line 111 of file drivers.c.

int comedi_driver_register ( comedi_driver )

Definition at line 185 of file drivers.c.

int comedi_driver_unregister ( comedi_driver )

Definition at line 193 of file drivers.c.

void comedi_error ( const comedi_device dev,
const char *  s 
)

Definition at line 2023 of file comedi_fops.c.

void comedi_event ( comedi_device dev,
comedi_subdevice s 
)

Definition at line 2029 of file comedi_fops.c.

void comedi_free_board_minor ( unsigned  minor)

Definition at line 2221 of file comedi_fops.c.

void comedi_free_subdevice_minor ( comedi_subdevice s)

Definition at line 2317 of file comedi_fops.c.

struct comedi_device_file_info* comedi_get_device_file_info ( unsigned  minor) [read]

Definition at line 2342 of file comedi_fops.c.

unsigned comedi_get_subdevice_runflags ( comedi_subdevice s)

Definition at line 2101 of file comedi_fops.c.

int comedi_pci_auto_config ( struct pci_dev *  pcidev,
const char *  board_name 
)

Definition at line 851 of file drivers.c.

void comedi_pci_auto_unconfig ( struct pci_dev *  pcidev)

Definition at line 863 of file drivers.c.

void comedi_reset_async_buf ( comedi_async async)

Definition at line 775 of file drivers.c.

void comedi_set_subdevice_runflags ( comedi_subdevice s,
unsigned  mask,
unsigned  bits 
)

Definition at line 2090 of file comedi_fops.c.

int comedi_usb_auto_config ( struct usb_device *  usbdev,
const char *  board_name 
)

Definition at line 868 of file drivers.c.

void comedi_usb_auto_unconfig ( struct usb_device *  usbdev)

Definition at line 875 of file drivers.c.

int do_rangeinfo_ioctl ( comedi_device dev,
comedi_rangeinfo arg 
)

Definition at line 47 of file range.c.

void init_polling ( void  )
int insn_inval ( comedi_device dev,
comedi_subdevice s,
comedi_insn insn,
lsampl_t data 
)

Definition at line 341 of file drivers.c.

void start_polling ( comedi_device )
void stop_polling ( comedi_device )

Variable Documentation

Definition at line 27 of file range.c.

Definition at line 29 of file range.c.

Definition at line 28 of file range.c.

Definition at line 30 of file range.c.

Definition at line 31 of file range.c.

Definition at line 32 of file range.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines