Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***
*rtcsup.h - declarations and definitions for RTC support (import lib support) * * Copyright (c) 1985-2001, Microsoft Corporation. All rights reserved. * *Purpose: * Contains the function declarations for all 'hook' function used from * within an external library to support RTC checks. * *Revision History: * 05-01-98 KBF Creation * 11-24-98 KBF Added new hook functions * 12-03-98 KBF Added the FuncCheckSet function * 05-11-99 KBF Wrap RTC support in #ifdef. * 05-17-99 PML Remove all Macintosh support. * 05-26-99 KBF Removed RTCl and RTCv, added _RTC_ADVMEM stuff * ****/
#if _MSC_VER > 1000 /*IFSTRIP=IGN*/
#pragma once
#endif
#ifndef _INC_RTCSUP
#define _INC_RTCSUP
#ifdef _RTC
#if !defined(_WIN32)
#error ERROR: Only Win32 target supported!
#endif
#include <rtcapi.h>
#ifdef __cplusplus
extern "C" { #endif
#ifdef _RTC_ADVMEM
#ifndef _MT
# define RTCCALLBACK(func, parms) if (func) func parms;
#else
# define RTCCALLBACK(func, parms) \
if (func) \ { \ DWORD RTC_res; \ RTC_res = WaitForSingleObject((HANDLE)_RTC_api_change_mutex, INFINITE); \ if (RTC_res != WAIT_OBJECT_0) \ DebugBreak(); \ if (func) func parms; \ ReleaseMutex((HANDLE)_RTC_api_change_mutex); \ } #endif
typedef void (__cdecl *_RTC_Allocate_hook_fp)(void *addr, unsigned sz, short level); typedef void (__cdecl *_RTC_Free_hook_fp)(void *mem, short level); typedef void (__fastcall *_RTC_MemCheck_hook_fp)(void **ptr, unsigned size); typedef void (__fastcall *_RTC_FuncCheckSet_hook_fp)(int status);
extern _RTC_Allocate_hook_fp _RTC_Allocate_hook; extern _RTC_Free_hook_fp _RTC_Free_hook; extern _RTC_MemCheck_hook_fp _RTC_MemCheck_hook; extern _RTC_FuncCheckSet_hook_fp _RTC_FuncCheckSet_hook; #else
# define RTCCALLBACK(a, b)
#endif
extern void *_RTC_api_change_mutex;
#ifdef __cplusplus
} #endif
#else
#define RTCCALLBACK(a, b)
#endif
#endif /* _INC_RTCSUP */
|