Annotation of q_a/samples/ddk/mono/monopriv.h, revision 1.1.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.