Subversion Repositories WoWGM

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 tristanc 1
//////////////////////////////////////////////////////////////////////////////
2
//
3
//  Detours Test Program (syelog.h of syelog.lib)
4
//
5
//  Microsoft Research Detours Package, Version 3.0.
6
//
7
//  Copyright (c) Microsoft Corporation.  All rights reserved.
8
//
9
#pragma once
10
#ifndef _SYELOGD_H_
11
#define _SYELOGD_H_
12
#include <stdarg.h>
13
 
14
#pragma pack(push, 1)
15
#pragma warning(push)
16
#pragma warning(disable: 4200)
17
 
18
//////////////////////////////////////////////////////////////////////////////
19
//
20
//
21
#define SYELOG_PIPE_NAMEA       "\\\\.\\pipe\\syelog"
22
#define SYELOG_PIPE_NAMEW       L"\\\\.\\pipe\\syelog"
23
#ifdef UNICODE
24
#define SYELOG_PIPE_NAME        SYELOG_PIPE_NAMEW
25
#else
26
#define SYELOG_PIPE_NAME        SYELOG_PIPE_NAMEA
27
#endif
28
 
29
//////////////////////////////////////////////////////////////////////////////
30
//
31
#define SYELOG_MAXIMUM_MESSAGE  4086    // 4096 - sizeof(header stuff)
32
 
33
typedef struct _SYELOG_MESSAGE
34
{
35
    USHORT      nBytes;
36
    BYTE        nFacility;
37
    BYTE        nSeverity;
38
    DWORD       nProcessId;
39
    FILETIME    ftOccurance;
40
    BOOL        fTerminate;
41
    CHAR        szMessage[SYELOG_MAXIMUM_MESSAGE];
42
} SYELOG_MESSAGE, *PSYELOG_MESSAGE;
43
 
44
 
45
// Facility Codes.
46
//
47
#define SYELOG_FACILITY_KERNEL          0x10            // OS Kernel
48
#define SYELOG_FACILITY_SECURITY        0x20            // OS Security
49
#define SYELOG_FACILITY_LOGGING         0x30            // OS Logging-internal
50
#define SYELOG_FACILITY_SERVICE         0x40            // User-mode system daemon
51
#define SYELOG_FACILITY_APPLICATION     0x50            // User-mode application
52
#define SYELOG_FACILITY_USER            0x60            // User self-generated.
53
#define SYELOG_FACILITY_LOCAL0          0x70            // Locally defined.
54
#define SYELOG_FACILITY_LOCAL1          0x71            // Locally defined.
55
#define SYELOG_FACILITY_LOCAL2          0x72            // Locally defined.
56
#define SYELOG_FACILITY_LOCAL3          0x73            // Locally defined.
57
#define SYELOG_FACILITY_LOCAL4          0x74            // Locally defined.
58
#define SYELOG_FACILITY_LOCAL5          0x75            // Locally defined.
59
#define SYELOG_FACILITY_LOCAL6          0x76            // Locally defined.
60
#define SYELOG_FACILITY_LOCAL7          0x77            // Locally defined.
61
#define SYELOG_FACILITY_LOCAL8          0x78            // Locally defined.
62
#define SYELOG_FACILITY_LOCAL9          0x79            // Locally defined.
63
 
64
// Severity Codes.
65
//
66
#define SYELOG_SEVERITY_FATAL           0x00            // System is dead.
67
#define SYELOG_SEVERITY_ALERT           0x10            // Take action immediately.
68
#define SYELOG_SEVERITY_CRITICAL        0x20            // Critical condition.
69
#define SYELOG_SEVERITY_ERROR           0x30            // Error
70
#define SYELOG_SEVERITY_WARNING         0x40            // Warning
71
#define SYELOG_SEVERITY_NOTICE          0x50            // Significant condition.
72
#define SYELOG_SEVERITY_INFORMATION     0x60            // Informational
73
#define SYELOG_SEVERITY_AUDIT_FAIL      0x66            // Audit Failed
74
#define SYELOG_SEVERITY_AUDIT_PASS      0x67            // Audit Succeeeded
75
#define SYELOG_SEVERITY_DEBUG           0x70            // Debugging
76
 
77
// Logging Functions.
78
//
79
VOID SyelogOpen(PCSTR pszIdentifier, BYTE nFacility);
80
VOID Syelog(BYTE nSeverity, PCSTR pszMsgf, ...);
81
VOID SyelogV(BYTE nSeverity, PCSTR pszMsgf, va_list args);
82
VOID SyelogClose(BOOL fTerminate);
83
 
84
#pragma warning(pop)
85
#pragma pack(pop)
86
 
87
#endif //  _SYELOGD_H_
88
//
89
///////////////////////////////////////////////////////////////// End of File.