diff options
Diffstat (limited to 'ldap/servers/slapd/ntperfdll/nsldapctrutil.h')
-rw-r--r-- | ldap/servers/slapd/ntperfdll/nsldapctrutil.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/ldap/servers/slapd/ntperfdll/nsldapctrutil.h b/ldap/servers/slapd/ntperfdll/nsldapctrutil.h new file mode 100644 index 00000000..37384b3a --- /dev/null +++ b/ldap/servers/slapd/ntperfdll/nsldapctrutil.h @@ -0,0 +1,120 @@ +/** BEGIN COPYRIGHT BLOCK + * Copyright 2001 Sun Microsystems, Inc. + * Portions copyright 1999, 2001-2003 Netscape Communications Corporation. + * All rights reserved. + * END COPYRIGHT BLOCK **/ + + +/*++ BUILD Version: 0001 // Increment this if a change has global effects + +Copyright (c) 1992 Microsoft Corporation + +Module Name: + + perfutil.h + +Abstract: + + + + This file supports routines used to parse and create Performance Monitor Data + Structures. It actually supports Performance Object types with multiple instances + + + +Revision History: + +--*/ +#ifndef _PERFUTIL_H_ +#define _PERFUTIL_H_ + +// enable this define to log process heap data to the event log +#ifdef PROBE_HEAP_USAGE +#undef PROBE_HEAP_USAGE +#endif +// + + +// Utility macro. This is used to reserve a DWORD multiple of bytes for Unicode strings +// embedded in the definitional data, viz., object instance names. + + +// + + +#define DWORD_MULTIPLE(x) (((x+sizeof(DWORD)-1)/sizeof(DWORD))*sizeof(DWORD)) + + + +// (assumes dword is 4 bytes long and pointer is a dword in size) + + +#define ALIGN_ON_DWORD(x) ((VOID *)( ((DWORD) x & 0x00000003) ? ( ((DWORD) x & 0xFFFFFFFC) + 4 ) : ( (DWORD) x ) )) + + + +extern WCHAR GLOBAL_STRING[]; // Global command (get all local ctrs) +extern WCHAR FOREIGN_STRING[]; // get data from foreign computers +extern WCHAR COSTLY_STRING[]; + + +extern WCHAR NULL_STRING[]; + + + +#define QUERY_GLOBAL 1 +#define QUERY_ITEMS 2 +#define QUERY_FOREIGN 3 +#define QUERY_COSTLY 4 + +// + + +// The definition of the only routine of perfutil.c, It builds part of a performance data +// instance (PERF_INSTANCE_DEFINITION) as described in winperf.h + + +// + +HANDLE MonOpenEventLog (); +VOID MonCloseEventLog (); +DWORD GetQueryType (IN LPWSTR); +BOOL IsNumberInUnicodeList (DWORD, LPWSTR); + +typedef struct _LOCAL_HEAP_INFO_BLOCK { + DWORD AllocatedEntries; + DWORD AllocatedBytes; + DWORD FreeEntries; + DWORD FreeBytes; +} LOCAL_HEAP_INFO, *PLOCAL_HEAP_INFO; + + +// +// Memory Probe macro +// +#ifdef PROBE_HEAP_USAGE + +#define HEAP_PROBE() { \ + DWORD dwHeapStatus[5]; \ + NTSTATUS CallStatus; \ + dwHeapStatus[4] = __LINE__; \ + if (!(CallStatus = memprobe (dwHeapStatus, 16L, NULL))) { \ + REPORT_INFORMATION_DATA (VGA_HEAP_STATUS, LOG_DEBUG, \ + &dwHeapStatus, sizeof(dwHeapStatus)); \ + } else { \ + REPORT_ERROR_DATA (VGA_HEAP_STATUS_ERROR, LOG_DEBUG, \ + &CallStatus, sizeof (DWORD)); \ + } \ +} + +#else + +#define HEAP_PROBE() ; + + + + + +#endif + +#endif //_PERFUTIL_H_ |