source: GPL/branches/uniaud32-next/include/irqos2.h

Last change on this file was 675, checked in by Paul Smedley, 4 years ago

More code cleanups from AlexT from #os2russian

File size: 1.7 KB
Line 
1/* $Id: irqos2.h,v 1.1.1.1 2003/07/02 13:56:58 eleph Exp $ */
2/*
3 * Header for IRQ definitions & structures
4 *
5 * (C) 2000-2002 InnoTek Systemberatung GmbH
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public
18 * License along with this program; if not, write to the Free
19 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
20 * USA.
21 *
22 */
23
24#ifndef __IRQOS2_H__
25#define __IRQOS2_H__
26
27#define MAX_SHAREDIRQS 8
28#define MAX_IRQ_SLOTS 8
29
30
31typedef int irqreturn_t;
32typedef irqreturn_t (*snd_irq_handler_t)(int, void *);
33#define irq_handler_t snd_irq_handler_t
34#undef irq_handler_t
35#define irq_handler_t snd_irq_handler_t
36
37typedef struct {
38 irq_handler_t handler;
39 ULONG x0;
40 char *x1;
41 void *x2;
42} IRQHANDLER_INFO;
43
44typedef struct
45{
46 unsigned irqNo;
47 unsigned fEOI;
48 unsigned flHandlers;
49 IRQHANDLER_INFO irqHandlers[MAX_SHAREDIRQS];
50 ULONG hRes;
51} IRQ_SLOT;
52
53
54#ifdef __cplusplus
55extern "C" {
56#endif
57
58BOOL ALSA_SetIrq(ULONG ulIrq, ULONG ulSlotNo, BOOL fShared);
59BOOL ALSA_FreeIrq(ULONG ulIrq);
60
61BOOL process_interrupt(ULONG ulSlotNo, ULONG *pulIrq);
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif //__IRQOS2_H__
68
Note: See TracBrowser for help on using the repository browser.