Annotation of q_a/samples/ddk/mono/monopriv.h, revision 1.1

1.1     ! root        1: /*++
        !             2: 
        !             3: Copyright (c) 1993  Microsoft Corporation
        !             4: 
        !             5: Module Name:
        !             6: 
        !             7:     monopriv.h
        !             8: 
        !             9: Abstract:
        !            10: 
        !            11:     This module contains the PRIVATE (driver-only) definitions for the
        !            12:     code that implements the mono device driver.
        !            13: 
        !            14: Environment:
        !            15: 
        !            16:     Kernel mode
        !            17: 
        !            18: Revision History:
        !            19: 
        !            20:     03-22-93 : created
        !            21: 
        !            22: --*/
        !            23: 
        !            24: 
        !            25: //
        !            26: // Indices into & count of the above array
        !            27: //
        !            28: 
        !            29: #define MONO_VIDEO_BUFFER  0
        !            30: #define MONO_CRTC_REG      1
        !            31: #define MONO_MODE_CTL_REG  2
        !            32: 
        !            33: #define MONO_NUMBER_RESOURCE_ENTRIES 3
        !            34: 
        !            35: 
        !            36: 
        !            37: //
        !            38: // The following is the debug print macro- when we are building checked
        !            39: // drivers "DBG" will be defined (by the \ddk\setenv.cmd script), and we
        !            40: // will see debug messages appearing on the KD screen on the host debug
        !            41: // machine. When we build free drivers "DBG" is not defined, and calls
        !            42: // to pMonoKdPrint are removed.
        !            43: //
        !            44: 
        !            45: #ifdef DBG
        !            46: #define pMonoKdPrint(arg) DbgPrint arg
        !            47: #else
        !            48: #define pMonoKdPrint(arg)
        !            49: #endif
        !            50: 
        !            51: 
        !            52: 
        !            53: //
        !            54: // A structure representing the instance information associated with
        !            55: // a particular device
        !            56: //
        !            57: 
        !            58: typedef struct _MONO_DEVICE_EXTENSION
        !            59: {
        !            60:     KEVENT         SyncEvent;
        !            61:     INTERFACE_TYPE InterfaceType;
        !            62:     ULONG          BusNumber;
        !            63:     PUSHORT        VideoMemory;
        !            64:     PUCHAR         CRTCRegisters;
        !            65:     PUCHAR         ModeControlRegister;
        !            66:     ULONG          Xpos;
        !            67:     ULONG          Ypos;
        !            68: 
        !            69: } MONO_DEVICE_EXTENSION, *PMONO_DEVICE_EXTENSION;
        !            70: 
        !            71: 
        !            72: 
        !            73: //
        !            74: // A structure decribing a particular device resource
        !            75: //
        !            76: 
        !            77: typedef struct _MONO_RESOURCE
        !            78: {
        !            79:     PHYSICAL_ADDRESS  PhysicalAddress;
        !            80:     ULONG             Length;
        !            81:     ULONG             AddressSpace;
        !            82:     ULONG             RangeSharable;
        !            83: 
        !            84: }   MONO_RESOURCE, *PMONO_RESOURCE;
        !            85: 
        !            86: 
        !            87: 
        !            88: //
        !            89: // A global that we keep around for use by the MonoDbgPrint function
        !            90: // (when other drivers call MonoDbgPrint we need to be able to access
        !            91: // the info stored in the device extension).
        !            92: //
        !            93: 
        !            94: PMONO_DEVICE_EXTENSION GlobalDeviceExtension = NULL;
        !            95: 
        !            96: 
        !            97: 
        !            98: //
        !            99: // A variable which determines the verboseness of the messages printed by
        !           100: // MonoDbgPrint.
        !           101: //
        !           102: 
        !           103: ULONG MonoDbgLevel = 3;
        !           104: 
        !           105: 
        !           106: 
        !           107: //
        !           108: // Resources used by the monochrome video adapter
        !           109: //
        !           110: 
        !           111: MONO_RESOURCE MonoResources[] =
        !           112: {
        !           113:     { 0x000b0000, 0x00000000,   // the video buffer
        !           114:       0x00001000,               // length
        !           115:       0,                        // in memory space
        !           116:       1 },                      // shared with other drivers/devices (vga)
        !           117: 
        !           118:     { 0x000003b4, 0x00000000,   // the 6845 index & data regs
        !           119:       0x00000002,               // length
        !           120:       1,                        // in I/O space
        !           121:       1 },                      // shared with other drivers/devices (vga)
        !           122: 
        !           123:     { 0x000b03b8, 0x00000000,   // mode control register
        !           124:       0x00000001,               // length
        !           125:       1,                        // in I/O space
        !           126:       1 }                       // shared with other drivers/devices (vga)
        !           127: };

unix.superglobalmegacorp.com

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