68 lines
996 B
C
68 lines
996 B
C
/*++
|
|
|
|
Copyright (c) 1997 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
stack.c
|
|
|
|
Abstract:
|
|
|
|
This provides a generic stack handler to push/pop things onto it
|
|
|
|
Author:
|
|
|
|
Stephane Plante (splante)
|
|
|
|
Environment:
|
|
|
|
User, Kernel
|
|
|
|
--*/
|
|
|
|
#ifndef _STACK_H_
|
|
#define _STACK_H_
|
|
|
|
NTSTATUS
|
|
StackAllocate(
|
|
OUT PSTACK *Stack,
|
|
IN ULONG StackElementSize
|
|
);
|
|
|
|
NTSTATUS
|
|
StackFree(
|
|
IN OUT PSTACK *Stack
|
|
);
|
|
|
|
NTSTATUS
|
|
StackParent(
|
|
IN OUT PSTACK *Stack,
|
|
IN PVOID Child,
|
|
OUT PVOID Parent
|
|
);
|
|
|
|
NTSTATUS
|
|
StackPop(
|
|
IN OUT PSTACK *Stack
|
|
);
|
|
|
|
NTSTATUS
|
|
StackPush(
|
|
IN OUT PSTACK *Stack,
|
|
OUT PVOID StackElement
|
|
);
|
|
|
|
NTSTATUS
|
|
StackRoot(
|
|
IN OUT PSTACK *Stack,
|
|
OUT PVOID RootElement
|
|
);
|
|
|
|
NTSTATUS
|
|
StackTop(
|
|
IN OUT PSTACK *Stack,
|
|
OUT PVOID TopElement
|
|
);
|
|
|
|
#endif
|