|
FlatImage
A configurable Linux containerization system
|
Management of ELF binary reserved space for configuration storage. More...
Namespaces | |
| namespace | ns_bind |
| Bind mount configuration storage in reserved space. | |
| namespace | ns_boot |
| Boot command storage in reserved space. | |
| namespace | ns_casefold |
| Case-insensitive filesystem flag management in reserved space. | |
| namespace | ns_desktop |
| Desktop integration data storage in reserved space. | |
| namespace | ns_env |
| Environment variable storage in reserved space. | |
| namespace | ns_icon |
| Application icon image storage in reserved space. | |
| namespace | ns_notify |
| Desktop notification flag management in reserved space. | |
| namespace | ns_overlay |
| Overlay filesystem type selection in reserved space. | |
| namespace | ns_permissions |
| Permission bitfield management in reserved space. | |
| namespace | ns_remote |
| Remote recipe repository URL storage in reserved space. | |
| namespace | ns_unshare |
| Unshare namespace options bitfield management in reserved space. | |
Functions | |
| Value< void > | write (fs::path const &path_file_binary, uint64_t offset_begin, uint64_t offset_end, const char *data, uint64_t length) noexcept |
| Writes data to a file in binary format. | |
| Value< std::streamsize > | read (fs::path const &path_file_binary, uint64_t offset, char *data, uint64_t length) noexcept |
| Reads data from a file in binary format. | |
Variables | |
| uint32_t | FIM_RESERVED_OFFSET |
| uint64_t const | FIM_RESERVED_OFFSET_PERMISSIONS_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_permissions_begin |
| uint64_t const | FIM_RESERVED_OFFSET_PERMISSIONS_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_permissions_end |
| uint64_t const | FIM_RESERVED_OFFSET_NOTIFY_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_notify_begin |
| uint64_t const | FIM_RESERVED_OFFSET_NOTIFY_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_notify_end |
| uint64_t const | FIM_RESERVED_OFFSET_OVERLAY_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_overlay_begin |
| uint64_t const | FIM_RESERVED_OFFSET_OVERLAY_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_overlay_end |
| uint64_t const | FIM_RESERVED_OFFSET_CASEFOLD_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_casefold_begin |
| uint64_t const | FIM_RESERVED_OFFSET_CASEFOLD_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_casefold_end |
| uint64_t const | FIM_RESERVED_OFFSET_DESKTOP_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_desktop_begin |
| uint64_t const | FIM_RESERVED_OFFSET_DESKTOP_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_desktop_end |
| uint64_t const | FIM_RESERVED_OFFSET_BOOT_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_boot_begin |
| uint64_t const | FIM_RESERVED_OFFSET_BOOT_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_boot_end |
| uint64_t const | FIM_RESERVED_OFFSET_ICON_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_icon_begin |
| uint64_t const | FIM_RESERVED_OFFSET_ICON_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_icon_end |
| uint64_t const | FIM_RESERVED_OFFSET_ENVIRONMENT_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_environment_begin |
| uint64_t const | FIM_RESERVED_OFFSET_ENVIRONMENT_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_environment_end |
| uint64_t const | FIM_RESERVED_OFFSET_BINDINGS_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_bindings_begin |
| uint64_t const | FIM_RESERVED_OFFSET_BINDINGS_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_bindings_end |
| uint64_t const | FIM_RESERVED_OFFSET_REMOTE_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_remote_begin |
| uint64_t const | FIM_RESERVED_OFFSET_REMOTE_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_remote_end |
| uint64_t const | FIM_RESERVED_OFFSET_UNSHARE_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_unshare_begin |
| uint64_t const | FIM_RESERVED_OFFSET_UNSHARE_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_unshare_end |
Management of ELF binary reserved space for configuration storage.
This namespace provides core functionality for reading and writing configuration data to a reserved section within the FlatImage ELF binary. It defines the memory layout (offsets and sizes) for all configuration components and provides low-level read/write operations. The reserved space allows post-build reconfiguration without rebuilding the entire binary, storing permissions, environment variables, bind mounts, desktop integration data, icons, and more.
|
inlinenodiscardnoexcept |
Reads data from a file in binary format.
| path_file_binary | The binary file to read |
| offset | The starting offset in bytes where to starting writing |
| data | The data to write into the file |
| length | The length of the data to write into the file |
Definition at line 172 of file reserved.hpp.
|
inlinenodiscardnoexcept |
Writes data to a file in binary format.
| path_file_binary | The binary file to modify |
| offset_begin | The starting offset in bytes where to starting writing |
| offset_end | The ending offset in bytes where to stop writing |
| data | The data to write into the file |
| length | The length of the data to write into the file |
Definition at line 142 of file reserved.hpp.
| uint32_t ns_reserved::FIM_RESERVED_OFFSET |
Definition at line 35 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_BINDINGS_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_bindings_begin |
Definition at line 121 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_BINDINGS_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_bindings_end |
Definition at line 122 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_BOOT_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_boot_begin |
Definition at line 112 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_BOOT_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_boot_end |
Definition at line 113 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_CASEFOLD_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_casefold_begin |
Definition at line 106 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_CASEFOLD_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_casefold_end |
Definition at line 107 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_DESKTOP_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_desktop_begin |
Definition at line 109 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_DESKTOP_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_desktop_end |
Definition at line 110 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_ENVIRONMENT_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_environment_begin |
Definition at line 118 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_ENVIRONMENT_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_environment_end |
Definition at line 119 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_ICON_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_icon_begin |
Definition at line 115 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_ICON_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_icon_end |
Definition at line 116 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_NOTIFY_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_notify_begin |
Definition at line 100 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_NOTIFY_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_notify_end |
Definition at line 101 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_OVERLAY_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_overlay_begin |
Definition at line 103 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_OVERLAY_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_overlay_end |
Definition at line 104 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_PERMISSIONS_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_permissions_begin |
Definition at line 97 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_PERMISSIONS_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_permissions_end |
Definition at line 98 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_REMOTE_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_remote_begin |
Definition at line 124 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_REMOTE_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_remote_end |
Definition at line 125 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_UNSHARE_BEGIN = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_unshare_begin |
Definition at line 127 of file reserved.hpp.
| uint64_t const ns_reserved::FIM_RESERVED_OFFSET_UNSHARE_END = FIM_RESERVED_OFFSET + reserved.fim_reserved_offset_unshare_end |
Definition at line 128 of file reserved.hpp.