82 lines
1.3 KiB
C
82 lines
1.3 KiB
C
/*++
|
||
|
||
Copyright (c) 1991 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
elfkrnl.h
|
||
|
||
Abstract:
|
||
|
||
This file contains defines for kernel->elf data structures
|
||
|
||
Author:
|
||
|
||
Mark Zbikowski 4/27/98
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#ifndef _ELFKRNL_
|
||
#define _ELFKRNL_
|
||
|
||
#define ELF_PORT_NAME "\\ErrorLogPort"
|
||
#define ELF_PORT_NAME_U L"\\ErrorLogPort"
|
||
|
||
//
|
||
// Type discriminator
|
||
//
|
||
|
||
typedef enum {
|
||
IO_ERROR_LOG = 0,
|
||
SM_ERROR_LOG,
|
||
} ELF_MESSAGE_TYPE;
|
||
|
||
|
||
//
|
||
// SM event structure
|
||
//
|
||
|
||
typedef struct {
|
||
LARGE_INTEGER TimeStamp;
|
||
NTSTATUS Status;
|
||
ULONG StringOffset;
|
||
ULONG StringLength;
|
||
} SM_ERROR_LOG_MESSAGE, *PSM_ERROR_LOG_MESSAGE;
|
||
|
||
|
||
//
|
||
// Max size of data sent to the eventlogging service through the LPC port.
|
||
//
|
||
|
||
#define ELF_PORT_MAX_MESSAGE_LENGTH PORT_MAXIMUM_MESSAGE_LENGTH
|
||
|
||
|
||
//
|
||
// Structure that is passed in from the system thread to the LPC port
|
||
//
|
||
|
||
typedef struct {
|
||
PORT_MESSAGE PortMessage;
|
||
ULONG MessageType;
|
||
union {
|
||
IO_ERROR_LOG_MESSAGE IoErrorLogMessage;
|
||
SM_ERROR_LOG_MESSAGE SmErrorLogMessage;
|
||
} u;
|
||
} ELF_PORT_MSG, *PELF_PORT_MSG;
|
||
|
||
|
||
//
|
||
// Structure for the message as a reply from the eventlogging service to
|
||
// the LPC client.
|
||
//
|
||
|
||
typedef struct _ELF_REPLY_MESSAGE {
|
||
PORT_MESSAGE PortMessage;
|
||
NTSTATUS Status;
|
||
} ELF_REPLY_MESSAGE, *PELF_REPLY_MESSAGE;
|
||
|
||
#endif // ifndef _ELFLPC_
|
||
|