Annotation of gcl520h/_irq88.h, revision 1.1.1.1

1.1       root        1: #ifndef _IRQMAN_DOT_H
                      2: #define _IRQMAN_DOT_H
                      3: 
                      4: /*
                      5:  * _IRQ88.H          5.20A  June 8, 1995
                      6:  *
                      7:  * The Greenleaf Comm Library
                      8:  *
                      9:  * Copyright (C) 1984-1995 Greenleaf Software Inc.  All Rights Reserved.
                     10:  *
                     11:  * NOTES
                     12:  *
                     13:  *  This file contains all the structures and constants used by
                     14:  *  the IRQ Manager internal functions.  End users should never
                     15:  *  have to include this file in any of their source modules.
                     16:  *
                     17:  * MODIFICATIONS
                     18:  *
                     19:  *  December 12, 1992  4.00A : Initial release
                     20:  *  December 1, 1994   5.10A : All of the DOS Extender stuff has been
                     21:  *                             yanked from here.  The extended versions
                     22:  *                             of the IRQ manager haver their own header
                     23:  *                             files now.
                     24:  */
                     25: 
                     26: #define MAXIMUM_HANDLERS 10
                     27: 
                     28: /*
                     29:  *  Note that real far pointers are saved as unsigned longs.  This
                     30:  *  prevents protected mode code from accidentally choking if and
                     31:  *  when it treats a real mode address as a pointer.
                     32:  *
                     33:  *  All of the 16 bit DOS Extender remnants here could get trashed.
                     34:  *  The only problem right now is that we need to match the structure
                     35:  *  up exactly with the structure used in PowerComm.  So, to avoid
                     36:  *  problems, all this stuff is being left alone right now.
                     37:  */
                     38: 
                     39: typedef struct _tag_irqdata {
                     40:     void ( GF_FAR *old_handler )( void );
                     41:     unsigned long old_real_handler;
                     42:     void ( GF_CDECL GF_FAR *handler )( void GF_FAR *data );
                     43:     unsigned long real_handler;
                     44: 
                     45: #ifndef VGFD
                     46:     void GF_FAR *data;
                     47: #else /* ifndef VGFD */
                     48:     void GF_FAR *data_PM;
                     49:     void GF_FAR *data_V86;
                     50: #endif
                     51: 
                     52:     unsigned long real_data;
                     53:     void ( GF_CONV *tear_down_function )( void GF_FAR *data );
                     54: #ifndef _LCODE
                     55:     int dummy_place_holder; /* I keep this struc constant size for ISR ease */
                     56: #endif
                     57:     int interrupt_number;
                     58:     int saved_8259_bit;
                     59:     int primary_8259;
                     60:     int secondary_8259;
                     61:     int mask_8259;
                     62:     int int_count;
                     63:     int real_int_count;
                     64: #ifdef VGFD
                     65:     unsigned task_handle_irq; /* VGFD task handle */
                     66:     int vm_id_irq;            /* VGFD VM id */
                     67: #endif
                     68: } IRQDATA;
                     69: 
                     70: #ifdef __cplusplus
                     71: extern "C" {
                     72: #endif
                     73: 
                     74: int GF_CONV HookInterrupt( int interrupt_number,
                     75: #ifndef VGFD
                     76:                            void ( GF_CDECL GF_FAR *handler )( void GF_FAR *data ),
                     77: #else
                     78:                            long handler,
                     79: #endif
                     80:                            void ( GF_CDECL GF_FAR *real_handler )( void GF_FAR *data ),
                     81:                            void GF_FAR *data,
                     82:                            void ( GF_CONV *tear_down_function ) ( void GF_FAR *data ),
                     83:                            int primary_8259,
                     84:                            int secondary_8259,
                     85:                            int mask_8259 );
                     86: 
                     87: int GF_CONV UnHookInterrupt( int interrupt_number );
                     88: IRQDATA GF_FAR * GF_CONV _GetInterruptData( int interrupt_number );
                     89: 
                     90: #if !defined( VGFD )
                     91: extern IRQDATA GF_FAR _irqtable[ MAXIMUM_HANDLERS ];
                     92: #else
                     93: extern IRQDATA GF_FAR *_irqtable;
                     94: #endif
                     95: 
                     96: 
                     97: extern void GF_FAR *_dispatcher_stubs[ MAXIMUM_HANDLERS ] ;
                     98: 
                     99: #ifdef __cplusplus
                    100: }
                    101: #endif
                    102: 
                    103: #endif /* #ifndef _IRQMAN_DOT_H */
                    104: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.