Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

ntnap.h

Go to the documentation of this file.
00001 /*++ 00002 Copyright (c) 1991 Microsoft Corporation 00003 00004 Module Name: 00005 00006 ntnap.h 00007 00008 Abstract: 00009 00010 This module contains the data structure decalrations for 00011 profiling of NT API's. 00012 00013 Author: 00014 00015 Russ Blake (russbl) 22-Apr-1991 00016 00017 Revision History: 00018 00019 --*/ 00020 00021 // 00022 // Initialization of minimum times 00023 // 00024 00025 #define MAX_LONG 0x7FFFFFFFL 00026 #define MAX_ULONG 0xFFFFFFFFL 00027 00028 // 00029 // Timer calibration 00030 // 00031 00032 #define NUM_ITERATIONS 2000 // Number of iterations 00033 #define MIN_ACCEPTABLEOVERHEAD 10 // Minimum overhead allowed 00034 #define NAP_CALIBRATION_SERVICE_NUMBER -1L // Calibration Routine Number 00035 00036 typedef struct _NAPCONTROL { 00037 00038 // 00039 // The following assures the area will be initialized only once. 00040 // Note: Assumes the section is given to us zero filled. 00041 // 00042 00043 BOOLEAN Initialized; 00044 00045 // 00046 // Profiling control. If NapPaused > 0, NapRecordInfo will 00047 // collect no data. Used to keep initialization and dumping 00048 // of data itself from being profiled. 00049 // 00050 00051 BOOLEAN Paused; 00052 00053 } NAPCONTROL, *PNAPCONTROL; 00054 00055 00056 00057 extern PCHAR NapNames[]; 00058 00059 // 00060 // Called internally 00061 // 00062 00063 VOID NapDllInit (VOID); 00064 VOID NapRecordInfo (IN ULONG, IN LARGE_INTEGER[]); 00065 NTSTATUS NapCreateDataSection (PNAPCONTROL *); 00066 00067 // 00068 // Called by us 00069 // 00070 00071 extern VOID NapCalibrate (VOID); 00072 extern VOID NapSpinOnSpinLock (ULONG *); 00073 extern VOID NapReleaseSpinLock (ULONG *);

Generated on Sat May 15 19:41:01 2004 for test by doxygen 1.3.7