| Jeff Dike | 63ae2a9 | 2006-03-27 01:14:30 -0800 | [diff] [blame] | 1 | /* | 
| Jeff Dike | ba180fd | 2007-10-16 01:27:00 -0700 | [diff] [blame] | 2 |  * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 |  * Licensed under the GPL | 
 | 4 |  */ | 
 | 5 |  | 
 | 6 | #ifndef __IRQ_USER_H__ | 
 | 7 | #define __IRQ_USER_H__ | 
 | 8 |  | 
| Jeff Dike | ba180fd | 2007-10-16 01:27:00 -0700 | [diff] [blame] | 9 | #include "sysdep/ptrace.h" | 
| Jeff Dike | 8ae43ff | 2006-07-10 04:45:09 -0700 | [diff] [blame] | 10 |  | 
| Jeff Dike | 63ae2a9 | 2006-03-27 01:14:30 -0800 | [diff] [blame] | 11 | struct irq_fd { | 
 | 12 | 	struct irq_fd *next; | 
 | 13 | 	void *id; | 
 | 14 | 	int fd; | 
 | 15 | 	int type; | 
 | 16 | 	int irq; | 
 | 17 | 	int pid; | 
 | 18 | 	int events; | 
 | 19 | 	int current_events; | 
 | 20 | }; | 
 | 21 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | enum { IRQ_READ, IRQ_WRITE }; | 
 | 23 |  | 
| Jeff Dike | 77bf440 | 2007-10-16 01:26:58 -0700 | [diff] [blame] | 24 | extern void sigio_handler(int sig, struct uml_pt_regs *regs); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | extern int activate_fd(int irq, int fd, int type, void *dev_id); | 
 | 26 | extern void free_irq_by_irq_and_dev(unsigned int irq, void *dev_id); | 
 | 27 | extern void free_irq_by_fd(int fd); | 
 | 28 | extern void reactivate_fd(int fd, int irqnum); | 
 | 29 | extern void deactivate_fd(int fd, int irqnum); | 
 | 30 | extern int deactivate_all_fds(void); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | extern int activate_ipi(int fd, int pid); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 |  | 
| Jeff Dike | 165dc59 | 2006-01-06 00:18:57 -0800 | [diff] [blame] | 33 | #endif |