libsood

Zig library for Roon Core discovery message, with C-compatible API and WebAssembly.

Commits at 0dfcedf8f1872986f1b154c2c8696f8bf4fd093a

  1. 0dfcedf8 Simpler to use API for Zig and C `parse` and property iterator is simple, but it's error-prone in the case user is processing illegal message that has invalid payload at tail. Most of the time this library is used, payload is SOOD response message sent by Roon server, with fixed set of properties. Validating it and returning typed-struct is secure and easy to use. Shota FUJI authored at Shota FUJI comitted at
  2. b2a4e65e C API for discovery I'm not including ipv4_subnet because IPv4 address handling differs between OSes (I found out during writing examples/basic.c) and I have no idea how I design the API. Zig's std uses `[4]u8` across platforms. Perhaps it's better to remove the module entirely? This library offloads transport things to users so this "get broadcast address for the interface" does not fit here, maybe. Shota FUJI authored at Shota FUJI comitted at
  3. 7cbca911 Simplify build file Shota FUJI authored at Shota FUJI comitted at
  4. ea2be90d Zig API for discovery and IPv4 helpers Shota FUJI authored at Shota FUJI comitted at
  5. 664805ab Message parser/serializer Shota FUJI authored at Shota FUJI comitted at
  6. 049ec8e5 WebAssembly build setup As a more secure and portable way. Shota FUJI authored at Shota FUJI comitted at
  7. cbcb4aad Foundation for Zig project with C library generation Shota FUJI authored at Shota FUJI comitted at
  8. 84eec46f Base style for text files Shota FUJI authored at Shota FUJI comitted at
  9. cbc149a3 Create license files New files to be added require license text. By creating license files beforehand, later commits will be more concise by having only files relavant to the change. Shota FUJI authored at Shota FUJI comitted at