00001
00002
00003
00004
00005 #define NUM(dev) (MINOR(dev) & 0xf)
00006
00007 typedef struct E12_device
00008 {
00009 int num;
00010 char devicename[50];
00011 int IRQ;
00012 unsigned char IRQedge;
00013 int address;
00014 u8 valid;
00015 struct fasync_struct *dataready;
00016 wait_queue_head_t readqueue;
00017 }E12_device;
00018
00019
00020 int E12_Open(struct inode *,struct file *);
00021 int E12_Release(struct inode *, struct file *);
00022 ssize_t E12_Read(struct file *, char *, size_t, loff_t *);
00023 ssize_t E12_Write(struct file *, const char *, size_t, loff_t *);
00024 int E12_Ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
00025 int E12_fasync(int fd, struct file *filp, int mode);
00026 void E12_Interrupt(int irq, void *dev_id, struct pt_regs *regs);