ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
instrument_log.c File Reference

Go to the source code of this file.

Data Structures

struct  asciichat_instr_only_selector
 
struct  asciichat_instr_only_list
 
struct  asciichat_instr_runtime
 

Macros

#define ASCII_INSTR_SOURCE_PRINT_HAVE_REGEX   1
 
#define posix_write   write
 
#define ASCII_INSTR_SOURCE_PRINT_DEFAULT_BASENAME   "ascii-instr"
 
#define ASCII_INSTR_SOURCE_PRINT_MAX_LINE   4096
 
#define ASCII_INSTR_SOURCE_PRINT_MAX_SNIPPET   2048
 

Typedefs

typedef enum asciichat_instr_selector_type asciichat_instr_selector_type_t
 
typedef struct asciichat_instr_only_selector asciichat_instr_only_selector_t
 
typedef struct asciichat_instr_only_list asciichat_instr_only_list_t
 
typedef struct asciichat_instr_runtime asciichat_instr_runtime_t
 

Enumerations

enum  asciichat_instr_selector_type { ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_SUBSTRING = 0 , ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_GLOB = 1 , ASCII_INSTR_SOURCE_PRINT_SELECTOR_FUNCTION_GLOB = 2 , ASCII_INSTR_SOURCE_PRINT_SELECTOR_MODULE = 3 }
 

Functions

asciichat_instr_runtime_tasciichat_instr_runtime_get (void)
 Get or create the thread-local runtime context.
 
void asciichat_instr_runtime_destroy (asciichat_instr_runtime_t *runtime)
 Destroy a runtime context and release resources.
 
void asciichat_instr_runtime_global_shutdown (void)
 Global shutdown of the instrumentation system.
 
void asciichat_instr_log_line (const char *file_path, uint32_t line_number, const char *function_name, const char *snippet, uint8_t is_macro_expansion)
 Log a source line execution event.
 
bool asciichat_instr_coverage_enabled (void)
 Check if coverage logging is enabled.
 
void asciichat_instr_log_pc (uintptr_t program_counter)
 Log a program counter for coverage analysis.
 

Macro Definition Documentation

◆ ASCII_INSTR_SOURCE_PRINT_DEFAULT_BASENAME

#define ASCII_INSTR_SOURCE_PRINT_DEFAULT_BASENAME   "ascii-instr"

Definition at line 56 of file instrument_log.c.

◆ ASCII_INSTR_SOURCE_PRINT_HAVE_REGEX

#define ASCII_INSTR_SOURCE_PRINT_HAVE_REGEX   1

Definition at line 33 of file instrument_log.c.

◆ ASCII_INSTR_SOURCE_PRINT_MAX_LINE

#define ASCII_INSTR_SOURCE_PRINT_MAX_LINE   4096

Definition at line 60 of file instrument_log.c.

◆ ASCII_INSTR_SOURCE_PRINT_MAX_SNIPPET

#define ASCII_INSTR_SOURCE_PRINT_MAX_SNIPPET   2048

Definition at line 64 of file instrument_log.c.

◆ posix_write

#define posix_write   write

Definition at line 52 of file instrument_log.c.

Typedef Documentation

◆ asciichat_instr_only_list_t

◆ asciichat_instr_only_selector_t

◆ asciichat_instr_runtime_t

◆ asciichat_instr_selector_type_t

Enumeration Type Documentation

◆ asciichat_instr_selector_type

Enumerator
ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_SUBSTRING 
ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_GLOB 
ASCII_INSTR_SOURCE_PRINT_SELECTOR_FUNCTION_GLOB 
ASCII_INSTR_SOURCE_PRINT_SELECTOR_MODULE 

Definition at line 67 of file instrument_log.c.

67 {
@ ASCII_INSTR_SOURCE_PRINT_SELECTOR_FUNCTION_GLOB
@ ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_GLOB
@ ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_SUBSTRING
@ ASCII_INSTR_SOURCE_PRINT_SELECTOR_MODULE
enum asciichat_instr_selector_type asciichat_instr_selector_type_t