AXL

Modules

  • AxlMem — Memory Allocation
    • AxlMem — Memory Allocation
      • Overview
    • API Reference
      • AXL_AUTO_FREE
      • AXL_ARRAY_SIZE
      • AXL_SIGNATURE_32
      • AXL_CONTAINER_OF
      • axl_malloc()
      • axl_calloc()
      • axl_realloc()
      • axl_free()
      • axl_strdup()
      • axl_memdup()
      • axl_new()
      • axl_new_array()
      • axl_free_impl()
      • _axl_auto_free_func()
      • axl_alloc_pages()
      • axl_free_pages()
      • axl_mem_get_stats()
      • axl_mem_dump_leaks()
      • axl_mem_check()
      • axl_mem_fail_next_alloc()
      • AxlMemStats
  • AXL_DEBUG_ASSERT — debug-build invariant guards
    • API Reference
      • AXL_DEBUG_ASSERT
      • AXL_DEBUG_ASSERT_MSG
      • _axl_debug_assert_fail()
      • _axl_debug_assert_count()
  • AxlMath — Floating-point Math
    • AxlMath — Floating-point Math Primitives
      • Overview
      • API Shape
      • Accuracy
      • Hardware fast paths
      • Range Reduction (sin/cos)
      • Linking and Selective Pull-in
      • Substrate Discipline
    • API Reference
      • AXL_MATH_PI
      • AXL_MATH_TWO_PI
      • AXL_MATH_HALF_PI
      • AXL_MATH_E
      • AXL_MATH_SQRT_2
      • AXL_MATH_LOG_2
      • AXL_MATH_GOLDEN
      • AXL_MATH_DEG_TO_RAD
      • AXL_MATH_RAD_TO_DEG
      • AxlTransformClass
      • axl_floor()
      • axl_ceil()
      • axl_floori()
      • axl_ceili()
      • axl_fabs()
      • axl_sqrt()
      • axl_fmod()
      • axl_wrap()
      • axl_sin()
      • axl_cos()
      • axl_ln()
      • axl_exp()
      • axl_pow()
      • axl_atan()
      • axl_atan2()
      • axl_asin()
      • axl_acos()
      • axl_clamp()
      • axl_min()
      • axl_max()
      • axl_remap()
      • axl_step()
      • axl_smoothstep()
      • axl_lerp()
      • axl_ease_in_cubic()
      • axl_ease_out_cubic()
      • axl_ease_in_out_cubic()
      • axl_ease_in_quint()
      • axl_ease_out_quint()
      • axl_ease_in_out_quint()
      • axl_ease_in_sine()
      • axl_ease_out_sine()
      • axl_ease_in_out_sine()
      • axl_clz()
      • axl_ctz()
      • axl_popcount()
      • axl_log2i()
      • axl_round_up_pow2()
      • axl_sat_add_u8()
      • axl_sat_sub_u8()
      • axl_sat_mul_u16()
      • axl_vec2()
      • axl_vec2_add()
      • axl_vec2_sub()
      • axl_vec2_scale()
      • axl_vec2_dot()
      • axl_vec2_length()
      • axl_vec2_normalize()
      • axl_vec2_lerp()
      • axl_vec2_distance()
      • axl_vec2_perp()
      • axl_vec2_cross()
      • axl_vec2_rotate()
      • axl_vec2_angle()
      • axl_vec2_reflect()
      • axl_vec2_project()
      • axl_transform_identity()
      • axl_transform_translate()
      • axl_transform_scale()
      • axl_transform_rotate()
      • axl_transform_shear()
      • axl_transform_multiply()
      • axl_transform_map_point()
      • axl_transform_map_vector()
      • axl_transform_determinant()
      • axl_transform_invert()
      • axl_transform_perspective()
      • axl_transform_quad_to_quad()
      • axl_transform_map_rect()
      • axl_transform_map_quad()
      • axl_transform_classify()
      • axl_transform_is_identity()
      • axl_transform_is_axis_aligned()
      • axl_transform_is_affine()
      • axl_point_in_rect()
      • axl_rect_intersect()
      • axl_rect_union()
      • axl_segment_intersect()
      • axl_distance_point_to_segment()
      • axl_circle_circle_intersect()
      • AxlVec2
      • AxlTransform
      • AxlRect
      • AxlCircle
  • AxlFormat — Printf Engine
    • AxlFormat — Printf Engine
      • Callback-Driven Formatting
      • API
      • Use Cases
      • Supported Format Specifiers
    • API Reference
      • AXL_DTOA_BUF_MIN
      • AxlWriteFunc
      • axl_vformat()
      • axl_format()
      • axl_dtoa()
  • AxlStr — String Utilities
    • API Reference
      • axl_strlen()
      • axl_strcmp()
      • axl_streql()
      • axl_strncmp()
      • axl_strcasecmp()
      • axl_strnlen()
      • axl_isdigit()
      • axl_isxdigit()
      • axl_isalpha()
      • axl_isalnum()
      • axl_isspace()
      • axl_tolower()
      • axl_toupper()
      • axl_hex_nibble()
      • axl_hex_parse_u64()
      • axl_memcpy()
      • axl_memset()
      • axl_memmove()
      • axl_memcmp()
      • axl_memmem()
      • axl_snprintf()
      • axl_format_bytes()
      • axl_strlcpy()
      • axl_strlcat()
      • axl_strndup()
      • axl_strsplit()
      • axl_strfreev()
      • axl_strjoin()
      • axl_strjoinv()
      • axl_strstrip()
      • axl_strchr()
      • axl_strstr()
      • axl_strncpy()
      • axl_strstr_len()
      • axl_strrstr()
      • axl_strrstr_len()
      • axl_strcasestr()
      • axl_strcasestr_len()
      • axl_strrcasestr()
      • axl_strrcasestr_len()
      • axl_fnmatch()
      • axl_str_has_prefix()
      • axl_str_has_suffix()
      • axl_str_is_ascii()
      • axl_strcmp0()
      • axl_str_equal()
      • axl_str_hash()
      • axl_strncasecmp()
      • axl_strv_contains()
      • axl_strv_equal()
      • axl_utf8_decode()
      • axl_utf8_to_ucs2()
      • axl_utf8_to_ucs2_buf()
      • axl_ucs2_to_utf8()
      • axl_ucs2_to_utf8_buf()
      • axl_utf16_to_utf8()
      • axl_utf8_to_utf16()
      • axl_base64_encode()
      • axl_base64_decode()
      • axl_base64url_encode()
      • axl_base64url_decode()
      • axl_str_to_u64()
      • axl_str_to_u32()
      • axl_str_to_u16()
      • axl_str_to_u8()
      • axl_str_to_s64()
      • axl_str_to_s32()
      • axl_str_to_s16()
      • axl_str_to_s8()
      • axl_strtou64()
      • axl_strtou64_with_offset()
      • axl_str_reader_init()
      • axl_str_reader_init_n()
      • axl_str_reader_eof()
      • axl_str_reader_remaining()
      • axl_str_reader_peek()
      • axl_str_reader_skip_ws()
      • axl_str_reader_consume_char()
      • axl_str_reader_consume_str()
      • axl_str_reader_take_until()
      • axl_str_reader_take_while()
      • axl_str_reader_take_u64()
      • axl_str_reader_take_ident()
      • axl_sscanf()
      • axl_vsscanf()
      • axl_wcslen()
      • axl_wcscmp()
      • axl_wcseql()
      • axl_wcscpy()
      • AxlStrReader
  • AxlString — String Builder
    • API Reference
      • AxlString
      • axl_string_new()
      • axl_string_new_size()
      • axl_string_append()
      • axl_string_append_len()
      • axl_string_append_printf()
      • axl_string_append_c()
      • axl_string_prepend()
      • axl_string_prepend_len()
      • axl_string_prepend_c()
      • axl_string_insert()
      • axl_string_erase()
      • axl_string_truncate()
      • axl_string_overwrite()
      • axl_string_str()
      • axl_string_len()
      • axl_string_steal()
      • axl_string_clear()
      • axl_string_free()
      • axl_asprintf()
  • AxlStream — byte-stream abstraction
    • AxlStream — byte-stream abstraction
      • Overview
      • Console Output
      • File Read/Write
      • Stream I/O
      • Buffer Streams
      • Standard Streams
      • Text-Decoding Stream Wrapper
      • File Operations
    • API Reference
      • axl_printf
      • AXL_SEEK_SET
      • AXL_SEEK_CUR
      • AXL_SEEK_END
      • AxlStream
      • axl_ssize_t
      • AxlLineFn
      • AxlEncoding
      • axl_stream_init()
      • axl_stream_set_stdout_tee()
      • axl_stream_set_stderr_tee()
      • axl_print()
      • axl_printerr()
      • axl_fopen()
      • axl_fclose()
      • axl_fread()
      • axl_fwrite()
      • axl_fprintf()
      • axl_readline()
      • axl_readline_max()
      • axl_line_reader_init()
      • axl_line_reader_next()
      • axl_line_reader_error()
      • axl_walk_lines()
      • axl_fseek()
      • axl_ftell()
      • axl_feof()
      • axl_fflush()
      • axl_detect_encoding()
      • axl_stream_set_encoding()
      • axl_stream_get_encoding()
      • axl_fgets()
      • axl_vfprintf()
      • axl_ferror()
      • axl_clearerr()
      • axl_text_stream_wrap()
      • axl_bufopen()
      • axl_bufdata()
      • axl_bufsteal()
      • axl_read()
      • axl_write()
      • axl_pread()
      • axl_pwrite()
      • axl_stdout
      • axl_stderr
      • axl_stdin
      • axl_stdout_raw
      • AxlLineReader
    • AxlConsole — interactive console input + text-mode control
      • axl_console_read_key()
      • axl_console_flush_input()
      • axl_console_text_mode_count()
      • axl_console_text_query_mode()
      • axl_console_text_current_mode()
      • axl_console_text_find_mode()
      • axl_console_text_max_mode()
      • axl_console_text_set_mode()
      • AxlKey
      • AxlConsoleTextMode
    • AxlFs — filesystem operations
      • AXL_FILE_WRITER_APPEND
      • AXL_FILE_WRITER_EXCL
      • AXL_FS_OPEN_READ
      • AXL_FS_OPEN_WRITE
      • AXL_FS_OPEN_CREATE
      • AXL_FS_ATTR_READ_ONLY
      • AXL_FS_ATTR_HIDDEN
      • AXL_FS_ATTR_SYSTEM
      • AXL_FS_ATTR_DIRECTORY
      • AXL_FS_ATTR_ARCHIVE
      • AXL_FS_ENTRY_VERSION
      • AxlFileWriter
      • AxlProgressFunc
      • AxlDir
      • AxlDirWalkFn
      • axl_file_get_contents()
      • axl_file_get_bytes()
      • axl_file_set_contents()
      • axl_file_write_atomic()
      • axl_file_writer_open()
      • axl_file_writer_write()
      • axl_file_writer_tell()
      • axl_file_writer_close()
      • axl_file_is_dir()
      • axl_fs_entry_is_dir()
      • axl_fs_entry_is_read_only()
      • axl_file_info()
      • axl_file_delete()
      • axl_file_rename()
      • axl_file_move()
      • axl_dir_mkdir()
      • axl_dir_rmdir()
      • axl_dir_open()
      • axl_dir_read()
      • axl_dir_close()
      • axl_dir_walk()
      • axl_dir_list_json()
      • axl_volume_get_label()
      • axl_volume_get_label_by_handle()
      • axl_volume_enumerate()
      • AxlFsEntry
      • AxlVolume
    • AxlFileView — mmap-like windowed view over a file
      • AxlFileView
      • AxlPageCache
      • axl_file_view_open()
      • axl_file_view_open_cached()
      • axl_file_view_close()
      • axl_file_view_size()
      • axl_file_view_read()
      • axl_file_view_page()
      • axl_file_view_stats()
      • AxlFileViewStats
    • AxlFsProvider — publish a UEFI-visible filesystem
      • AXL_FS_PROVIDER_VERSION
      • AxlFsProviderFile
      • AxlFsProviderOpen
      • AxlFsProviderClose
      • AxlFsProviderRead
      • AxlFsProviderReadDir
      • AxlFsProviderWrite
      • AxlFsProviderSeek
      • AxlFsProviderDelete
      • AxlFsProviderFlush
      • AxlFsProviderGetInfo
      • AxlFsProviderSetInfo
      • AxlFsProviderVolumeInfoFn
      • AxlFsStatus
      • axl_fs_provider_publish()
      • axl_fs_provider_unpublish()
      • AxlFsProviderVolumeInfo
      • AxlFsProvider
    • AxlDevicePath — UEFI device-path constructors
      • AxlDevicePath
      • axl_device_path_make_vendor()
  • AxlLog — Logging
    • Overview
    • Basic Usage
    • Log Levels
    • Level Filtering
    • Custom Handlers
    • Ring Buffer
    • File Logging
    • API Reference
      • AXL_LOG_ERROR
      • AXL_LOG_WARNING
      • AXL_LOG_INFO
      • AXL_LOG_DEBUG
      • AXL_LOG_TRACE
      • AXL_LOG_DOMAIN
      • axl_error
      • axl_warning
      • axl_info
      • axl_debug
      • axl_trace
      • AxlLogHandler
      • AxlLogRing
      • axl_log_full()
      • axl_log()
      • axl_log_set_level()
      • axl_log_set_domain_level()
      • axl_log_init_from_env()
      • axl_log_add_handler()
      • axl_log_add_domain_handler()
      • axl_log_remove_handler()
      • axl_log_suppress_console()
      • axl_log_set_console_timestamp()
      • axl_log_set_console_color()
      • axl_log_set_fatal_level()
      • axl_log_set_fatal_image_handle()
      • axl_log_ring_new()
      • axl_log_ring_free()
      • axl_log_ring_attach()
      • axl_log_ring_count()
      • axl_log_ring_get()
      • axl_log_ring_clear()
      • axl_log_file_attach()
      • axl_log_file_detach()
      • axl_log_flush()
      • AxlLogEntry
  • AxlData — Data Structures
    • Choosing a Collection
    • AxlHashTable
      • Ownership
      • Convenience Constructor (string keys)
      • Full Constructor (generic keys, owned entries)
      • Pointer Keys
      • contains / steal / foreach_remove
      • Iterator
    • AxlArray
    • AxlList
    • AxlSList
    • AxlQueue
    • AxlNTree
    • AxlTree
    • AxlStr — String Utilities
      • Overview
      • UTF-8 vs UCS-2
      • Per-codepoint iteration
      • Case-Insensitive Operations
      • Common Patterns
      • Memory Ownership
    • AxlStrReader — Cursor-Based String Parser
    • AxlString — String Builder
      • Overview
      • Stealing the Buffer
      • Error Handling
    • AxlJson — JSON / JSON5
      • Overview
      • Reading JSON
      • Writing JSON
      • Pretty Printing
      • Iterating Arrays
      • Nested Objects
      • Round-Trip Transforms
      • Error Handling
      • JSON5 Support
      • Console Output
    • AxlXml — Streaming XML writer + pull-token reader
      • Overview
      • Writing XML
      • Reading XML
      • Entity decoding + safety
      • Well-formedness
      • Status code
    • AxlCache — TTL Cache
      • Overview
    • AxlPageCache — LRU Page Cache
    • AxlTextBuffer — Editable Text Store
    • AxlRBTree — Intrusive Augmented Red-Black Tree
    • AxlPieceTree — Out-of-Core Editable Buffer
    • AxlFind — Byte-Substring Search
    • AxlRegex — Regular-Expression Matcher
    • AxlRadixTree — Radix Tree
      • Overview
      • Value Destructor
    • AxlRingBuf — Ring Buffer
      • Overview
      • Overwrite Mode
      • Embedded (Stack/Static) Usage
      • Zero-Copy Access
      • Push Statistics
    • API Reference
      • AxlHashTable
      • AxlArray
      • AxlList
      • AxlSList
      • AxlQueue
      • AxlRadixTree
      • AxlNTree
      • AxlTree
      • AxlRingBuf
      • AxlDigest
      • AxlHmac
      • AxlBytes
      • AxlCompress
  • AxlJson — JSON
    • API Reference
      • AXL_JSON_WRITER_MAX_DEPTH
      • AxlJsonParserFlags
      • AxlJsonWriterFlags
      • axl_json_parse()
      • axl_json_parse_flags()
      • axl_json_free()
      • axl_json_load_file()
      • axl_json_load_file_flags()
      • axl_json_get_string()
      • axl_json_value_string()
      • axl_json_get_int()
      • axl_json_get_uint()
      • axl_json_get_bool()
      • axl_json_get_object()
      • axl_json_extract_string()
      • axl_json_array_begin()
      • axl_json_root_array_begin()
      • axl_json_array_next()
      • axl_json_escape_string()
      • axl_json_writer_init()
      • axl_json_writer_finish()
      • axl_json_writer_error()
      • axl_json_obj_begin()
      • axl_json_obj_end()
      • axl_json_arr_begin()
      • axl_json_arr_end()
      • axl_json_key()
      • axl_json_keyn()
      • axl_json_str()
      • axl_json_strn()
      • axl_json_int()
      • axl_json_uint()
      • axl_json_bool()
      • axl_json_null()
      • axl_json_hex()
      • axl_json_raw()
      • axl_json_comment()
      • axl_json_kv_str()
      • axl_json_kv_strn()
      • axl_json_kv_int()
      • axl_json_kv_uint()
      • axl_json_kv_bool()
      • axl_json_kv_null()
      • axl_json_kv_hex()
      • axl_json_write_token()
      • axl_json_console_print()
      • AxlJsonReader
      • AxlJsonArrayIter
      • AxlJsonWriter
  • AxlXml — XML
    • API Reference
      • AXL_XML_WRITER_MAX_DEPTH
      • AxlXmlReader
      • AxlXmlWriterFlags
      • AxlXmlTokenType
      • axl_xml_writer_init()
      • axl_xml_writer_finish()
      • axl_xml_writer_error()
      • axl_xml_writer_prologue()
      • axl_xml_writer_doctype()
      • axl_xml_writer_start_element()
      • axl_xml_writer_attribute()
      • axl_xml_writer_text()
      • axl_xml_writer_textn()
      • axl_xml_writer_end_element()
      • axl_xml_reader_new()
      • axl_xml_reader_next()
      • axl_xml_reader_attr()
      • axl_xml_reader_error()
      • axl_xml_reader_free()
      • axl_xml_token_local_name()
      • axl_xml_token_local_name_eq()
      • AxlXmlWriter
      • AxlXmlToken
  • AxlCache — TTL Cache
    • API Reference
      • AxlCache
      • axl_cache_new()
      • axl_cache_put()
      • axl_cache_get()
      • axl_cache_invalidate()
      • axl_cache_free()
  • AxlPageCache — LRU Page Cache
    • API Reference
      • AxlPageCache
      • AxlPageFillFunc
      • axl_page_cache_new()
      • axl_page_cache_new_shared()
      • axl_page_cache_free()
      • axl_page_cache_get()
      • axl_page_cache_fetch()
      • axl_page_cache_drop_owner()
      • axl_page_cache_page_size()
      • axl_page_cache_clear()
      • axl_page_cache_stats()
      • AxlPageCacheStats
  • AxlTextBuffer — Editable Text Store
    • API Reference
      • AxlTextBuffer
      • AxlRegex
      • axl_text_buffer_new()
      • axl_text_buffer_free()
      • axl_text_buffer_set_bytes()
      • axl_text_buffer_length()
      • axl_text_buffer_insert()
      • axl_text_buffer_delete()
      • axl_text_buffer_get()
      • axl_text_buffer_byte_at()
      • axl_text_buffer_line_count()
      • axl_text_buffer_line_of_offset()
      • axl_text_buffer_line_bounds()
      • axl_text_buffer_get_alloc()
      • axl_text_buffer_cp_align()
      • axl_text_buffer_cp_next()
      • axl_text_buffer_cp_prev()
      • axl_text_buffer_find()
      • axl_text_buffer_find_regex()
  • AxlRBTree — Intrusive Augmented Red-Black Tree
    • API Reference
      • AXL_RB_ENTRY
      • AxlRBRecompute
      • AxlRBColor
      • axl_rb_tree_init()
      • axl_rb_tree_empty()
      • axl_rb_link_node()
      • axl_rb_insert()
      • axl_rb_erase()
      • axl_rb_update_augment()
      • axl_rb_first()
      • axl_rb_last()
      • axl_rb_next()
      • axl_rb_prev()
      • AxlRBNode
      • AxlRBTree
  • AxlPieceTree — Out-of-Core Editable Buffer
    • API Reference
      • AxlPieceTree
      • AxlPageCache
      • AxlRegex
      • AxlEol
      • axl_piece_tree_open()
      • axl_piece_tree_open_cached()
      • axl_piece_tree_new()
      • axl_piece_tree_free()
      • axl_piece_tree_length()
      • axl_piece_tree_line_count()
      • axl_piece_tree_insert()
      • axl_piece_tree_delete()
      • axl_piece_tree_get()
      • axl_piece_tree_get_alloc()
      • axl_piece_tree_cp_align()
      • axl_piece_tree_cp_next()
      • axl_piece_tree_cp_prev()
      • axl_piece_tree_line_of_offset()
      • axl_piece_tree_line_bounds()
      • axl_piece_tree_find()
      • axl_piece_tree_find_regex()
      • axl_piece_tree_is_modified()
      • axl_piece_tree_apply_edits()
      • axl_piece_tree_line_iter_init()
      • axl_piece_tree_line_iter_init_at()
      • axl_piece_tree_line_iter_next()
      • axl_piece_tree_save()
      • axl_piece_tree_load_encoded()
      • axl_piece_tree_load_encoded_cached()
      • axl_piece_tree_save_encoded()
      • axl_piece_tree_detect_eol()
      • axl_piece_tree_set_eol()
      • axl_piece_tree_set_read_only()
      • axl_piece_tree_is_read_only()
      • axl_piece_tree_backing_changed()
      • axl_piece_tree_undo()
      • axl_piece_tree_redo()
      • axl_piece_tree_can_undo()
      • axl_piece_tree_can_redo()
      • axl_piece_tree_set_undo_limit()
      • axl_piece_tree_undo_group_begin()
      • axl_piece_tree_undo_group_end()
      • axl_piece_tree_undo_checkpoint()
      • AxlEdit
      • AxlPieceLineIter
  • AxlFind — Byte-Substring Search Engine
    • API Reference
      • AxlFindFlags
      • axl_mem_reader_init()
      • axl_find_in_source()
      • AxlMatch
      • AxlByteReader
      • AxlMemReader
  • AxlRegex — Regular-Expression Matcher
    • AXL_REGEX_NO_MATCH
    • AxlRegex
    • AxlRegexFlags
      • AXL_REGEX_DEFAULT
      • AXL_REGEX_CASELESS
      • AXL_REGEX_MULTILINE
      • AXL_REGEX_DOTALL
    • AxlRegexMatchFlags
      • AXL_REGEX_MATCH_DEFAULT
      • AXL_REGEX_MATCH_ANCHORED
      • AXL_REGEX_MATCH_NOTBOL
      • AXL_REGEX_MATCH_NOTEOL
    • axl_regex_new()
    • axl_regex_new_full()
    • axl_regex_free()
    • axl_regex_capture_count()
    • axl_regex_search()
    • axl_regex_search_buf()
    • axl_regex_search_captures()
    • AxlRegexError
      • offset
      • message
  • AxlRadixTree — Radix Tree
  • AxlRingBuf — Ring Buffer
  • AxlConfig — Configuration
    • API Reference
      • AXL_CFG_BOOL
      • AXL_CFG_INT
      • AXL_CFG_UINT
      • AXL_CFG_STRING
      • AXL_CFG_MULTI
      • AxlConfig
      • AxlConfigApplyFunc
      • axl_config_new()
      • axl_config_free()
      • axl_config_set()
      • axl_config_setv()
      • axl_config_get()
      • axl_config_get_bool()
      • axl_config_get_int()
      • axl_config_get_uint()
      • axl_config_get_multi_count()
      • axl_config_get_multi()
      • axl_config_to_string()
      • axl_config_target_to_string()
      • axl_config_from_string()
      • axl_config_descs_net()
      • axl_config_descs_net_static()
      • axl_config_descs_append()
      • axl_config_set_parent()
      • AxlConfigDesc
    • AxlConfigFile — free-form key=value map
      • AxlConfigFile
      • axl_config_file_load()
      • axl_config_file_new()
      • axl_config_file_free()
      • axl_config_file_get()
      • axl_config_file_get_uint()
      • axl_config_file_get_int()
      • axl_config_file_get_bool()
      • axl_config_file_set()
      • axl_config_file_save()
  • AxlSubcommand — Multi-command CLI dispatch
    • API Reference
      • AxlSubcommandFn
      • axl_subcommand_dispatch()
      • axl_subcommand_print_help()
      • axl_subcommand_print_command_help()
      • AxlSubcommand
  • AxlArgs — Argument Parsing
    • API Reference
      • AxlArgs
      • AxlVerbHandler
      • AxlPreRunFunc
      • AxlArgType
      • axl_args_run()
      • axl_args_get_string()
      • axl_args_get_bool()
      • axl_args_get_uint()
      • axl_args_get_int()
      • axl_args_get_uint_offset()
      • axl_args_get_pos_count()
      • axl_args_get_pos()
      • axl_args_get_multi_count()
      • axl_args_get_multi()
      • axl_args_user_data()
      • axl_args_program_name()
      • axl_args_print_help()
      • AxlArgDesc
      • AxlArgsNode
  • AxlPath — Path Manipulation
    • API Reference
      • axl_path_get_basename()
      • axl_path_get_dirname()
      • axl_path_extension()
      • axl_path_join()
      • axl_path_resolve()
      • axl_path_companion()
      • axl_resolve_data_file()
      • axl_path_build_uefi()
      • axl_get_current_dir()
      • axl_chdir()
  • AxlClipboard — Cut / Copy / Paste
    • API Reference
      • axl_clipboard_set()
      • axl_clipboard_get()
      • axl_clipboard_get_bytes()
      • axl_clipboard_clear()
  • AxlShm — Boot-Persistent Shared Memory
    • API Reference
      • AXL_SHM_CREATE
      • AXL_SHM_EXCL
      • axl_shm_open()
      • axl_shm_unlink()
      • axl_shm_exists()
  • AxlSort — In-Place Sorting
    • API Reference
      • axl_qsort()
      • axl_qsort_with_data()
  • AxlTar — ustar Archive Reader/Writer
    • API Reference
      • AXL_TAR_BLOCK
      • AXL_TAR_NAME_MAX
      • AXL_TAR_TYPE_FILE
      • AXL_TAR_TYPE_DIR
      • AxlTarWriter
      • AxlTarReader
      • axl_tar_writer_new()
      • axl_tar_writer_add()
      • axl_tar_writer_add_dir()
      • axl_tar_writer_finish()
      • axl_tar_writer_free()
      • axl_tar_reader_new()
      • axl_tar_reader_next()
      • axl_tar_reader_read()
      • axl_tar_reader_free()
      • AxlTarEntry
  • AxlLoop — Event Loop
    • When to Use What
    • Overview
    • Basic Pattern
    • Callback Signatures
    • Source Types
      • Timer (repeating)
      • Timeout (one-shot)
      • Idle
      • Key Press
      • Protocol Notify
      • Raw Event
    • Lifecycle & Cleanup
    • Run vs. Next+Dispatch
    • Driver Mode (axl_loop_attach_driver)
      • The TPL Contract — and Why You Don’t Roll Your Own
      • Cleanup
    • Nested Waits (axl_loop_iterate_until)
    • Default Loop (axl_loop_default)
    • AxlDefer
      • Callback Signature
      • Usage
      • Cancellation
    • AxlPubsub
      • When to Use Pub/sub
      • Callback Signature
      • Producer / Consumer Example
      • Data Lifetime
      • Unsubscribe
    • See also
    • API Reference
      • AxlLoop
      • AxlDefer
      • AxlPubsub
  • AxlTask — Task Pool and Arena
    • Overview
      • Arena Allocator
      • Task Pool
      • AxlBufPool
      • AxlAsync
    • See also
    • API Reference
      • AxlTask
      • AxlBufPool
      • AxlAsync
  • Event Primitives — AxlEvent, AxlCancellable, AxlWait
    • API Reference
      • AxlEvent
      • AxlCancellable
      • AxlWait
  • AxlRuntime — lifecycle services
    • AXL Runtime — lifecycle services for an AXL app
      • When to Use What
      • Interrupt lifecycle
      • Cleanup order
      • Caller attribution
      • See also
    • API Reference
      • AxlSignal (interrupts + blessed exit)
      • AxlAtexit (LIFO cleanup callbacks)
      • AxlRuntime (default loop, yield, registry inspection)
      • AxlApp (program invocation path)
  • AxlService — Long-Running Services
    • AxlService
      • Shape
      • Setup-failure contract
      • Held-protocol hazard
      • Teardown is invoked at two sites — all visible
      • Cross-binary ABI tripwire
    • API Reference
      • AXL_SERVICE_DEFAULT_TICK_MS
      • AxlServiceSetup
      • AxlServiceTeardown
      • axl_service_guid()
      • axl_service_attach_driver()
      • axl_service_detach_driver()
      • axl_service_teardown()
      • _axl_service_driver_init()
      • axl_service_start_embedded()
      • axl_service_stop()
      • axl_service_is_running()
      • axl_service_supervise()
      • axl_service_main()
      • AxlService
      • AxlServiceDeploy
  • AxlNet — Networking
    • Overview
      • Network Initialization
      • Standard option helpers
    • Static config / DNS / hostname (the ifconfig policy layer)
    • NIC inventory + driver selection
    • Socket Layer
      • Address Types
      • Unified Socket
      • Socket Client
      • Async Operations
    • Low-Level TCP / UDP
      • TCP Sockets
      • UDP Sockets
    • HTTP Server
      • REST request helpers
      • WebDAV class-1 + MOVE/COPY
      • Streaming uploads
    • HTTP Client
      • Async HTTP client
    • TLS (HTTPS)
      • HTTPS Server
      • HTTPS Client
      • Certificate Generation
      • Entropy
      • Security Considerations
    • API Reference
      • Network Utilities
      • AxlNetOpts
      • AxlInetAddress / AxlSocketAddress
      • AxlSocket
      • AxlSocketClient
      • AxlTcp
      • AxlUdp
      • AxlUrl
      • AxlHttpCore
      • AxlHttpServer
      • AxlHttpClient
  • AxlTls — TLS Support
    • API Reference
      • AxlTlsContext
      • AxlTcp
      • AxlLoop
      • axl_tls_available()
      • axl_tls_init()
      • axl_tls_cleanup()
      • axl_tls_generate_self_signed()
      • axl_tls_server_set_cert()
      • axl_tls_accept()
      • axl_tls_connect()
      • axl_tls_handshake()
      • axl_tls_handshake_async()
      • axl_tls_read()
      • axl_tls_write()
      • axl_tls_write_async()
      • axl_tls_stage_data()
      • axl_tls_pending()
      • axl_tls_free()
  • Cryptography
    • Public-key signature verification
      • AXL_AEAD_NONCE_LEN
      • AXL_AEAD_TAG_LEN
      • AXL_CIPHER_CTR_IV_LEN
      • AxlPkKey
      • AxlEcdh
      • AxlCipher
      • AxlPkAlg
      • AxlPkSigFormat
      • AxlAeadAlg
      • AxlEcdhAlg
      • AxlCipherAlg
      • axl_consttime_equal()
      • axl_pk_available()
      • axl_pk_verify()
      • axl_pk_keygen()
      • axl_pk_key_load_private()
      • axl_pk_key_load_public()
      • axl_pk_key_get_private_der()
      • axl_pk_key_get_public_der()
      • axl_pk_key_alg()
      • axl_pk_key_sign()
      • axl_pk_key_verify()
      • axl_pk_key_free()
      • axl_aead_seal()
      • axl_aead_open()
      • axl_ecdh_new()
      • axl_ecdh_get_public()
      • axl_ecdh_compute()
      • axl_ecdh_free()
      • axl_cipher_ctr_new()
      • axl_cipher_ctr_xcrypt()
      • axl_cipher_free()
  • SCRAM-SHA-256 authentication
    • API Reference
      • AXL_SCRAM_MAX_MESSAGE
      • AXL_SCRAM_MAX_NONCE
      • AXL_SCRAM_SERVER_NONCE_LEN
      • AXL_SCRAM_SERVER_FINAL_MAX
      • axl_scram_sha256_derive()
      • axl_scram_server_first()
      • axl_scram_server_final()
      • axl_scram_client_first()
      • axl_scram_client_final()
      • axl_scram_client_verify()
      • AxlScramCredential
      • AxlScramState
      • AxlScramClientState
  • AxlSys — System Utilities
    • System Utilities
      • GUIDs
      • Firmware Globals
      • NVRAM Variables
      • Boot Options
      • x86 I/O Ports
      • Physical-Memory Access
      • Watchdog
      • Random Bytes
      • Driver Lifecycle
      • Driver Discovery
      • Image Lifecycle
      • Image Signature Inspection
      • Protocol Registry
      • Auto-Loading Driver Dependencies
      • Tool Diagnostics
    • Configuration (and Command-Line Parsing)
      • Defining Options
      • Creating and Querying
      • Command-Line Parsing
      • Multi-Value Options
      • Standard option groups (group injection)
      • Parent Inheritance
      • Free-form config files (AxlConfigFile)
    • Command-Line Parsing (AxlArgs)
      • One node type, three shapes
      • Single-handler tool
      • Multi-verb tool
      • Argument types
      • Nested verbs (<top> <category> <verb>)
      • Branch with a default handler
      • Parent-flag visibility
      • Error attribution
      • Lifetime
    • Path Manipulation
    • Shared memory (AxlShm)
    • Clipboard
    • Synchronization primitives
    • API Reference
      • AxlSys
      • AxlEnv
      • AxlTime
      • AxlNvStore
      • AxlDriver
      • AxlDriverInfo (driver / device discovery)
      • AxlEfiStatus (UEFI-spec return type + constants)
      • AxlEmbed
      • AxlDiag
      • AxlHexdump
  • AxlCpu — CPU exceptions, feature detection + topology
    • API Reference
      • AXL_CPU_ARCH_X64
      • AXL_CPU_ARCH_AA64
      • AXL_CPU_EXCEPTION_VERSION
      • AxlCpuExceptionFn
      • AxlCpuExceptionKind
      • AxlSimdTier
      • axl_cpu_register_exception()
      • axl_cpu_unregister_exception()
      • axl_cpu_features()
      • axl_cpu_enable_avx()
      • axl_cpu_enable_avx512()
      • axl_cpu_simd_tier()
      • axl_cpu_topology()
      • AxlCpuException
      • AxlCpuFeatures
      • AxlCpuProcessor
  • AxlPort — x86 I/O port access
    • API Reference
  • AxlBoot — boot-option management
    • API Reference
      • AXL_BOOT_ATTR_ACTIVE
      • AXL_BOOT_ATTR_FORCE_RECONNECT
      • AXL_BOOT_ATTR_HIDDEN
      • AXL_BOOT_ATTR_CATEGORY_MASK
      • AXL_BOOT_ATTR_CATEGORY_BOOT
      • AXL_BOOT_ATTR_CATEGORY_APP
      • axl_boot_option_free()
      • axl_boot_option_get()
      • axl_boot_option_set()
      • axl_boot_option_delete()
      • axl_boot_order_get()
      • axl_boot_order_set()
      • axl_boot_next_get()
      • axl_boot_next_set()
      • axl_boot_next_clear()
      • axl_boot_current_get()
      • AxlBootOption
  • AxlImage — executable-image lifecycle
    • API Reference
      • AxlImage
      • AxlImageIterFn
      • axl_image_load()
      • axl_image_set_load_options()
      • axl_image_start()
      • axl_image_unload()
      • axl_image_run()
      • axl_image_run_fv_file()
      • axl_image_enumerate()
      • axl_image_self_get_range()
      • AxlImageInfo
    • AxlImageVerify — Authenticode signature inspection
      • axl_image_verify_signature()
      • axl_image_signature_info_free()
      • AxlImageSignatureInfo
    • AxlShell — launch a real UEFI Shell
      • AxlShellSource
      • axl_shell_launch()
      • axl_shell_launch_fv()
      • axl_shell_locate()
  • AxlConsoleMirror — mirror the firmware console to a remote terminal
    • API Reference
      • AxlConsoleMirror
      • AxlConsoleSinkFn
      • axl_console_mirror_install()
      • axl_console_mirror_uninstall()
      • axl_console_mirror_inject_key()
      • axl_console_mirror_inject_text()
      • axl_console_mirror_set_size()
      • axl_console_mirror_reset()
      • AxlConsoleMirrorConfig
  • AxlMemPhys — physical-memory access
    • API Reference
      • axl_mem_phys_map()
      • axl_mem_phys_unmap()
      • axl_mem_phys_read8()
      • axl_mem_phys_read16()
      • axl_mem_phys_read32()
      • axl_mem_phys_read64()
      • axl_mem_phys_write8()
      • axl_mem_phys_write16()
      • axl_mem_phys_write32()
      • axl_mem_phys_write64()
      • axl_mem_phys_search()
  • AxlMemRegion — region map + fault-safe access
    • AXL_MEM_ACCESS_ALL_MAPPED
    • AxlMemRegionType
      • AXL_MEM_REGION_RAM
      • AXL_MEM_REGION_RESERVED
      • AXL_MEM_REGION_ACPI
      • AXL_MEM_REGION_MMIO
      • AXL_MEM_REGION_UNMAPPED
      • AXL_MEM_REGION_TYPE_COUNT
    • AxlIoRegionType
      • AXL_IO_REGION_IO
      • AXL_IO_REGION_RESERVED
      • AXL_IO_REGION_UNMAPPED
      • AXL_IO_REGION_TYPE_COUNT
    • axl_mem_phys_region_at()
    • axl_mem_phys_region_count()
    • axl_mem_phys_region_get()
    • axl_mem_phys_region_refresh()
    • axl_mem_phys_get_policy()
    • axl_mem_phys_set_policy()
    • axl_mem_phys_is_accessible()
    • axl_mem_phys_read_range()
    • axl_mem_phys_write_range()
    • axl_io_region_at()
    • axl_io_region_count()
    • axl_io_region_get()
    • axl_io_region_refresh()
    • axl_io_is_accessible()
    • axl_io_read_range()
    • axl_io_write_range()
    • AxlMemRegion
      • base
      • len
      • type
      • attr
    • AxlMemAccessPolicy
      • readable_types
      • writable_types
    • AxlIoRegion
      • base
      • len
      • type
  • AxlWatchdog — boot-services watchdog
    • API Reference
      • axl_watchdog_disarm()
      • axl_watchdog_set()
      • axl_watchdog_pet()
  • AxlRng — cryptographic random bytes
    • API Reference
      • axl_rng_bytes()
  • AxlRand — deterministic pseudo-random numbers
    • API Reference
      • AxlRand
      • axl_rand_new()
      • axl_rand_new_seeded()
      • axl_rand_copy()
      • axl_rand_set_seed()
      • axl_rand_free()
      • axl_rand_uint32()
      • axl_rand_uint64()
      • axl_rand_int_range()
      • axl_rand_double()
      • axl_rand_double_range()
      • axl_rand_boolean()
      • axl_rand_bytes()
      • axl_random_set_seed()
      • axl_random_uint32()
      • axl_random_int_range()
      • axl_random_double()
      • axl_random_double_range()
      • axl_random_boolean()
  • AxlGfx — Graphics
    • Overview
      • Pixel Format
      • Alpha compositing
      • Gamma-correct (linear-light) compositing
      • Blend modes
    • Drawing Primitives
    • Paths and Rounded Rects
    • Gradients
    • Clipping
      • Non-axis-aligned (quad) clip
      • Arbitrary-shape (path) clip
    • Transform-Aware Rendering
    • Double-Buffering
      • Present pipeline (direct framebuffer + dirty rectangles)
    • Cursor Overlay
    • Compositor — Surfaces, Seat, and Cursor
    • Effects: Blur
    • Text Rendering
      • Built-in fonts
      • Adding a font
    • API Reference
      • Types — <axl/axl-gfx-types.h>
      • Surface — <axl/axl-gfx-surface.h>
      • Drawing — <axl/axl-gfx-draw.h>
      • Paths — <axl/axl-gfx-path.h>
      • Gradients — <axl/axl-gfx-gradient.h>
      • Effects — <axl/axl-gfx-effects.h>
      • AxlFont — <axl/axl-font.h>
      • AxlCursor — <axl/axl-cursor.h>
      • AxlCompositor — <axl/axl-compositor.h>
      • AxlGfxRegion — <axl/axl-gfx-region.h>
  • AxlEdid — Display EDID Parser
    • API Reference
      • AXL_EDID_BLOCK_SIZE
      • AXL_EDID_STRING_MAX
      • axl_edid_parse()
      • axl_edid_dpi()
      • AxlEdidInfo
  • AxlTtf — Vector Text (TrueType / OpenType)
    • API Reference
      • AXL_TTF_ALIGN_LEFT
      • AXL_TTF_ALIGN_CENTER
      • AXL_TTF_ALIGN_RIGHT
      • AXL_TTF_ALIGN_MASK
      • AxlTtf
      • axl_ttf_load()
      • axl_ttf_free()
      • axl_ttf_default()
      • axl_ttf_mono_default()
      • axl_ttf_measure()
      • axl_ttf_measure_prefix()
      • axl_ttf_draw()
      • axl_ttf_draw_transform()
      • axl_ttf_draw_box()
      • axl_ttf_measure_box()
      • axl_ttf_metrics()
  • AxlGfxDisplayList — Retained Display List
    • API Reference
      • AxlStream
      • AxlGfxDisplayList
      • AxlGfxOpKind
      • axl_gfx_display_list_new()
      • axl_gfx_display_list_free()
      • axl_gfx_display_list_clear()
      • axl_gfx_display_list_count()
      • axl_gfx_display_list_op_at()
      • axl_gfx_dl_fill_rect()
      • axl_gfx_dl_fill_rect_i()
      • axl_gfx_dl_draw_line()
      • axl_gfx_dl_draw_rect()
      • axl_gfx_dl_draw_polyline()
      • axl_gfx_dl_blit()
      • axl_gfx_dl_clear()
      • axl_gfx_dl_push_clip()
      • axl_gfx_dl_pop_clip()
      • axl_gfx_dl_fill_path()
      • axl_gfx_dl_stroke_path()
      • axl_gfx_dl_fill_rounded_rect()
      • axl_gfx_dl_draw_text()
      • axl_gfx_dl_draw_text_ttf()
      • axl_gfx_dl_fill_rect_gradient()
      • axl_gfx_dl_fill_path_gradient()
      • axl_gfx_dl_fill_rounded_rect_gradient()
      • axl_gfx_dl_translate()
      • axl_gfx_dl_scale()
      • axl_gfx_dl_rotate()
      • axl_gfx_dl_skew()
      • axl_gfx_dl_push_transform()
      • axl_gfx_dl_pop_transform()
      • axl_gfx_dl_reset_transform()
      • axl_gfx_display_list_replay()
      • axl_gfx_display_list_dump()
      • AxlGfxOp
  • AxlPixmap — Image Decode (PNG / JPEG / GIF / BMP)
    • API Reference
      • axl_pixmap_info()
      • axl_pixmap_decode()
      • axl_pixmap_decode_anim()
      • axl_pixmap_anim_free()
      • AxlPixmapAnim
  • AxlInput — Input Substrate
    • Role
    • Loop integration
    • Unified event
    • Usage
    • Recognizers: gestures, debounce, auto-repeat
    • Modifier state on pointer events
    • Per-device notes
    • Virtual pointer (install + drive a synthetic pointer)
      • v0.1 constraints
    • Visual demo
    • API Reference
      • AXL_INPUT_BUTTON_LEFT
      • AXL_INPUT_BUTTON_RIGHT
      • AXL_INPUT_BUTTON_MIDDLE
      • AXL_INPUT_MOD_LSHIFT
      • AXL_INPUT_MOD_RSHIFT
      • AXL_INPUT_MOD_LCTRL
      • AXL_INPUT_MOD_RCTRL
      • AXL_INPUT_MOD_LALT
      • AXL_INPUT_MOD_RALT
      • AXL_INPUT_MOD_LMETA
      • AXL_INPUT_MOD_RMETA
      • AXL_INPUT_MOD_CAPS_LOCK
      • AXL_INPUT_MOD_NUM_LOCK
      • AXL_INPUT_MOD_SCROLL_LOCK
      • AXL_INPUT_MOD_SHIFT
      • AXL_INPUT_MOD_CTRL
      • AXL_INPUT_MOD_ALT
      • AXL_INPUT_MOD_META
      • AXL_INPUT_ABS_RANGE
      • AxlInputCallback
      • AxlVirtualPointer
      • AxlInputType
      • AxlInputTouchMethod
      • axl_input_gesture_feed()
      • axl_input_set_click_tuning()
      • axl_input_set_button_repeat()
      • axl_input_key_accept()
      • axl_input_set_key_debounce()
      • axl_input_abs_normalize()
      • axl_input_ctrl_letter()
      • axl_input_attach_mouse()
      • axl_input_detach_mouse()
      • axl_input_attach_key()
      • axl_input_detach_key()
      • axl_input_attach_touch()
      • axl_input_set_touch_config()
      • axl_input_set_touch_drain()
      • axl_input_detach_touch()
      • axl_input_probe_pointers()
      • axl_virtual_pointer_install()
      • axl_virtual_pointer_uninstall()
      • axl_virtual_pointer_inject()
      • axl_virtual_pointer_scroll()
      • AxlInputEvent
      • AxlGesture
      • AxlKeyDebounce
      • AxlVirtualPointerConfig
  • AxlSmbios — SMBIOS table access
    • Overview
    • Iterating All Records
    • Common Type Constants
    • Typed Readers
    • Reading the Spec Version
    • Consumers
    • String Accessors
      • Type 11 OEM Strings — convenience accessor
    • Spec-Value Decoders
    • Walking the Table
    • API Reference
      • AxlSmbiosTableType
      • AxlSmbiosIpmiInterface
      • AxlSmbiosHostIfaceType
      • AxlSmbiosHostIfaceProtocol
      • AxlSmbiosBoardType
      • AxlSmbiosRedfishHostIpAssignment
      • AxlSmbiosRedfishIpFormat
      • AxlSmbiosChassisClass
      • axl_smbios_read_bios_info()
      • axl_smbios_format_uuid()
      • axl_smbios_read_system_info()
      • axl_smbios_read_baseboard()
      • axl_smbios_read_chassis()
      • axl_smbios_read_processor()
      • axl_smbios_read_memory_device()
      • axl_smbios_read_port_connector()
      • axl_smbios_read_system_slot()
      • axl_smbios_read_oem_strings()
      • axl_smbios_get_oem_string()
      • axl_smbios_read_physical_memory_array()
      • axl_smbios_read_memory_array_map()
      • axl_smbios_read_memory_device_map()
      • axl_smbios_read_onboard_device_ext()
      • axl_smbios_read_ipmi_device_info()
      • axl_smbios_read_host_interface()
      • axl_smbios_find_redfish_host_interface()
      • axl_smbios_read_redfish_over_ip()
      • axl_smbios_get_system_uuid()
      • axl_smbios_get_string()
      • axl_smbios_get_string_utf8()
      • axl_smbios_copy_string_utf8()
      • axl_smbios_table_range()
      • axl_smbios_entry_point()
      • axl_smbios_find()
      • axl_smbios_find_next()
      • axl_smbios_next()
      • axl_smbios_strings_byte_len()
      • axl_smbios_slot_type_str()
      • axl_smbios_slot_width_str()
      • axl_smbios_slot_usage_str()
      • axl_smbios_chassis_class()
      • axl_smbios_version()
      • AxlSmbiosHeader
      • AxlSmbiosBiosInfo
      • AxlSmbiosSystemInfo
      • AxlSmbiosBaseboardInfo
      • AxlSmbiosChassisInfo
      • AxlSmbiosProcessorInfo
      • AxlSmbiosMemoryDevice
      • AxlSmbiosPortConnector
      • AxlSmbiosSystemSlot
      • AxlSmbiosOemStrings
      • AxlSmbiosPhysicalMemoryArray
      • AxlSmbiosMemoryArrayMap
      • AxlSmbiosMemoryDeviceMap
      • AxlSmbiosOnboardDeviceExt
      • AxlSmbiosIpmiDeviceInfo
      • AxlSmbiosHostInterfaceProtocol
      • AxlSmbiosHostInterface
      • AxlSmbiosRedfishOverIp
  • AxlAcpi — ACPI table access
    • Scope
    • Discovery
    • Checksums
    • Typed Readers
      • MCFG — PCIe ECAM
      • MADT — Interrupt controllers
      • FACP/FADT — Fixed-feature pointers
    • API Reference
      • AXL_ACPI_MCFG_MAX_SEGMENTS
      • AXL_ACPI_MADT_MAX_IOAPICS
      • AXL_ACPI_MADT_MAX_GIC_REGS
      • axl_acpi_find()
      • axl_acpi_find_next()
      • axl_acpi_next()
      • axl_acpi_revision()
      • axl_acpi_checksum_ok()
      • axl_acpi_read_mcfg()
      • axl_acpi_read_madt()
      • axl_acpi_read_facp()
      • AxlAcpiHeader
      • AxlAcpiMcfgEntry
      • AxlAcpiMcfg
      • AxlAcpiIoapic
      • AxlAcpiGicRegion
      • AxlAcpiMadt
      • AxlAcpiFacp
  • AxlPci — PCI/PCIe config-space access
    • Address tuple
    • Common header reads
    • Config-space dump
    • Lookups
    • Capabilities
    • Bridges and topology
    • Vendor / device / subsystem name database
      • Composed-name helper
      • Layered databases (handle API)
      • Per-name length contracts
    • Class-name overlay (optional)
    • VPD
    • API Reference
      • AXL_PCI_VENDOR_NAME_MAX
      • AXL_PCI_DEVICE_NAME_MAX
      • AXL_PCI_SUBSYS_NAME_MAX
      • AXL_PCI_CLASS_NAME_MAX
      • AXL_PCI_NAME_COMPOSED_MAX
      • AxlPciIdsVendorFn
      • AxlPciIdsDeviceFn
      • AxlPciIdsSubsysFn
      • AXL_PCI_ADDR_STR_MAX
      • AXL_PCI_CONFIG_SPACE_MAX
      • AXL_PCI_CLASS_NETWORK
      • AXL_PCI_TREE_MAX_DEPTH
      • AxlPciTreeFn
      • AxlPciIds
      • AxlPciClassDb
      • AxlPciHeaderType
      • AxlPciClassFmt
      • axl_pci_addr_parse()
      • axl_pci_addr_format()
      • axl_pci_read_config_8()
      • axl_pci_read_config_16()
      • axl_pci_read_config_32()
      • axl_pci_write_config_8()
      • axl_pci_write_config_16()
      • axl_pci_write_config_32()
      • axl_pci_dump()
      • axl_pci_get_vid_did()
      • axl_pci_get_class_code()
      • axl_pci_get_header_type()
      • axl_pci_get_subsystem()
      • axl_pci_class_string()
      • axl_pci_class_string_fmt()
      • axl_pci_next()
      • axl_pci_next_unfiltered()
      • axl_pci_find_by_vid_did()
      • axl_pci_find_by_class()
      • axl_pci_bridge_info()
      • axl_pci_tree_for_each()
      • axl_pci_cap_next()
      • axl_pci_ext_cap_next()
      • axl_pci_cap_id_str()
      • axl_pci_ext_cap_id_str()
      • axl_pci_vpd_read()
      • axl_pci_vpd_iter()
      • axl_pci_ids_open()
      • axl_pci_ids_open_from_buffer()
      • axl_pci_ids_close()
      • axl_pci_ids_vendor_name()
      • axl_pci_ids_device_name()
      • axl_pci_ids_subsys_name()
      • axl_pci_ids_foreach_vendor()
      • axl_pci_ids_foreach_device()
      • axl_pci_ids_foreach_subsys()
      • axl_pci_ids_load()
      • axl_pci_ids_free()
      • axl_pci_vendor_name()
      • axl_pci_device_name()
      • axl_pci_subsys_name()
      • axl_pci_ids_format_name()
      • axl_pci_format_name()
      • axl_pci_class_open()
      • axl_pci_class_open_from_buffer()
      • axl_pci_class_close()
      • axl_pci_class_db_base_name()
      • axl_pci_class_db_sub_name()
      • axl_pci_class_db_prog_name()
      • axl_pci_class_load()
      • axl_pci_class_free()
      • AxlPciAddr
      • AxlPciBridge
  • AxlUsb — USB device enumeration + descriptor reads
    • Address tuple
    • Per-device introspection
    • Class triplet decode
    • Topology walk
    • Vendor / device name database
      • Composed-name helper
      • Layered databases (handle API)
      • Per-name length contracts
    • Bulk population from canonical usb.ids
    • API Reference
      • AXL_USB_VENDOR_NAME_MAX
      • AXL_USB_DEVICE_NAME_MAX
      • AXL_USB_NAME_COMPOSED_MAX
      • AxlUsbIdsVendorFn
      • AxlUsbIdsDeviceFn
      • axl_usb_ids_foreach_vendor()
      • axl_usb_ids_foreach_device()
      • AXL_USB_TREE_MAX_DEPTH
      • AXL_USB_PORT_PATH_MAX
      • AXL_USB_CLASS_NAME_MAX
      • AXL_USB_STRING_MAX
      • AxlUsbTreeFn
      • AxlUsbIds
      • AxlUsbClassFmt
      • AxlUsbDataDir
      • axl_usb_next()
      • axl_usb_get_vid_pid()
      • axl_usb_get_class()
      • axl_usb_get_device_info()
      • axl_usb_get_num_endpoints()
      • axl_usb_get_port_info()
      • axl_usb_class_string_fmt()
      • axl_usb_class_string()
      • axl_usb_get_string()
      • axl_usb_get_manufacturer()
      • axl_usb_get_product()
      • axl_usb_get_serial()
      • axl_usb_control_transfer()
      • axl_usb_tree_for_each()
      • axl_usb_ids_open()
      • axl_usb_ids_open_from_buffer()
      • axl_usb_ids_close()
      • axl_usb_ids_vendor_name()
      • axl_usb_ids_device_name()
      • axl_usb_ids_format_name()
      • axl_usb_ids_load()
      • axl_usb_ids_free()
      • axl_usb_vendor_name()
      • axl_usb_device_name()
      • axl_usb_format_name()
      • AxlUsbAddr
      • AxlUsbDeviceInfo
  • AxlBlock — block-device enumeration + media descriptors
    • API Reference
      • axl_block_next()
      • axl_block_get_media()
      • AxlBlockMedia
  • AxlNvme — NVMe identity + SMART/health
    • API Reference
      • AxlNvmeSelfTest
      • AxlNvmeDataDir
      • axl_nvme_next()
      • axl_nvme_namespace_next()
      • axl_nvme_identify_controller()
      • axl_nvme_identify_namespace()
      • axl_nvme_smart()
      • axl_nvme_self_test_start()
      • axl_nvme_self_test_result()
      • axl_nvme_decode_identify_controller()
      • axl_nvme_decode_identify_namespace()
      • axl_nvme_decode_smart()
      • axl_nvme_decode_self_test_log()
      • axl_nvme_admin_passthru()
      • AxlNvmeController
      • AxlNvmeNamespace
      • AxlNvmeSmart
      • AxlNvmeSelfTestResult
      • AxlNvmeAdminCmd
  • AxlSerial — serial-port enumeration + line-setting readout
    • Byte I/O
    • API Reference
      • AxlLoop
      • AxlSerial
      • AxlSerialReadFn
      • axl_serial_next()
      • axl_serial_get_mode()
      • axl_serial_get_control()
      • axl_serial_open()
      • axl_serial_close()
      • axl_serial_set_mode()
      • axl_serial_write()
      • axl_serial_read()
      • axl_serial_read_async()
      • AxlSerialMode
      • AxlSerialControl
  • AxlFv — firmware-volume enumeration + attributes
    • API Reference
      • axl_fv_next()
      • axl_fv_get_attributes()
      • axl_fv_count_files()
      • AxlFvAttributes
  • AxlTpm — TPM 2.0 presence + capability
    • Endorsement Key + PCR-bound seal/unseal
    • API Reference
      • AXL_TPM_SEAL_MAX_SECRET
      • AxlTpmEkAlg
      • axl_tpm_present()
      • axl_tpm_get_capability()
      • axl_tpm_ek_available()
      • axl_tpm_read_ek_pub()
      • axl_tpm_seal()
      • axl_tpm_unseal()
      • AxlTpmCapability
  • AxlHii — UEFI HII setup-form reader
    • Scope
    • Value I/O
    • Lifecycle
    • API Reference
      • AxlHiiQuestionType
      • axl_hii_available()
      • axl_hii_formset_count()
      • axl_hii_formset_get()
      • axl_hii_question_get()
      • axl_hii_question_read()
      • axl_hii_question_write()
      • axl_hii_question_read_string()
      • axl_hii_question_write_string()
      • AxlHiiOption
      • AxlHiiQuestion
  • AxlRamDisk — FAT RAM disks over EFI_RAM_DISK_PROTOCOL
    • Registering a pre-populated image (virtual media)
    • API Reference
      • AxlRamDiskKind
      • axl_ramdisk_ensure_driver()
      • axl_ramdisk_create()
      • axl_ramdisk_destroy()
      • axl_ramdisk_list()
      • axl_ramdisk_register_image()
      • axl_ramdisk_unregister()
      • AxlRamDisk
  • AxlSmbus — SMBus / I2C block access
    • AxlSmbus — SMBus / I2C block access
      • Consumers
      • Usage
      • Layout
      • Wire format (I2C path)
      • Limits
    • API Reference
      • AXL_SMBUS_BLOCK_MAX
      • AxlSmbus
      • AxlSmbusProbeFn
      • AxlSmbusVisitFn
      • AxlSmbusTransport
      • axl_smbus_new()
      • axl_smbus_new_with_probe()
      • axl_smbus_visit_all()
      • axl_smbus_free()
      • axl_smbus_transport()
      • axl_smbus_receive_byte()
      • axl_smbus_quick()
      • axl_smbus_describe()
      • axl_smbus_read_block()
      • axl_smbus_write_block()
      • axl_smbus_read_byte()
      • axl_smbus_write_byte()
      • axl_smbus_transport_string()
  • AxlIpmi — Local BMC access
    • AxlIpmi — local BMC access
      • Transports
      • Usage
      • Layout
      • Transport hazards
    • API Reference
      • AxlIpmiSession
      • AxlIpmiSendRaw
      • AxlIpmiTransport
      • AxlIpmiChassisAction
      • axl_ipmi_session_new()
      • axl_ipmi_session_new_with_transport()
      • axl_ipmi_session_free()
      • axl_ipmi_session_transport()
      • axl_ipmi_session_last_cc()
      • axl_ipmi_raw()
      • axl_ipmi_session_new_with_callback()
      • axl_ipmi_get_device_id()
      • axl_ipmi_get_chassis_status()
      • axl_ipmi_chassis_control()
      • axl_ipmi_chassis_identify()
      • axl_ipmi_bmc_cold_reset()
      • axl_ipmi_bmc_warm_reset()
      • axl_ipmi_sel_info()
      • axl_ipmi_sel_get_entry()
      • axl_ipmi_sdr_info()
      • axl_ipmi_sdr_get()
      • axl_ipmi_get_sensor_reading()
      • axl_ipmi_fru_info()
      • axl_ipmi_fru_read()
      • axl_ipmi_completion_code_string()
      • axl_ipmi_sensor_type_string()
      • axl_ipmi_probe()
      • axl_ipmi_entity_id_string()
      • AxlIpmiDeviceId
      • AxlIpmiChassisStatus
      • AxlIpmiSelInfo
      • AxlIpmiSelEntry
      • AxlIpmiSdrInfo
      • AxlIpmiSensorReading
      • AxlIpmiFruInfo
      • AxlIpmiProbe
  • AxlSpd — JEDEC SPD reader (DDR4/DDR5)
    • Platform limitations — when AxlSpd doesn’t deliver
    • Decoded info
    • Wire-protocol notes
    • Pure-decoder API
    • tools/memspd.c
    • Testing
    • API Reference
      • Platform limitations
      • Recommended consumer pattern
      • AxlSpdIdsVendorFn
      • axl_spd_ids_foreach_vendor()
      • AXL_SPD_ADDR_FIRST
      • AXL_SPD_ADDR_LAST
      • AXL_SPD_PART_NUMBER_MAX
      • AXL_SPD_RAW_MAX
      • AXL_SPD_VENDOR_NAME_MAX
      • AXL_SPD_NAME_COMPOSED_MAX
      • AxlSpdIds
      • axl_spd_next()
      • axl_spd_read()
      • axl_spd_dump_raw()
      • axl_spd_decode()
      • axl_spd_ids_open()
      • axl_spd_ids_open_from_buffer()
      • axl_spd_ids_close()
      • axl_spd_ids_vendor_name()
      • axl_spd_ids_format_name()
      • axl_spd_ids_load()
      • axl_spd_ids_free()
      • axl_spd_vendor_name()
      • axl_spd_format_name()
      • AxlSpdInfo
  • AxlSidecar — JSON5 sidecar loader
    • Quick start
    • API Reference
      • AxlSidecarStatus
      • axl_sidecar_open_file()
      • axl_sidecar_open_buffer()
      • axl_sidecar_check_schema()

Guides

  • Getting Started
    • Prerequisites
    • Install the SDK
      • Build from source
    • Write a Hello World
    • Build
    • Run in QEMU
    • C++ Quickstart
    • Next Steps
  • Library Design
    • AXL — AximCode Library for UEFI
      • Audience
      • Vision
      • API Style: GLib for UEFI
      • What AXL Provides
      • Phases
      • Phase R: Rename UdkLib to AXL
      • Phase S1: axl_mem
      • Phase S2: axl_string
      • Phase S3: axl_io
      • Phase S4: axl.h and axl_main
      • Phase S5: Migration
      • Migration Phases (M1–M6)
      • Platform Access Modules
      • Coding Style
      • Design Principles
      • Project
      • Dependencies
  • Concurrency Model
    • AXL Concurrency Model
      • A note on naming
      • The four-axis taxonomy
      • Decision guide
      • Why this model, not another
      • Extending the model: which APIs go async, and when
      • Where the primitives live
      • AP offload (AxlTaskPool): what’s measured, what’s deferred
      • Testing the model
      • Background reading
  • Lifecycle
    • AXL Lifecycle
      • Where things live
      • 1. Motivation
      • 2. Lifecycle model
      • 3. axl_yield(): cooperative escape hatch
      • 4. Resource cleanup when main returns
      • 5. Nested loops
      • 6. Public API surface
      • 7. What we are not doing
      • 8. Landed as Phase A7
      • 9. Design decisions locked in
      • 10. Deferred items
      • 11. What this doesn’t help with
      • Appendix: Decision log
  • Coding Style
    • AXL Coding Style
      • Naming
      • Types — Standard C Only in Public API
      • Strings — UTF-8 Everywhere
      • File Naming
      • Vendor and Vendor-Specific Code
      • Source File Layout
      • Formatting
      • Parameter Ordering
      • Return Value Conventions
      • Event Loop Callback Convention
      • Example
      • CLI Patterns
      • Printf and Variadic Functions
      • Documentation (Doxygen)
      • Dogfooding
  • SDK Design
    • AXL SDK Design
      • Audience
      • Vision
      • Architecture
      • Phases
      • Key Technical Decisions
      • Dependencies
      • Distribution Model
  • Shared-Driver Recipe
    • Recipe: shared-driver pattern
      • When to use
      • Code shape
      • Build
      • Sharing helpers between launcher and driver
      • Reload / teardown
      • Performance properties
      • Hazards and contracts
      • How this composes with other AXL primitives
      • See also
    • API Reference
      • axl_shared_driver_guid()
      • axl_shared_driver_publish()
      • axl_shared_driver_unpublish()
      • axl_shared_driver_locate()
      • axl_shared_driver_unload()
      • axl_shared_driver_locate_with_load_options()
  • Writing a UEFI Driver
    • Writing a UEFI Driver with AXL
      • 1. A driver is not an app
      • 2. Type A — a resident service / protocol publisher
      • 3. Type B — a UEFI Driver Model driver
      • 4. Choosing A vs B, and the escape hatch
      • 5. Reference
  • C++ Bindings (axlmm) Design
    • axlmm — Design
      • Goal
      • Non-goals
      • Why axlmm exists (and what it isn’t)
      • Implementation status
      • Toolchain & constraints
      • Design decisions
      • Implementation roadmap (when deferral lifts)
      • Open questions parked for later
      • Related work
  • Network Display Protocol Design (axl-display)
    • axl-display — Network Display Protocol Design
      • Goal
      • Non-goals
      • Layering
      • Wire protocol
      • Resource model
      • Core drawing requests
      • Input events (Phase R2)
      • Extension framework
      • Authentication & security
      • Phased plan
      • Open questions
  • Porting Guide
    • AXL Porting Guide
      • What AXL Already Covers
      • What’s Missing — By Priority
      • App-Level Porting Readiness
      • Recommended Implementation Order
      • Projects That Will Never Fully Port
      • ipmitool (uefi-ipmitool)
      • BMC Access Modules (Planned)
      • Protocol Abstraction Strategy
      • How to Port an EDK2 App to axl-cc
  • Releasing
    • Releasing AXL
      • TL;DR — the fast path
      • Prerequisites
      • Cut the release
      • Recovery: a failed release tag
      • Why these steps
      • See also
  • Roadmap
    • AXL Roadmap
      • Design & plan docs (index)
      • Shipped — milestone summary
      • Active sub-projects (next up)
      • Open backlog
      • Done / decided (one-liners, full detail in Archive)

Reference

  • Shared Types
    • Core Types
    • Hash Table Types
    • Event and Task Types
    • I/O and Network Types
    • Built-in Hash/Equal Functions
  • UEFI Glossary
AXL
  • Search


© Copyright 2025-2026, AximCode.

Built with Sphinx using a theme provided by Read the Docs.