1 | /* $Id: irqos2.h,v 1.1 2000/04/23 14:55:26 ktk Exp $ */
|
---|
2 |
|
---|
3 | //******************************************************************************
|
---|
4 | // Header for irq definitions/structures
|
---|
5 | //
|
---|
6 | // Copyright 2000 Sander van Leeuwen (sandervl@xs4all.nl)
|
---|
7 | //
|
---|
8 | // This program is free software; you can redistribute it and/or
|
---|
9 | // modify it under the terms of the GNU General Public License as
|
---|
10 | // published by the Free Software Foundation; either version 2 of
|
---|
11 | // the License, or (at your option) any later version.
|
---|
12 | //
|
---|
13 | // This program is distributed in the hope that it will be useful,
|
---|
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
16 | // GNU General Public License for more details.
|
---|
17 | //
|
---|
18 | // You should have received a copy of the GNU General Public
|
---|
19 | // License along with this program; if not, write to the Free
|
---|
20 | // Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
|
---|
21 | // USA.
|
---|
22 | //
|
---|
23 | //******************************************************************************
|
---|
24 | #ifndef __IRQ_H__
|
---|
25 | #define __IRQ_H__
|
---|
26 |
|
---|
27 | #define MAX_SHAREDIRQS 4
|
---|
28 | //#define MAX_IRQS 16
|
---|
29 | #define MAX_SLOTS 4
|
---|
30 |
|
---|
31 |
|
---|
32 | typedef void (NEAR * IRQHANDLER)(int, void *, void *);
|
---|
33 |
|
---|
34 | typedef struct {
|
---|
35 | IRQHANDLER handler;
|
---|
36 | ULONG x0;
|
---|
37 | char *x1;
|
---|
38 | void *x2;
|
---|
39 | } IRQHANDLER_INFO;
|
---|
40 |
|
---|
41 |
|
---|
42 | typedef struct
|
---|
43 | {
|
---|
44 | unsigned irqNo;
|
---|
45 | unsigned fEOI;
|
---|
46 | unsigned flHandlers;
|
---|
47 | IRQHANDLER_INFO irqHandlers[MAX_SHAREDIRQS];
|
---|
48 | } IRQ_SLOT;
|
---|
49 |
|
---|
50 |
|
---|
51 | #ifdef __cplusplus
|
---|
52 | extern "C" {
|
---|
53 | #endif
|
---|
54 |
|
---|
55 | BOOL _cdecl oss_process_interrupt(int irq, unsigned long param);
|
---|
56 |
|
---|
57 | #ifdef __cplusplus
|
---|
58 | }
|
---|
59 | #endif
|
---|
60 |
|
---|
61 | #endif
|
---|