Zig library for Roon Core discovery message, with C-compatible API and WebAssembly.
Commits at 6bbc2d16eebe1a54835573b2066c0c8455d61dda
6bbc2d16Make C API constants UPPER_SNAKE_CASE
Why did I make them lower_snake_case? Probably failed to perform context
switch in my brain. Zig uses lower_snake_case.
Shota FUJI
authored at
Shota FUJI
comitted at
3a5fbaabDelete 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
3f331393Simplify Message module
Both for efficienty and for simplicity.
Message struct is less bloated now.
Shota FUJI
authored at
Shota FUJI
comitted at
0dfcedf8Simpler 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
b2a4e65eC 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
cbc149a3Create 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