Annotation of q_a/samples/ddk/mapmem/mapmem.h, revision 1.1

1.1     ! root        1: /*++
        !             2: 
        !             3: Copyright (c) 1993  Microsoft Corporation
        !             4: 
        !             5: Module Name:
        !             6: 
        !             7:     mapmem.h
        !             8: 
        !             9: Abstract:
        !            10: 
        !            11: 
        !            12: Environment:
        !            13: 
        !            14:     kernel & User mode
        !            15: 
        !            16: Notes:
        !            17: 
        !            18: 
        !            19: Revision History:
        !            20: 
        !            21: --*/
        !            22: 
        !            23: 
        !            24: //
        !            25: // Define the various device type values.  Note that values used by Microsoft
        !            26: // Corporation are in the range 0-32767, and 32768-65535 are reserved for use
        !            27: // by customers.
        !            28: //
        !            29: 
        !            30: #define FILE_DEVICE_MAPMEM  0x00008000
        !            31: 
        !            32: 
        !            33: 
        !            34: //
        !            35: // Macro definition for defining IOCTL and FSCTL function control codes.  Note
        !            36: // that function codes 0-2047 are reserved for Microsoft Corporation, and
        !            37: // 2048-4095 are reserved for customers.
        !            38: //
        !            39: 
        !            40: #define MAPMEM_IOCTL_INDEX  0x800
        !            41: 
        !            42: 
        !            43: //
        !            44: // Define our own private IOCTL
        !            45: //
        !            46: 
        !            47: #define IOCTL_MAPMEM_MAP_USER_PHYSICAL_MEMORY   CTL_CODE(FILE_DEVICE_MAPMEM , \
        !            48:                                                          MAPMEM_IOCTL_INDEX,  \
        !            49:                                                          METHOD_BUFFERED,     \
        !            50:                                                          FILE_ANY_ACCESS)
        !            51: 
        !            52: #define IOCTL_MAPMEM_UNMAP_USER_PHYSICAL_MEMORY CTL_CODE(FILE_DEVICE_MAPMEM,  \
        !            53:                                                          MAPMEM_IOCTL_INDEX+1,\
        !            54:                                                          METHOD_BUFFERED,     \
        !            55:                                                          FILE_ANY_ACCESS)
        !            56: 
        !            57: 
        !            58: 
        !            59: 
        !            60: //
        !            61: // Our user mode app will pass an initialized structure like this
        !            62: //     down to the kernel mode driver
        !            63: //
        !            64: 
        !            65: typedef struct
        !            66: {
        !            67:     INTERFACE_TYPE   InterfaceType; // Isa, Eisa, etc....
        !            68:     ULONG            BusNumber;     // Bus number
        !            69:     PHYSICAL_ADDRESS BusAddress;    // Bus-relative address
        !            70:     ULONG            AddressSpace;  // 0 is memory, 1 is I/O
        !            71:     ULONG            Length;        // Length of section to map
        !            72: 
        !            73: } PHYSICAL_MEMORY_INFO, *PPHYSICAL_MEMORY_INFO;

unix.superglobalmegacorp.com

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