Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers win2k.h Source File

win2k.h

00001 /*
00002  * win2k.h
00003  *
00004  * Definitions only used in Windows 2000 and earlier versions
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __WIN2K_H
00024 #define __WIN2K_H
00025 
00026 #if __GNUC__ >=3
00027 #pragma GCC system_header
00028 #endif
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034 #include "ntddk.h"
00035 
00036 #pragma pack(push,4)
00037 
00038 typedef enum _BUS_DATA_TYPE {
00039   ConfigurationSpaceUndefined = -1,
00040   Cmos,
00041   EisaConfiguration,
00042   Pos,
00043   CbusConfiguration,
00044   PCIConfiguration,
00045   VMEConfiguration,
00046   NuBusConfiguration,
00047   PCMCIAConfiguration,
00048   MPIConfiguration,
00049   MPSAConfiguration,
00050   PNPISAConfiguration,
00051   SgiInternalConfiguration,
00052   MaximumBusDataType
00053 } BUS_DATA_TYPE, *PBUS_DATA_TYPE;
00054 
00055 NTOSAPI
00056 VOID
00057 DDKAPI
00058 ExReleaseResourceForThreadLite(
00059   /*IN*/ PERESOURCE  Resource,
00060   /*IN*/ ERESOURCE_THREAD  ResourceThreadId);
00061 
00062 NTOSAPI
00063 NTSTATUS
00064 DDKAPI
00065 IoReadPartitionTable(
00066   /*IN*/ PDEVICE_OBJECT  DeviceObject,
00067   /*IN*/ ULONG  SectorSize,
00068   /*IN*/ BOOLEAN  ReturnRecognizedPartitions,
00069   /*OUT*/ struct _DRIVE_LAYOUT_INFORMATION  **PartitionBuffer);
00070 
00071 NTOSAPI
00072 NTSTATUS
00073 DDKAPI
00074 IoSetPartitionInformation(
00075   /*IN*/ PDEVICE_OBJECT  DeviceObject,
00076   /*IN*/ ULONG  SectorSize,
00077   /*IN*/ ULONG  PartitionNumber,
00078   /*IN*/ ULONG  PartitionType);
00079 
00080 NTOSAPI
00081 NTSTATUS
00082 DDKAPI
00083 IoWritePartitionTable(
00084   /*IN*/ PDEVICE_OBJECT  DeviceObject,
00085   /*IN*/ ULONG  SectorSize,
00086   /*IN*/ ULONG  SectorsPerTrack,
00087   /*IN*/ ULONG  NumberOfHeads,
00088   /*IN*/ struct _DRIVE_LAYOUT_INFORMATION  *PartitionBuffer);
00089 
00090 /*
00091  * PVOID MmGetSystemAddressForMdl(
00092  * IN PMDL  Mdl); 
00093  */
00094 #define MmGetSystemAddressForMdl(Mdl) \
00095   (((Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA | \
00096     MDL_SOURCE_IS_NONPAGED_POOL)) ? \
00097       ((Mdl)->MappedSystemVa) : \
00098       (MmMapLockedPages((Mdl), KernelMode)))
00099 
00100 #pragma pack(pop)
00101 
00102 #ifdef __cplusplus
00103 }
00104 #endif
00105 
00106 #endif /* __WIN2K_H */