|
libivon 0.1.0
Voice-over-IP library
|
Classes | |
| struct | ivon_connect_result |
| Result of a connect() call. More... | |
| struct | ivon_property |
| A single key-value property pair for iteration. More... | |
| struct | ivon_group_join_result |
| Result of a group join operation. More... | |
| struct | ivon_group_leave_result |
| Result of a group leave operation. More... | |
| struct | ivon_group_mute_result |
| Result of a mute operation. More... | |
| struct | ivon_group_info |
| Information about a group (used in group list callback). More... | |
Macros | |
| #define | IVON_PUBLIC_KEY_SIZE 32 |
| PUBLIC_KEY_SIZE from the C++ side. | |
Typedefs | |
| typedef struct ivon_client * | ivon_client_t |
| C ABI types for the libivon client. | |
| typedef enum ivon_connection_state | ivon_connection_state_t |
| Connection lifecycle states (mirrors ConnectionState). | |
| typedef enum ivon_tofu_verify_result | ivon_tofu_verify_result_t |
| TOFU verification results (mirrors TofuVerifyResult). | |
| typedef enum ivon_negotiation_error_code | ivon_negotiation_error_code_t |
| Negotiation error codes (mirrors NegotiationErrorCode). | |
| typedef enum ivon_connection_error_code | ivon_connection_error_code_t |
| Connection error codes (mirrors ConnectionErrorCode). | |
| typedef enum ivon_group_operation_status | ivon_group_operation_status_t |
| Group operation status codes (mirrors GroupOperationStatus). | |
| typedef struct ivon_client_config * | ivon_client_config_t |
| Opaque client configuration handle. | |
| typedef struct ivon_connect_result | ivon_connect_result_t |
| Result of a connect() call. | |
| typedef struct ivon_property | ivon_property_t |
| A single key-value property pair for iteration. | |
| typedef struct ivon_group_join_result | ivon_group_join_result_t |
| Result of a group join operation. | |
| typedef struct ivon_group_leave_result | ivon_group_leave_result_t |
| Result of a group leave operation. | |
| typedef struct ivon_group_mute_result | ivon_group_mute_result_t |
| Result of a mute operation. | |
| typedef struct ivon_group_info | ivon_group_info_t |
| Information about a group (used in group list callback). | |
| typedef int(* | ivon_tofu_verify_fn) (const char *server_id, ivon_tofu_verify_result_t result, const uint8_t server_public_key[IVON_PUBLIC_KEY_SIZE], const uint8_t *stored_key, void *user_data) |
| TOFU verification callback. Return non-zero to accept the key, zero to reject. | |
| typedef int(* | ivon_password_fn) (uint32_t remaining_attempts, char *password_buf, size_t buf_len, void *user_data) |
Password callback. Write the password into password_buf (max buf_len bytes including NUL). Return non-zero to submit, zero to cancel authentication. | |
| typedef void(* | ivon_client_message_fn) (const char *sender_id, const char *data_type, const uint8_t *data, size_t data_len, void *user_data) |
| Client message callback. | |
| typedef void(* | ivon_client_joined_fn) (const char *client_id, void *user_data) |
| Client joined callback. | |
| typedef void(* | ivon_client_left_fn) (const char *client_id, int was_kicked, void *user_data) |
| Client left callback. | |
| typedef void(* | ivon_kicked_fn) (const char *reason, void *user_data) |
| Kicked callback (this client was kicked). | |
| typedef void(* | ivon_disconnected_fn) (const char *reason, void *user_data) |
| Disconnected callback. | |
| typedef void(* | ivon_connection_state_fn) (ivon_connection_state_t new_state, void *user_data) |
| Connection state changed callback. | |
| typedef void(* | ivon_group_join_fn) (const ivon_group_join_result_t *result, void *user_data) |
| Group join result callback. | |
| typedef void(* | ivon_group_leave_fn) (const ivon_group_leave_result_t *result, void *user_data) |
| Group leave result callback. | |
| typedef void(* | ivon_group_key_update_fn) (const char *group_id, uint64_t new_epoch, void *user_data) |
| Group key update callback. | |
| typedef void(* | ivon_group_member_joined_fn) (const char *group_id, const char *client_id, uint64_t fanout_sender_id, void *user_data) |
| Group member joined callback. | |
| typedef void(* | ivon_group_member_left_fn) (const char *group_id, const char *client_id, uint64_t fanout_sender_id, int was_kicked, void *user_data) |
| Group member left callback. | |
| typedef void(* | ivon_group_kicked_fn) (const char *group_id, const char *reason, void *user_data) |
| Group kicked callback (this client kicked from a group). | |
| typedef void(* | ivon_group_list_fn) (const ivon_group_info_t *groups, size_t count, void *user_data) |
| Group list callback. | |
| typedef void(* | ivon_group_mute_fn) (const ivon_group_mute_result_t *result, void *user_data) |
| Group mute result callback. | |
| typedef void(* | ivon_fanout_data_fn) (const char *group_id, uint64_t sender_id, uint64_t seq, const unsigned char *data, size_t data_len, void *user_data) |
| Fanout data received callback. | |
| typedef void(* | ivon_fanout_error_fn) (const char *group_id, const char *error_message, void *user_data) |
| Fanout error callback. | |
| typedef void(* | ivon_server_properties_fn) (const ivon_property_t *properties, size_t count, void *user_data) |
| Server properties callback (called once during sync). | |
| typedef void(* | ivon_server_property_update_fn) (const char *key, const uint8_t *value, size_t value_len, void *user_data) |
| Server property update callback (single property changed). | |
| typedef void(* | ivon_group_property_update_fn) (const char *group_id, const char *key, const uint8_t *value, size_t value_len, void *user_data) |
| Group property update callback (single group property changed). | |
| #define IVON_PUBLIC_KEY_SIZE 32 |
PUBLIC_KEY_SIZE from the C++ side.
| typedef struct ivon_client_config* ivon_client_config_t |
Opaque client configuration handle.
Create with ivon_client_config_create(), set fields with the ivon_client_config_set_*() functions, pass to ivon_client_create(), then destroy with ivon_client_config_destroy().
| typedef void(* ivon_client_joined_fn) (const char *client_id, void *user_data) |
Client joined callback.
| typedef void(* ivon_client_left_fn) (const char *client_id, int was_kicked, void *user_data) |
Client left callback.
| typedef void(* ivon_client_message_fn) (const char *sender_id, const char *data_type, const uint8_t *data, size_t data_len, void *user_data) |
Client message callback.
| typedef struct ivon_client* ivon_client_t |
C ABI types for the libivon client.
Pure C header — no C++ dependencies. Defines the opaque handle, enumerations, result structures, and callback function-pointer typedefs used by ivon_client.h.
Opaque handle to a libivon client instance.
| typedef struct ivon_connect_result ivon_connect_result_t |
Result of a connect() call.
If success is non-zero the connection is established. Otherwise inspect is_connection_error, negotiation_code / connection_code and the message/detail fields.
| typedef enum ivon_connection_error_code ivon_connection_error_code_t |
Connection error codes (mirrors ConnectionErrorCode).
| typedef void(* ivon_connection_state_fn) (ivon_connection_state_t new_state, void *user_data) |
Connection state changed callback.
| typedef enum ivon_connection_state ivon_connection_state_t |
Connection lifecycle states (mirrors ConnectionState).
| typedef void(* ivon_disconnected_fn) (const char *reason, void *user_data) |
Disconnected callback.
| typedef void(* ivon_fanout_data_fn) (const char *group_id, uint64_t sender_id, uint64_t seq, const unsigned char *data, size_t data_len, void *user_data) |
Fanout data received callback.
| typedef void(* ivon_fanout_error_fn) (const char *group_id, const char *error_message, void *user_data) |
Fanout error callback.
| typedef struct ivon_group_info ivon_group_info_t |
Information about a group (used in group list callback).
| typedef void(* ivon_group_join_fn) (const ivon_group_join_result_t *result, void *user_data) |
Group join result callback.
| typedef struct ivon_group_join_result ivon_group_join_result_t |
Result of a group join operation.
| typedef void(* ivon_group_key_update_fn) (const char *group_id, uint64_t new_epoch, void *user_data) |
Group key update callback.
| typedef void(* ivon_group_kicked_fn) (const char *group_id, const char *reason, void *user_data) |
Group kicked callback (this client kicked from a group).
| typedef void(* ivon_group_leave_fn) (const ivon_group_leave_result_t *result, void *user_data) |
Group leave result callback.
| typedef struct ivon_group_leave_result ivon_group_leave_result_t |
Result of a group leave operation.
| typedef void(* ivon_group_list_fn) (const ivon_group_info_t *groups, size_t count, void *user_data) |
Group list callback.
| groups | Array of group info structs, valid for the duration of the call. |
| count | Number of elements in groups. |
| typedef void(* ivon_group_member_joined_fn) (const char *group_id, const char *client_id, uint64_t fanout_sender_id, void *user_data) |
Group member joined callback.
| typedef void( * ivon_group_member_left_fn) (const char *group_id, const char *client_id, uint64_t fanout_sender_id, int was_kicked, void *user_data) |
Group member left callback.
| typedef void(* ivon_group_mute_fn) (const ivon_group_mute_result_t *result, void *user_data) |
Group mute result callback.
| typedef struct ivon_group_mute_result ivon_group_mute_result_t |
Result of a mute operation.
| typedef enum ivon_group_operation_status ivon_group_operation_status_t |
Group operation status codes (mirrors GroupOperationStatus).
| typedef void( * ivon_group_property_update_fn) (const char *group_id, const char *key, const uint8_t *value, size_t value_len, void *user_data) |
Group property update callback (single group property changed).
| typedef void(* ivon_kicked_fn) (const char *reason, void *user_data) |
Kicked callback (this client was kicked).
| typedef enum ivon_negotiation_error_code ivon_negotiation_error_code_t |
Negotiation error codes (mirrors NegotiationErrorCode).
| typedef int(* ivon_password_fn) (uint32_t remaining_attempts, char *password_buf, size_t buf_len, void *user_data) |
Password callback. Write the password into password_buf (max buf_len bytes including NUL). Return non-zero to submit, zero to cancel authentication.
| typedef struct ivon_property ivon_property_t |
A single key-value property pair for iteration.
| typedef void(* ivon_server_properties_fn) (const ivon_property_t *properties, size_t count, void *user_data) |
Server properties callback (called once during sync).
| properties | Array of property pairs. |
| count | Number of properties. |
| typedef void(* ivon_server_property_update_fn) (const char *key, const uint8_t *value, size_t value_len, void *user_data) |
Server property update callback (single property changed).
| typedef int(* ivon_tofu_verify_fn) (const char *server_id, ivon_tofu_verify_result_t result, const uint8_t server_public_key[IVON_PUBLIC_KEY_SIZE], const uint8_t *stored_key, void *user_data) |
TOFU verification callback. Return non-zero to accept the key, zero to reject.
| typedef enum ivon_tofu_verify_result ivon_tofu_verify_result_t |
TOFU verification results (mirrors TofuVerifyResult).
Connection error codes (mirrors ConnectionErrorCode).
Group operation status codes (mirrors GroupOperationStatus).
Negotiation error codes (mirrors NegotiationErrorCode).