[PR #4] [MERGED] Add flux implementation #4

Closed
opened 2026-01-30 21:22:42 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/aaru-dps/libaaruformat/pull/4
Author: @FakeShemp
Created: 12/21/2025
Status: Merged
Merged: 1/4/2026
Merged by: @claunia

Base: develHead: fakeshemp/flux


📝 Commits (6)

  • 65d34b1 Add flux implementation
  • d644f81 Address some Sonar issues
  • 588b354 Print more verbose info for flux images with tool
  • 86b6680 Add data type to datastream block
  • c412030 Use block alignment offset instead of absolute offset
  • 8693766 Use lazy loading of flux captures

📊 Changes

20 files changed (+2809 additions, -21 deletions)

View changed files

📝 CMakeLists.txt (+2 -1)
docs/spec/blocks/datastream_payload.adoc (+83 -0)
📝 docs/spec/blocks/flux.adoc (+58 -15)
📝 docs/spec/spec.adoc (+4 -0)
📝 docs/spec/version_history.adoc (+2 -0)
📝 include/aaruformat/context.h (+10 -0)
📝 include/aaruformat/decls.h (+12 -0)
📝 include/aaruformat/enums.h (+6 -2)
📝 include/aaruformat/errors.h (+1 -0)
📝 include/aaruformat/structs.h (+1 -0)
include/aaruformat/structs/flux.h (+306 -0)
📝 include/internal.h (+2 -0)
src/blocks/flux.c (+1331 -0)
📝 src/close.c (+677 -0)
📝 src/create.c (+1 -0)
📝 src/open.c (+5 -0)
📝 templates/aaruformat.bt (+3 -1)
📝 templates/aaruformat.hexpat (+53 -2)
📝 tool/convert.c (+140 -0)
📝 tool/info.c (+112 -0)

📄 Description

Add flux handling to libaaruformat.

The flux implementation has been rewritten quite a bit from the way it was thought out previously. The old way of doing it didn't really work in practice. Hence, this is just a draft, as I'm looking for a bit of input.

The largest difference is the addition of a DataStreamPayloadBlock that basically can handle a stream of data of variable length. I have tried to write it in such a way that it could also be used for bitstreams when that is added, as well as any other arbitrary data really, like pictures etc.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/aaru-dps/libaaruformat/pull/4 **Author:** [@FakeShemp](https://github.com/FakeShemp) **Created:** 12/21/2025 **Status:** ✅ Merged **Merged:** 1/4/2026 **Merged by:** [@claunia](https://github.com/claunia) **Base:** `devel` ← **Head:** `fakeshemp/flux` --- ### 📝 Commits (6) - [`65d34b1`](https://github.com/aaru-dps/libaaruformat/commit/65d34b1e9a6ec35c4521262332d02fb38c813842) Add flux implementation - [`d644f81`](https://github.com/aaru-dps/libaaruformat/commit/d644f81fe370f5b174f8ee8789b8f36efa579384) Address some Sonar issues - [`588b354`](https://github.com/aaru-dps/libaaruformat/commit/588b35472563332b25f856715e9c7e8498f71d49) Print more verbose info for flux images with tool - [`86b6680`](https://github.com/aaru-dps/libaaruformat/commit/86b6680e3eebf17386fe977e0b339031caa4336f) Add data type to datastream block - [`c412030`](https://github.com/aaru-dps/libaaruformat/commit/c412030a8bd65d9891e246c921e57378ebef8079) Use block alignment offset instead of absolute offset - [`8693766`](https://github.com/aaru-dps/libaaruformat/commit/869376604c78a5cf81011834b1910a79ad350e67) Use lazy loading of flux captures ### 📊 Changes **20 files changed** (+2809 additions, -21 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+2 -1) ➕ `docs/spec/blocks/datastream_payload.adoc` (+83 -0) 📝 `docs/spec/blocks/flux.adoc` (+58 -15) 📝 `docs/spec/spec.adoc` (+4 -0) 📝 `docs/spec/version_history.adoc` (+2 -0) 📝 `include/aaruformat/context.h` (+10 -0) 📝 `include/aaruformat/decls.h` (+12 -0) 📝 `include/aaruformat/enums.h` (+6 -2) 📝 `include/aaruformat/errors.h` (+1 -0) 📝 `include/aaruformat/structs.h` (+1 -0) ➕ `include/aaruformat/structs/flux.h` (+306 -0) 📝 `include/internal.h` (+2 -0) ➕ `src/blocks/flux.c` (+1331 -0) 📝 `src/close.c` (+677 -0) 📝 `src/create.c` (+1 -0) 📝 `src/open.c` (+5 -0) 📝 `templates/aaruformat.bt` (+3 -1) 📝 `templates/aaruformat.hexpat` (+53 -2) 📝 `tool/convert.c` (+140 -0) 📝 `tool/info.c` (+112 -0) </details> ### 📄 Description Add flux handling to libaaruformat. The flux implementation has been rewritten quite a bit from the way it was thought out previously. The old way of doing it didn't really work in practice. Hence, this is just a draft, as I'm looking for a bit of input. The largest difference is the addition of a `DataStreamPayloadBlock` that basically can handle a stream of data of variable length. I have tried to write it in such a way that it could also be used for bitstreams when that is added, as well as any other arbitrary data really, like pictures etc. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-30 21:22:42 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aaru-dps/libaaruformat#4