AlcapDAQ  1
vmedrv.h
Go to the documentation of this file.
1 /* vmedrv.h */
2 /* VME device driver for Bit3 Model 617/618/620 on Linux 2.6.x */
3 /* Created by Enomoto Sanshiro on 28 November 1999. */
4 /* Last updated by Enomoto Sanshiro on 20 February 2009. */
5 
6 
7 #ifndef __VMEDRV_H__
8 #define __VMEDRV_H__
9 
10 #include <linux/ioctl.h>
11 
12 
13 typedef enum vmedrv_access_modes_t {
22 
23 
25  VMEDRV_PIO, /* programmed access */
26  VMEDRV_DMA, /* direct memory access */
27  VMEDRV_NBDMA, /* non-blocking DMA */
30 
31 
32 /* 0 or negative signal_id is used to indicate wait-for-interrupt */
33 /* timeout is used only for wait-for-interrupt */
35  int irq;
36  int vector;
37  int signal_id;
38  int timeout;
41 
42 
43 typedef struct vmedrv_word_access_t {
44  unsigned long address;
45  unsigned long data;
47 
48 
49 #define VMEDRV_IOC_MAGIC 0xB3
50 
51 #define VMEDRV_IOC_SET_ACCESS_MODE _IOW(VMEDRV_IOC_MAGIC, 1, int)
52 #define VMEDRV_IOC_SET_TRANSFER_METHOD _IOW(VMEDRV_IOC_MAGIC, 2, int)
53 #define VMEDRV_IOC_REGISTER_INTERRUPT _IOW(VMEDRV_IOC_MAGIC, 3, vmedrv_interrupt_property_t)
54 #define VMEDRV_IOC_UNREGISTER_INTERRUPT _IOW(VMEDRV_IOC_MAGIC, 4, vmedrv_interrupt_property_t)
55 #define VMEDRV_IOC_ENABLE_INTERRUPT _IO(VMEDRV_IOC_MAGIC, 5)
56 #define VMEDRV_IOC_DISABLE_INTERRUPT _IO(VMEDRV_IOC_MAGIC, 6)
57 #define VMEDRV_IOC_ENABLE_ERROR_INTERRUPT _IO(VMEDRV_IOC_MAGIC, 7)
58 #define VMEDRV_IOC_DISABLE_ERROR_INTERRUPT _IO(VMEDRV_IOC_MAGIC, 8)
59 #define VMEDRV_IOC_WAIT_FOR_INTERRUPT _IOW(VMEDRV_IOC_MAGIC, 9, vmedrv_interrupt_property_t)
60 #define VMEDRV_IOC_CHECK_INTERRUPT _IOW(VMEDRV_IOC_MAGIC, 10, vmedrv_interrupt_property_t)
61 #define VMEDRV_IOC_CLEAR_INTERRUPT _IOW(VMEDRV_IOC_MAGIC, 11, vmedrv_interrupt_property_t)
62 #define VMEDRV_IOC_PROBE _IOWR(VMEDRV_IOC_MAGIC, 12, vmedrv_word_access_t)
63 #define VMEDRV_IOC_SET_INTERRUPT_AUTODISABLE _IOW(VMEDRV_IOC_MAGIC, 13, vmedrv_interrupt_property_t)
64 #define VMEDRV_IOC_SET_VECTOR_MASK _IOW(VMEDRV_IOC_MAGIC, 14, vmedrv_interrupt_property_t)
65 #define VMEDRV_IOC_RESET_ADAPTER _IO(VMEDRV_IOC_MAGIC, 15)
66 
67 
68 
69 #endif