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.
|
|
#ifndef __EFI_MISC_STUFF__
#define __EFI_MISC_STUFF__
/*++
Copyright (c) 1999 Microsoft Corporation
Module Name:
efimisc.hxx
Abstract:
a couple things to make our lives easier
Revision History:
--*/
extern "C" { #include <efi.h>
#include <efilib.h>
}
// a couple things to make our lives easier
// BUGBUG
// There doesn't seem to be any interlockedexchange compexchg or interlocked decrement/increment.
// so we define some here that work.
//
// Note that these won't work since they aren't really atomic, but my assumption is that
// EFI is a single threaded environment so this won't really matter.
LONG InterlockedIncrement ( IN OUT LONG* Addend );
LONG InterlockedDecrement ( IN OUT LONG* Addend );
LONG InterlockedExchange ( IN OUT LONG* Target, LONG Value );
LONG InterlockedCompareExchange ( IN OUT LONG* Destination, IN LONG ExChange, IN LONG Comperand );
NTSTATUS NtDelayExecution ( IN BOOLEAN Alertable, IN PLARGE_INTEGER DelayInterval );
// this is in qsort.c in efisrc.
void __cdecl qsort ( void *base, unsigned num, unsigned width, int (__cdecl *comp)(const void *, const void *) );
void _chkstk();
void _aNchkstk();
VOID EfiWaitForKey();
#endif //__EFI_MISC_STUFF__
|