ReactOS 0.4.16-dev-340-g0540c21
aux_klib.h
Go to the documentation of this file.
1/*
2 * aux_klib.h
3 *
4 * Auxiliary Kernel-Mode Library
5 *
6 * Contributors:
7 * Victor Perevertkin <victor.perevertkin@reactos.org>
8 *
9 * THIS SOFTWARE IS NOT COPYRIGHTED
10 *
11 * This source code is offered for use in the public domain. You may
12 * use, modify or distribute it freely.
13 *
14 * This code is distributed in the hope that it will be useful but
15 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16 * DISCLAIMED. This includes but is not limited to warranties of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 *
19 */
20
21#pragma once
22
23#ifndef PIMAGE_EXPORT_DIRECTORY
24#include <ntimage.h>
25#endif
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31#define AUX_KLIB_MODULE_PATH_LEN 0x100
32
33typedef struct _AUX_MODULE_BASIC_INFO {
36
43
44typedef struct _KBUGCHECK_DATA {
52
53CODE_SEG("PAGE")
57
59CODE_SEG("PAGE")
63 _Inout_ PULONG InformationLength,
66
70
73 _In_ PVOID ImageBase);
74
76CODE_SEG("PAGE")
79AuxKlibEnumerateSystemFirmwareTables (
80 _In_ ULONG FirmwareTableProviderSignature,
84
86CODE_SEG("PAGE")
89AuxKlibGetSystemFirmwareTable (
90 _In_ ULONG FirmwareTableProviderSignature,
95
96#ifdef __cplusplus
97}
98#endif
#define CODE_SEG(...)
static tBugCheckData BugCheckData
NTSTATUS NTAPI AuxKlibQueryModuleInformation(_In_ PULONG InformationLength, _In_ ULONG SizePerModule, _Inout_ PAUX_MODULE_EXTENDED_INFO ModuleInfo)
Definition: aux_klib.c:53
_In_ ULONG SizePerModule
Definition: aux_klib.h:64
PIMAGE_EXPORT_DIRECTORY AuxKlibGetImageExportDirectory(_In_ PVOID ImageBase)
Definition: aux_klib.c:196
NTSTATUS NTAPI AuxKlibInitialize(VOID)
Definition: aux_klib.c:26
struct _KBUGCHECK_DATA KBUGCHECK_DATA
struct _AUX_MODULE_EXTENDED_INFO AUX_MODULE_EXTENDED_INFO
NTSTATUS AuxKlibGetBugCheckData(_Inout_ PKBUGCHECK_DATA BugCheckData)
Definition: aux_klib.c:178
_In_ ULONG FirmwareTableID
Definition: aux_klib.h:91
struct _KBUGCHECK_DATA * PKBUGCHECK_DATA
#define AUX_KLIB_MODULE_PATH_LEN
Definition: aux_klib.h:31
struct _AUX_MODULE_BASIC_INFO AUX_MODULE_BASIC_INFO
struct _AUX_MODULE_BASIC_INFO * PAUX_MODULE_BASIC_INFO
_In_ ULONG _Out_opt_ PULONG ReturnLength
Definition: aux_klib.h:83
struct _AUX_MODULE_EXTENDED_INFO * PAUX_MODULE_EXTENDED_INFO
_In_ ULONG _Out_writes_bytes_opt_ InformationLength PAUX_MODULE_EXTENDED_INFO ModuleInfo
Definition: aux_klib.h:65
LONG NTSTATUS
Definition: precomp.h:26
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _In_
Definition: no_sal2.h:158
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
unsigned short USHORT
Definition: pedump.c:61
CHAR FullPathName[AUX_KLIB_MODULE_PATH_LEN]
Definition: aux_klib.h:41
AUX_MODULE_BASIC_INFO BasicInfo
Definition: aux_klib.h:38
ULONG_PTR Parameter1
Definition: aux_klib.h:47
ULONG BugCheckDataSize
Definition: aux_klib.h:45
ULONG_PTR Parameter3
Definition: aux_klib.h:49
ULONG BugCheckCode
Definition: aux_klib.h:46
ULONG_PTR Parameter2
Definition: aux_klib.h:48
ULONG_PTR Parameter4
Definition: aux_klib.h:50
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3771
char CHAR
Definition: xmlstorage.h:175