ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
acds_protocol.h
Go to the documentation of this file.
1#pragma once
2
3/* Storage capacities in elements; text buffers include the terminating NUL. */
4#define NETWORK_ACIP_ACDS_PROTOCOL_ERROR_BUFFER_SIZE 256
5#define NETWORK_ACIP_ACDS_PROTOCOL_NAME_BUFFER_SIZE 49
6
8
13typedef asciichat_error_t (*acds_protocol_send_fn)(void *, packet_type_t, const void *, size_t);
25
43
44void acds_protocol_init(acds_protocol_t *protocol, acds_protocol_send_fn send, void *user_data);
47 uint8_t total_keys, uint8_t key_index);
48asciichat_error_t acds_protocol_lookup(acds_protocol_t *protocol, const char *name);
51asciichat_error_t acds_protocol_enter(acds_protocol_t *protocol, bool create, const char *name, const char *password);
52asciichat_error_t acds_protocol_receive(acds_protocol_t *protocol, packet_type_t type, const void *payload,
53 size_t length);
55
61 packet_type_t type, const void *payload, size_t length);
62
64asciichat_error_t acds_receive_packet(acip_transport_t *transport, packet_type_t *type, void **payload, size_t *length,
65 void **allocation);
ACIP client-side protocol library and ACDS client connection API.
acds_protocol_state_t
@ ACDS_IDLE
@ ACDS_FAILED
@ ACDS_FOUND
@ ACDS_JOINED
@ ACDS_ENDED
@ ACDS_JOINING
@ ACDS_CREATING
@ ACDS_LOOKING_UP
@ ACDS_CREATED
asciichat_error_t acds_protocol_leave(acds_protocol_t *protocol)
void acds_protocol_init(acds_protocol_t *protocol, acds_protocol_send_fn send, void *user_data)
asciichat_error_t acds_protocol_enter(acds_protocol_t *protocol, bool create, const char *name, const char *password)
asciichat_error_t acds_protocol_receive(acds_protocol_t *protocol, packet_type_t type, const void *payload, size_t length)
asciichat_error_t acds_handshake_receive(crypto_handshake_context_t *context, acip_transport_t *transport, packet_type_t type, const void *payload, size_t length)
#define NETWORK_ACIP_ACDS_PROTOCOL_NAME_BUFFER_SIZE
struct acds_protocol acds_protocol_t
#define NETWORK_ACIP_ACDS_PROTOCOL_ERROR_BUFFER_SIZE
asciichat_error_t acds_handshake_begin(acip_transport_t *transport, uint8_t mode)
void acds_protocol_destroy(acds_protocol_t *protocol)
asciichat_error_t(* acds_protocol_send_fn)(void *, packet_type_t, const void *, size_t)
asciichat_error_t acds_protocol_join(acds_protocol_t *protocol, const acds_session_join_params_t *params)
asciichat_error_t acds_receive_packet(acip_transport_t *transport, packet_type_t *type, void **payload, size_t *length, void **allocation)
asciichat_error_t acds_protocol_lookup(acds_protocol_t *protocol, const char *name)
asciichat_error_t acds_protocol_create(acds_protocol_t *protocol, const acds_session_create_params_t *params, uint8_t total_keys, uint8_t key_index)
unsigned short uint16_t
Definition common.h:61
unsigned char uint8_t
Definition common.h:60
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
acip_session_joined_t
Definition acds.h:479
acip_session_created_t
Definition acds.h:274
acip_session_info_t
Definition acds.h:360
packet_type_t
Network protocol packet type enumeration.
Definition packet.h:301
struct acip_transport acip_transport_t
Forward declaration of ACIP transport.
Definition host.h:506
acip_session_joined_t joined
acip_session_created_t created
char webtransport_url[512]
acds_session_join_params_t join
acip_session_info_t info
acds_protocol_send_fn send
uint16_t quic_port
acds_protocol_state_t state
char error[256]
Session creation request parameters.
Session join parameters.
Cryptographic handshake context structure.