1#ifndef _VME_USER_H_ 2#define _VME_USER_H_ 3 4#define USER_BUS_MAX 1 5 6/* 7 * VMEbus Master Window Configuration Structure 8 */ 9struct vme_master { 10 int enable; /* State of Window */ 11 unsigned long long vme_addr; /* Starting Address on the VMEbus */ 12 unsigned long long size; /* Window Size */ 13 vme_address_t aspace; /* Address Space */ 14 vme_cycle_t cycle; /* Cycle properties */ 15 vme_width_t dwidth; /* Maximum Data Width */ 16}; 17 18 19/* 20 * IOCTL Commands and structures 21 */ 22 23/* Magic number for use in ioctls */ 24#define VME_IOC_MAGIC 0xAE 25 26 27/* VMEbus Slave Window Configuration Structure */ 28struct vme_slave { 29 int enable; /* State of Window */ 30 unsigned long long vme_addr; /* Starting Address on the VMEbus */ 31 unsigned long long size; /* Window Size */ 32 vme_address_t aspace; /* Address Space */ 33 vme_cycle_t cycle; /* Cycle properties */ 34}; 35 36#define VME_GET_SLAVE _IOR(VME_IOC_MAGIC, 1, struct vme_slave) 37#define VME_SET_SLAVE _IOW(VME_IOC_MAGIC, 2, struct vme_slave) 38#define VME_GET_MASTER _IOR(VME_IOC_MAGIC, 3, struct vme_master) 39#define VME_SET_MASTER _IOW(VME_IOC_MAGIC, 4, struct vme_master) 40 41#endif /* _VME_USER_H_ */ 42