Annotation of gcl520h/_irq88.h, revision 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.