| #ifndef TOKSVC_LOG_IMPL_H |
| #define TOKSVC_LOG_IMPL_H |
| |
| #include <psxtypes/psxtypes.h> |
| #include <ntapi/nt_tty.h> |
| |
| #define TOKS_LOG_LEVEL(dctx,x) \ |
| if (dctx->cctx->loglevel < x) \ |
| return |
| |
| #define TOKS_LOG_CHILD_EXIT_STATUS(x) (((x) & 0xff00) >> 8) |
| #define TOKS_LOG_CHILD_KILL_STATUS(x) (((x) & 0x7f)) |
| |
| enum toks_log_entry_type { |
| TOKS_LOG_ENTRY_SERVER_STATUS, |
| TOKS_LOG_ENTRY_SERVER_INFO, |
| TOKS_LOG_ENTRY_SERVER_ERROR, |
| TOKS_LOG_ENTRY_CLIENT_STATUS, |
| TOKS_LOG_ENTRY_CLIENT_INFO, |
| TOKS_LOG_ENTRY_CLIENT_ERROR, |
| TOKS_LOG_ENTRY_SUB_LEVEL_1, |
| TOKS_LOG_ENTRY_SUB_LEVEL_2, |
| TOKS_LOG_ENTRY_SUB_LEVEL_3, |
| TOKS_LOG_ENTRY_SUB_LEVEL_4, |
| TOKS_LOG_ENTRY_SUB_LEVEL_5, |
| TOKS_LOG_ENTRY_SUB_LEVEL_6, |
| }; |
| |
| struct toks_daemon_ctx; |
| |
| const char * toks_log_basename(const char * path); |
| |
| void toks_log_header( |
| const struct toks_driver_ctx *, |
| enum toks_log_entry_type, |
| const char *, |
| ...); |
| |
| void toks_log_write( |
| const struct toks_driver_ctx *, |
| enum toks_log_entry_type, |
| const char *, |
| ...); |
| |
| void toks_log_get_process_name( |
| void *, char *, size_t); |
| |
| void toks_log_get_arbitrary_process_name( |
| nt_cid *, char *, size_t); |
| |
| void toks_log_lpc_request( |
| struct toks_daemon_ctx *, |
| const nt_tty_port_msg *); |
| |
| void toks_log_lpc_reply( |
| struct toks_daemon_ctx *, |
| const nt_tty_port_msg *); |
| |
| #endif |