internal/pipewire: implement Core::Hello
All checks were successful
Test / Create distribution (push) Successful in 39s
Test / Sandbox (push) Successful in 2m30s
Test / Hakurei (push) Successful in 3m15s
Test / Hpkg (push) Successful in 4m13s
Test / Sandbox (race detector) (push) Successful in 4m25s
Test / Hakurei (race detector) (push) Successful in 5m18s
Test / Flake checks (push) Successful in 1m28s

This implements enough types to correctly marshal and unmarshal Core::Hello.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-11-24 23:29:06 +09:00
parent 9f7b0c2f46
commit 5bcafcf734
5 changed files with 329 additions and 72 deletions

View File

@@ -22,16 +22,16 @@ var (
// A Header is the fixed-size message header described in protocol native.
type Header struct {
// The message id this is the destination resource/proxy id.
ID Uint `json:"Id"`
ID Word `json:"Id"`
// The opcode on the resource/proxy interface.
Opcode byte `json:"opcode"`
// The size of the payload and optional footer of the message.
// Note: this value is only 24 bits long in the format.
Size uint32 `json:"size"`
// An increasing sequence number for each message.
Sequence Uint `json:"seq"`
Sequence Word `json:"seq"`
// Number of file descriptors in this message.
FileCount Uint `json:"n_fds"`
FileCount Word `json:"n_fds"`
}
// append appends the protocol native message header to data.