summaryrefslogtreecommitdiff
path: root/mutant.h
diff options
context:
space:
mode:
Diffstat (limited to 'mutant.h')
-rw-r--r--mutant.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/mutant.h b/mutant.h
new file mode 100644
index 0000000..ab801fa
--- /dev/null
+++ b/mutant.h
@@ -0,0 +1,78 @@
1/*
2 * Copyright (c) 2004 Security Architects Corporation. All rights reserved.
3 *
4 * Module Name:
5 *
6 * mutant.h
7 *
8 * Abstract:
9 *
10 * This module defines various types used by mutant (mutex) hooking routines.
11 *
12 * Author:
13 *
14 * Eugene Tsyrklevich 25-Mar-2004
15 *
16 * Revision History:
17 *
18 * None.
19 */
20
21
22#ifndef __MUTANT_H__
23#define __MUTANT_H__
24
25
26#include <NTDDK.h>
27#include "policy.h"
28#include "pathproc.h"
29#include "hookproc.h"
30#include "accessmask.h"
31#include "learn.h"
32#include "log.h"
33
34
35/*
36 * ZwCreateMutant creates or opens a mutant object. [NAR]
37 */
38
39typedef NTSTATUS (*fpZwCreateMutant) (
40 OUT PHANDLE MutantHandle,
41 IN ACCESS_MASK DesiredAccess,
42 IN POBJECT_ATTRIBUTES ObjectAttributes,
43 IN BOOLEAN InitialOwner
44 );
45
46NTSTATUS
47NTAPI
48HookedNtCreateMutant(
49 OUT PHANDLE MutantHandle,
50 IN ACCESS_MASK DesiredAccess,
51 IN POBJECT_ATTRIBUTES ObjectAttributes,
52 IN BOOLEAN InitialOwner
53 );
54
55
56/*
57 * ZwOpenMutant opens a mutant object. [NAR]
58 */
59
60typedef NTSTATUS (*fpZwOpenMutant) (
61 OUT PHANDLE MutantHandle,
62 IN ACCESS_MASK DesiredAccess,
63 IN POBJECT_ATTRIBUTES ObjectAttributes
64 );
65
66NTSTATUS
67NTAPI
68HookedNtOpenMutant(
69 OUT PHANDLE MutantHandle,
70 IN ACCESS_MASK DesiredAccess,
71 IN POBJECT_ATTRIBUTES ObjectAttributes
72 );
73
74
75BOOLEAN InitMutantHooks();
76
77
78#endif /* __MUTANT_H__ */