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