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
  • AxlFormat — Printf Engine
    • AxlFormat — Printf Engine
      • Callback-Driven Formatting
      • API
      • Use Cases
      • Supported Format Specifiers
    • API Reference
      • AxlWriteFunc
      • axl_vformat()
      • axl_format()
  • 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_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_to_ucs2()
      • axl_utf8_to_ucs2_buf()
      • axl_ucs2_to_utf8()
      • axl_ucs2_to_utf8_buf()
      • axl_base64_encode()
      • axl_base64_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_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
      • axl_console_read_key()
      • axl_console_flush_input()
      • AxlKey
    • AxlFs — filesystem operations
      • 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
      • AxlProgressFunc
      • AxlDir
      • AxlDirWalkFn
      • axl_file_get_contents()
      • axl_file_set_contents()
      • 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
    • 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_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
    • AxlStr — String Utilities
      • Overview
      • UTF-8 vs UCS-2
      • 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
      • 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
    • 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
      • AxlRingBuf
      • AxlDigest
  • 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_get_int()
      • axl_json_get_uint()
      • axl_json_get_bool()
      • 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()
  • 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_append()
      • axl_config_set_parent()
      • AxlConfigDesc
  • AxlSubcommand — Multi-command CLI dispatch
    • API Reference
      • AxlSubcommandFn
      • axl_subcommand_dispatch()
      • axl_subcommand_print_help()
      • axl_subcommand_print_command_help()
      • AxlSubcommand
  • 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()
  • 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)
  • 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
    • 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
    • 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_read()
      • axl_tls_write()
      • axl_tls_write_async()
      • axl_tls_stage_data()
      • axl_tls_free()
  • AxlSys — System Utilities
    • System Utilities
      • GUIDs
      • Firmware Globals
      • NVRAM Variables
      • Boot Options
      • x86 I/O Ports
      • Physical-Memory Access
      • Watchdog
      • Random Bytes
      • Driver Lifecycle
      • 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
    • 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
    • Synchronization primitives
    • API Reference
      • AxlSys
      • AxlEnv
      • AxlTime
      • AxlNvStore
      • AxlDriver
      • AxlEmbed
      • AxlDiag
      • AxlHexdump
  • 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_start()
      • axl_image_unload()
      • axl_image_enumerate()
      • axl_image_self_get_range()
      • AxlImageInfo
    • AxlImageVerify — Authenticode signature inspection
      • axl_image_verify_signature()
      • axl_image_signature_info_free()
      • AxlImageSignatureInfo
  • 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()
  • AxlWatchdog — boot-services watchdog
    • API Reference
      • axl_watchdog_disarm()
      • axl_watchdog_set()
      • axl_watchdog_pet()
  • AxlRng — cryptographic random bytes
    • API Reference
      • axl_rng_bytes()
  • AxlGfx — Graphics
    • Overview
      • Pixel Format
    • API Reference
      • axl_gfx_available()
      • axl_gfx_get_info()
      • axl_gfx_fill_rect()
      • axl_gfx_blit()
      • axl_gfx_capture()
      • axl_gfx_draw_text()
      • AxlGfxInfo
      • AxlGfxPixel
  • 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_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_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_CLASS_NAME_MAX
      • AXL_USB_STRING_MAX
      • AXL_USB_TREE_MAX_DEPTH
      • AxlUsbTreeFn
      • AxlUsbIds
      • AxlUsbClassFmt
      • AxlUsbDataDir
      • axl_usb_next()
      • axl_usb_get_vid_pid()
      • axl_usb_get_class()
      • 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
  • 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
    • 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
      • Where the primitives live
      • 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
      • 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
  • 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
      • Prerequisites
      • Cut the release
      • Recovery: a failed release tag
      • Why these steps
      • See also
  • Roadmap
    • AXL Roadmap
      • Library Phases (AXL-Design.md)
      • SDK Phases (AXL-SDK-Design.md)
      • Native UEFI Backend (AXL-Native-Backend-Design.md)
      • Networking Phases (Future)
      • BMC Access Phases (Future)
      • Async Work Phases (Future)
      • Graphics Phases (Future)
      • Shell Integration Phases (Future)
      • Configuration Framework (Future)
      • Tools
      • Hardware Fixture Capture & Replay (Future)
      • Documentation Phases (Future)
      • Platform Abstraction (Future — coreboot support)
      • C++ Bindings — axlmm (Future)
      • AxlXml — generic XML reader + writer (LANDED 2026-05-10)
      • EFI Encapsulation — public-API hygiene (Future)
      • API Hygiene — Return Value Conventions (Future)
      • Repo Merge (Complete)
      • Known Gaps and Issues
      • Real-hardware findings — Dell PowerEdge XE7745 (iDRAC10), May 2026

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.