Coherent4.2.10/include/kernel/intr.h
/* (-lgl
* Coherent 386 release 4.2
* Copyright (c) 1982, 1993 by Mark Williams Company.
* All rights reserved. May not be copied without permission.
* For copying permission and licensing info, write licensing@mwc.com
-lgl) */
#ifndef __KERNEL_INTR_H__
#define __KERNEL_INTR_H__
/*
* Some definitions relating to setting up interrupt vectors in Coherent 4.2
*
* The assembly-language code that handles the incoming interrupt deals with
* saving the CPU context and then pulls some information out of the following
* table for manipulating the PIC context and for passing information to the
* C-language interrupt handler.
*
* A similar structure is defined in the kernel assembly-language library
* code; keep that in synch with this, or else...
*/
#include <common/ccompat.h>
#include <common/_intmask.h>
typedef struct __interrupt_control __int_control_t;
typedef void (* __int_func_t) __PROTO ((int _arg,
__int_control_t * _info));
struct __interrupt_control {
intmask_t _int_mask; /* masking information */
__int_func_t _int_func; /* handler to call */
int _int_arg; /* argument for handler */
int _int_count; /* entry count */
__VOID__ * _int_stat; /* reserved for statistics */
unsigned long __reserved [3]; /* reserved */
};
#define __DECLARE_INT(mask, func, arg) { (mask), (func), (arg) }
#endif /* ! defined (__KERNEL_INTR_H__) */