windows-nt/Source/XPSP1/NT/public/internal/base/inc/elfkrnl.h

82 lines
1.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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_