123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- /*++
- Copyright (c) 2013 Minoca Corp.
- This file is licensed under the terms of the GNU General Public License
- version 3. Alternative licensing terms are available. Contact
- info@minocacorp.com for details. See the LICENSE file at the root of this
- project for complete licensing information.
- Module Name:
- spp.h
- Abstract:
- This header contains privates definitions for the System Profiler.
- Author:
- Chris Stevens 1-Jul-2013
- --*/
- //
- // ------------------------------------------------------------------- Includes
- //
- //
- // ---------------------------------------------------------------- Definitions
- //
- //
- // ------------------------------------------------------ Data Type Definitions
- //
- //
- // -------------------------------------------------------------------- Globals
- //
- //
- // Stores a value indicating which types of profiling are enabled.
- //
- extern ULONG SpEnabledFlags;
- //
- // Stores a pointer to a queued lock protecting access to the profiling status
- // variables.
- //
- extern PQUEUED_LOCK SpProfilingQueuedLock;
- //
- // -------------------------------------------------------- Function Prototypes
- //
- KSTATUS
- SppStartSystemProfiler (
- ULONG Flags
- );
- /*++
- Routine Description:
- This routine starts the system profiler. This routine must be called at low
- level. It assumes the profiler queued lock is held.
- Arguments:
- Flags - Supplies a set of flags representing the types of profiling that
- should be started.
- Return Value:
- Status code.
- --*/
- KSTATUS
- SppStopSystemProfiler (
- ULONG Flags
- );
- /*++
- Routine Description:
- This routine stops the system profiler and destroys the profiling data
- structures. This routine must be called at low level. It assumes the
- profiler queued lock is held.
- Arguments:
- Flags - Supplies a set of flags representing the types of profiling that
- should be stopped.
- Return Value:
- Status code.
- --*/
- KSTATUS
- SppArchGetKernelStackData (
- PTRAP_FRAME TrapFrame,
- PVOID *CallStack,
- PULONG CallStackSize
- );
- /*++
- Routine Description:
- This routine retrieves the kernel stack and its size in the given data
- fields.
- Arguments:
- TrapFrame - Supplies a pointer to the trap frame.
- CallStack - Supplies a pointer that receives an array of return addresses
- in the call stack.
- CallStackSize - Supplies a pointer to the size of the given call stack
- array. On return, it contains the size of the produced call stack, in
- bytes.
- Return Value:
- Status code.
- --*/
|