libsood

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

Commits at 3a5fbaabad2b748f29f16e9c3710a2433af91488

  1. 3a5fbaab Delete ipv4_subnet module This is not this library's responsibility. OSes and/or language library (std or network one) should provide this. Shota FUJI authored at Shota FUJI comitted at
  2. 3f331393 Simplify Message module Both for efficienty and for simplicity. Message struct is less bloated now. Shota FUJI authored at Shota FUJI comitted at
  3. 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
  4. 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
  5. 7cbca911 Simplify build file Shota FUJI authored at Shota FUJI comitted at
  6. ea2be90d Zig API for discovery and IPv4 helpers Shota FUJI authored at Shota FUJI comitted at
  7. 664805ab Message parser/serializer Shota FUJI authored at Shota FUJI comitted at
  8. 049ec8e5 WebAssembly build setup As a more secure and portable way. Shota FUJI authored at Shota FUJI comitted at
  9. cbcb4aad Foundation for Zig project with C library generation Shota FUJI authored at Shota FUJI comitted at
  10. 84eec46f Base style for text files Shota FUJI authored at Shota FUJI comitted at
  11. 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