17#ifndef NETWORK_ACIP_CLIENT_H
18#define NETWORK_ACIP_CLIENT_H
⚠️‼️ Error and/or exit() when things go bad.
asciichat_error_t
Error and exit codes - unified status values (0-255)
ACIP protocol packet handlers (transport-agnostic)
asciichat_error_t acip_send_image_frame(acip_transport_t *transport, const void *pixel_data, uint32_t width, uint32_t height, uint32_t pixel_format)
Send image frame to server (client → server)
asciichat_error_t acip_send_stream_stop(acip_transport_t *transport, uint8_t stream_types)
Request to stop media streaming (client → server)
asciichat_error_t acip_client_receive_and_dispatch(acip_transport_t *transport, const acip_client_callbacks_t *callbacks)
Receive packet from server and dispatch to callbacks.
asciichat_error_t acip_send_stream_start(acip_transport_t *transport, uint8_t stream_types)
Request to start media streaming (client → server)
asciichat_error_t acip_send_capabilities(acip_transport_t *transport, const void *cap_data, size_t cap_len)
Send terminal capabilities to server (client → server)
asciichat_error_t acip_send_client_leave(acip_transport_t *transport)
Notify server of client leaving (client → server)
asciichat_error_t acip_send_protocol_version(acip_transport_t *transport, const protocol_version_packet_t *version)
Send protocol version to server (client → server)
asciichat_error_t acip_send_client_join(acip_transport_t *transport, uint8_t capabilities)
Announce client join to server (client → server)
Packet protocol implementation with encryption and compression support.
Client-side packet handler callbacks.
Transport instance structure.
Protocol version negotiation packet structure (Packet Type 1)
Transport abstraction layer for ACIP protocol.