AxlPath -- Path Manipulation ============================ Path manipulation: basename, dirname, extension, join, resolve. Handles both ``/`` (Unix) and ``\`` (UEFI) path separators. All allocated results are freed with ``axl_free()``. Header: ```` Overview -------- UEFI uses backslash (``\``) as the path separator, while most developers are familiar with forward slash (``/``). AXL accepts both and normalizes internally. Paths typically start with a volume name: ``fs0:/path/to/file``. .. code-block:: c AXL_AUTO_FREE char *base = axl_path_get_basename("fs0:/logs/app.log"); // base = "app.log" AXL_AUTO_FREE char *dir = axl_path_get_dirname("fs0:/logs/app.log"); // dir = "fs0:/logs" AXL_AUTO_FREE char *ext = axl_path_get_extension("app.log"); // ext = "log" AXL_AUTO_FREE char *full = axl_path_join("fs0:/data", "output.json"); // full = "fs0:/data/output.json" // Resolve relative paths char resolved[256]; axl_path_resolve("fs0:/app", "../config/app.cfg", resolved, sizeof(resolved)); // resolved = "fs0:/config/app.cfg" API Reference ------------- .. doxygenfile:: axl-path.h