From 6e70fb2312f5e20013b334795048dce393665bce Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 2 Jul 2019 10:44:07 +0000 Subject: subsystem interfaces: defined log entry data passing & loginfo.data population. --- include/ntapi/nt_tty.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/include/ntapi/nt_tty.h b/include/ntapi/nt_tty.h index 2e6c432..1ea90b7 100644 --- a/include/ntapi/nt_tty.h +++ b/include/ntapi/nt_tty.h @@ -192,6 +192,46 @@ typedef enum _nt_tty_log_info_type { NT_TTY_LOG_INFO_CAP, } nt_tty_log_info_type; +/*************************************************************/ +/* log entry data passing, populating loginfo.data[] */ +/* */ +/* + start with structure-based elements; */ +/* + continue with 8-byte elements; */ +/* + continue with pointer-size elements */ +/* + continue with 4-byte elements; */ +/* + end with null-terminated utf-8 strings */ +/* */ +/* + use loginfo.meta to indicate which elements are present */ +/*************************************************************/ + + +/* log info entry data elements */ +#define NT_TTY_LOG_INFO_ENTRY_INTERPRETATION(x) ((x) & 0xff) + +#define NT_TTY_LOG_INFO_ENTRY_POINTER_ELEMENT_1 (1 << 12) +#define NT_TTY_LOG_INFO_ENTRY_POINTER_ELEMENT_2 (1 << 13) +#define NT_TTY_LOG_INFO_ENTRY_POINTER_ELEMENT_3 (1 << 14) +#define NT_TTY_LOG_INFO_ENTRY_POINTER_ELEMENT_4 (1 << 15) + +#define NT_TTY_LOG_INFO_ENTRY_STRUCT_ELEMENT_1 (1 << 16) +#define NT_TTY_LOG_INFO_ENTRY_STRUCT_ELEMENT_2 (1 << 17) +#define NT_TTY_LOG_INFO_ENTRY_STRUCT_ELEMENT_3 (1 << 18) +#define NT_TTY_LOG_INFO_ENTRY_STRUCT_ELEMENT_4 (1 << 19) + +#define NT_TTY_LOG_INFO_ENTRY_UINT64_ELEMENT_1 (1 << 20) +#define NT_TTY_LOG_INFO_ENTRY_UINT64_ELEMENT_2 (1 << 21) +#define NT_TTY_LOG_INFO_ENTRY_UINT64_ELEMENT_3 (1 << 22) +#define NT_TTY_LOG_INFO_ENTRY_UINT64_ELEMENT_4 (1 << 23) + +#define NT_TTY_LOG_INFO_ENTRY_UINT32_ELEMENT_1 (1 << 24) +#define NT_TTY_LOG_INFO_ENTRY_UINT32_ELEMENT_2 (1 << 25) +#define NT_TTY_LOG_INFO_ENTRY_UINT32_ELEMENT_3 (1 << 26) +#define NT_TTY_LOG_INFO_ENTRY_UINT32_ELEMENT_4 (1 << 27) + +#define NT_TTY_LOG_INFO_ENTRY_STRING_ELEMENT_1 (1 << 28) +#define NT_TTY_LOG_INFO_ENTRY_STRING_ELEMENT_2 (1 << 29) +#define NT_TTY_LOG_INFO_ENTRY_STRING_ELEMENT_3 (1 << 30) +#define NT_TTY_LOG_INFO_ENTRY_STRING_ELEMENT_4 (1 << 31) /* client process registration flags */ #define NT_TTY_INHERIT_HANDLES 0x0001 -- cgit v1.2.3