#[repr(C)]pub struct Ts3Functions {Show 230 fields
pub get_client_lib_version: extern "C" fn(result: *mut *mut c_char) -> c_uint,
pub get_client_lib_version_number: extern "C" fn(result: *mut u64) -> c_uint,
pub spawn_new_server_connection_handler: extern "C" fn(port: c_int, result: *mut u64) -> c_uint,
pub destroy_server_connection_handler: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub get_error_message: extern "C" fn(error_code: c_uint, error: *mut *mut c_char) -> c_uint,
pub free_memory: extern "C" fn(pointer: *mut c_void) -> c_uint,
pub log_message: extern "C" fn(log_message: *const c_char, severity: LogLevel, channel: *const c_char, log_id: u64) -> c_uint,
pub get_playback_device_list: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut *mut c_char) -> c_uint,
pub get_playback_mode_list: extern "C" fn(result: *mut *mut *mut c_char) -> c_uint,
pub get_capture_device_list: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut *mut c_char) -> c_uint,
pub get_capture_mode_list: extern "C" fn(result: *mut *mut *mut c_char) -> c_uint,
pub get_default_playback_device: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut c_char) -> c_uint,
pub get_default_playback_mode: extern "C" fn(result: *mut *mut c_char) -> c_uint,
pub get_default_capture_device: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut c_char) -> c_uint,
pub get_default_capture_mode: extern "C" fn(result: *mut *mut c_char) -> c_uint,
pub open_playback_device: extern "C" fn(server_connection_handler_id: u64, mode_id: *const c_char, playback_device: *const c_char) -> c_uint,
pub open_capture_device: extern "C" fn(server_connection_handler_id: u64, mode_id: *const c_char, capture_device: *const c_char) -> c_uint,
pub get_current_playback_device_name: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char, is_default: *mut c_int) -> c_uint,
pub get_current_play_back_mode: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char) -> c_uint,
pub get_current_capture_device_name: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char, is_default: *mut c_int) -> c_uint,
pub get_current_capture_mode: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char) -> c_uint,
pub initiate_graceful_playback_shutdown: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub close_playback_device: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub close_capture_device: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub activate_capture_device: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub play_wave_file_handle: extern "C" fn(server_connection_handler_id: u64, path: *const c_char, play_loop: c_int, wave_handle: *mut u64) -> c_uint,
pub pause_wave_file_handle: extern "C" fn(server_connection_handler_id: u64, wave_handle: u64, pause: c_int) -> c_uint,
pub close_wave_file_handle: extern "C" fn(server_connection_handler_id: u64, wave_handle: u64) -> c_uint,
pub play_wave_file: extern "C" fn(server_connection_handler_id: u64, path: *const c_char) -> c_uint,
pub register_custom_device: extern "C" fn(device_id: *const c_char, device_display_name: *const c_char, cap_frequency: c_int, cap_channels: c_int, play_frequency: c_int, play_channels: c_int) -> c_uint,
pub unregister_custom_device: extern "C" fn(device_id: *const c_char) -> c_uint,
pub process_custom_capture_data: extern "C" fn(device_name: *const c_char, buffer: *const c_short, samples: c_int) -> c_uint,
pub acquire_custom_playback_data: extern "C" fn(device_name: *const c_char, buffer: *mut c_short, samples: c_int) -> c_uint,
pub get_pre_processor_info_value_float: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut c_float) -> c_uint,
pub get_pre_processor_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut *mut c_char) -> c_uint,
pub set_pre_processor_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, value: *const c_char) -> c_uint,
pub get_encode_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut *mut c_char) -> c_uint,
pub get_playback_config_value_as_float: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut c_float) -> c_uint,
pub set_playback_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, value: *const c_char) -> c_uint,
pub set_client_volume_modifier: extern "C" fn(server_connection_handler_id: u64, client_id: u16, value: c_float) -> c_uint,
pub start_voice_recording: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub stop_voice_recording: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub systemset3d_listener_attributes: extern "C" fn(server_connection_handler_id: u64, position: *const Ts3Vector, forward: *const Ts3Vector, up: *const Ts3Vector) -> c_uint,
pub set3d_wave_attributes: extern "C" fn(server_connection_handler_id: u64, wave_handle: u64, position: *const Ts3Vector) -> c_uint,
pub systemset3d_settings: extern "C" fn(server_connection_handler_id: u64, distance_factor: c_float, rolloff_scale: c_float) -> c_uint,
pub channelset3d_attributes: extern "C" fn(server_connection_handler_id: u64, client_id: u16, position: *const Ts3Vector) -> c_uint,
pub start_connection: extern "C" fn(server_connection_handler_id: u64, identity: *const c_char, ip: *const c_char, port: c_uint, nickname: *const c_char, default_channel_array: *const *const c_char, default_channel_password: *const c_char, server_password: *const c_char) -> c_uint,
pub stop_connection: extern "C" fn(server_connection_handler_id: u64, quit_message: *const c_char) -> c_uint,
pub request_client_move: extern "C" fn(server_connection_handler_id: u64, client_id: u16, new_channel_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint,
pub request_client_variables: extern "C" fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint,
pub request_client_kick_from_channel: extern "C" fn(server_connection_handler_id: u64, client_id: u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub request_client_kick_from_server: extern "C" fn(server_connection_handler_id: u64, client_id: u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub request_channel_delete: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, force: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_move: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, new_channel_parent_id: u64, new_channel_order: u64, return_code: *const c_char) -> c_uint,
pub request_send_private_text_msg: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, target_client_id: u16, return_code: *const c_char) -> c_uint,
pub request_send_channel_text_msg: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, target_channel_id: u64, return_code: *const c_char) -> c_uint,
pub request_send_server_text_msg: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, return_code: *const c_char) -> c_uint,
pub request_connection_info: extern "C" fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint,
pub request_client_set_whisper_list: extern "C" fn(server_connection_handler_id: u64, client_id: u16, target_channel_id_array: *const u64, target_client_id_array: *const u16, return_code: *const c_char) -> c_uint,
pub request_channel_subscribe: extern "C" fn(server_connection_handler_id: u64, channel_id_array: *const u64, return_code: *const c_char) -> c_uint,
pub request_channel_subscribe_all: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_channel_unsubscribe: extern "C" fn(server_connection_handler_id: u64, channel_id_array: *const u64, return_code: *const c_char) -> c_uint,
pub request_channel_unsubscribe_all: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_channel_description: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
pub request_mute_clients: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
pub requset_unmute_clients: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
pub request_client_poke: extern "C" fn(server_connection_handler_id: u64, client_id: u16, message: *const c_char, return_code: *const c_char) -> c_uint,
pub request_client_ids: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint,
pub client_chat_closed: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, client_id: u16, return_code: *const c_char) -> c_uint,
pub client_chat_composing: extern "C" fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint,
pub request_server_temporary_password_add: extern "C" fn(server_connection_handler_id: u64, password: *const c_char, description: *const c_char, duration: u64, target_channel_id: u64, target_channel_pw: *const c_char, return_code: *const c_char) -> c_uint,
pub request_server_temporary_password_del: extern "C" fn(server_connection_handler_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint,
pub request_server_temporary_password_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub get_client_id: extern "C" fn(server_connection_handler_id: u64, result: *mut u16) -> c_uint,
pub get_client_self_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut c_int) -> c_uint,
pub get_client_self_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint,
pub set_client_self_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: c_int) -> c_uint,
pub set_client_self_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: *const c_char) -> c_uint,
pub flush_client_self_updates: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub get_client_variable_as_int: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut c_int) -> c_uint,
pub get_client_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut u64) -> c_uint,
pub get_client_variable_as_string: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut *mut c_char) -> c_uint,
pub get_client_list: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut u16) -> c_uint,
pub get_channel_of_client: extern "C" fn(server_connection_handler_id: u64, client_id: u16, result: *mut u64) -> c_uint,
pub get_channel_variable_as_int: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut c_int) -> c_uint,
pub get_channel_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut u64) -> c_uint,
pub get_channel_variable_as_string: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint,
pub get_channel_id_from_channel_names: extern "C" fn(server_connection_handler_id: u64, channel_name_array: *mut *mut c_char, result: *mut u64) -> c_uint,
pub set_channel_variable_as_int: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: c_int) -> c_uint,
pub set_channel_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: u64) -> c_uint,
pub set_channel_variable_as_string: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: *const c_char) -> c_uint,
pub flush_channel_updates: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
pub flush_channel_creation: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
pub get_channel_list: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut u64) -> c_uint,
pub get_channel_client_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, result: *mut *mut u16) -> c_uint,
pub get_parent_channel_of_channel: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, result: *mut u64) -> c_uint,
pub get_server_connection_handler_list: extern "C" fn(result: *mut *mut u64) -> c_uint,
pub get_server_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut c_int) -> c_uint,
pub get_server_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut u64) -> c_uint,
pub get_server_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint,
pub request_server_variables: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub get_connection_status: extern "C" fn(server_connection_handler_id: u64, result: *mut c_int) -> c_uint,
pub get_connection_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut u64) -> c_uint,
pub get_connection_variable_as_double: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut c_double) -> c_uint,
pub get_connection_variable_as_string: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut *mut c_char) -> c_uint,
pub clean_up_connection_info: extern "C" fn(server_connection_handler_id: u64, client_id: u16) -> c_uint,
pub request_client_dbid_from_uid: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint,
pub request_client_name_from_uid: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint,
pub request_client_name_from_dbid: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_client_edit_description: extern "C" fn(server_connection_handler_id: u64, client_id: u16, client_description: *const c_char, return_code: *const c_char) -> c_uint,
pub request_client_set_is_talker: extern "C" fn(server_connection_handler_id: u64, client_id: u16, is_talker: c_int, return_code: *const c_char) -> c_uint,
pub request_is_talker: extern "C" fn(server_connection_handler_id: u64, is_talker_request: c_int, is_talker_request_message: *const c_char, return_code: *const c_char) -> c_uint,
pub request_send_client_query_command: extern "C" fn(server_connection_handler_id: u64, command: *const c_char, return_code: *const c_char) -> c_uint,
pub get_transfer_file_name: extern "C" fn(transfer_id: u16, result: *mut *mut c_char) -> c_uint,
pub get_transfer_file_path: extern "C" fn(transfer_id: u16, result: *mut *mut c_char) -> c_uint,
pub get_transfer_file_size: extern "C" fn(transfer_id: u16, result: *mut u64) -> c_uint,
pub get_transfer_file_size_done: extern "C" fn(transfer_id: u16, result: *mut u64) -> c_uint,
pub is_transfer_sender: extern "C" fn(transfer_id: u16, result: *mut c_int) -> c_uint,
pub get_transfer_status: extern "C" fn(transfer_id: u16, result: *mut c_int) -> c_uint,
pub get_current_transfer_speed: extern "C" fn(transfer_id: u16, result: *mut c_float) -> c_uint,
pub get_average_transfer_speed: extern "C" fn(transfer_id: u16, result: *mut c_float) -> c_uint,
pub get_transfer_run_time: extern "C" fn(transfer_id: u16, result: *mut u64) -> c_uint,
pub send_file: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *const c_char, overwrite: c_int, resume: c_int, source_directory: *const c_char, result: *mut u16, return_code: *const c_char) -> c_uint,
pub request_file: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *const c_char, overwrite: c_int, resume: c_int, destination_directory: *const c_char, result: *mut u16, return_code: *const c_char) -> c_uint,
pub halt_transfer: extern "C" fn(server_connection_handler_id: u64, transfer_id: u16, delete_unfinished_file: c_int, return_code: *const c_char) -> c_uint,
pub request_file_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, path: *const c_char, return_code: *const c_char) -> c_uint,
pub request_file_info: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *const c_char, return_code: *const c_char) -> c_uint,
pub request_delete_file: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *mut *const c_char, return_code: *const c_char) -> c_uint,
pub request_create_directory: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, directory_path: *const char, return_code: *const char) -> c_uint,
pub requset_rename_file: extern "C" fn(server_connection_handler_id: u64, from_channel_id: u64, channel_pw: *const c_char, to_channel_id: u64, to_channel_pw: *const c_char, old_file: *const c_char, new_file: *const c_char, return_code: *const c_char) -> c_uint,
pub request_message_add: extern "C" fn(server_connection_handler_id: u64, to_client_uid: *const c_char, subject: *const c_char, message: *const c_char, return_code: *const c_char) -> c_uint,
pub request_message_del: extern "C" fn(server_connection_handler_id: u64, message_id: u64, return_code: *const c_char) -> c_uint,
pub request_message_get: extern "C" fn(server_connection_handler_id: u64, message_id: u64, return_code: *const c_char) -> c_uint,
pub request_message_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_message_update_flag: extern "C" fn(server_connection_handler_id: u64, message_id: u64, flag: c_int, return_code: *const c_char) -> c_uint,
pub verify_server_password: extern "C" fn(server_connection_handler_id: u64, server_password: *const c_char, return_code: *const c_char) -> c_uint,
pub verify_channel_password: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_password: *const c_char, return_code: *const c_char) -> c_uint,
pub banclient: extern "C" fn(server_connection_handler_id: u64, client_id: u16, time_in_seconds: u64, ban_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub banadd: extern "C" fn(server_connection_handler_id: u64, ip_reg_exp: *const c_char, name_regexp: *const c_char, unique_identity: *const c_char, myts_id: *const c_char, time_in_seconds: u64, ban_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub banclient_dbid: extern "C" fn(server_connection_handler_id: u64, client_dbid: u64, time_in_seconds: u64, ban_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub bandel: extern "C" fn(server_connection_handler_id: u64, ban_id: u64, return_code: *const c_char) -> c_uint,
pub bandelall: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_ban_list: extern "C" fn(server_connection_handler_id: u64, start: u64, duration: c_uint, return_code: *const c_char) -> c_uint,
pub request_complain_add: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, complain_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub request_complain_del: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, from_client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_complain_del_all: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_complain_list: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_server_group_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_server_group_add: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, group_type: c_int, return_code: *const c_char) -> c_uint,
pub request_server_group_del: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, force: c_int, return_code: *const c_char) -> c_uint,
pub request_server_group_add_client: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_server_group_del_client: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_server_groups_by_client_id: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_server_group_add_perm: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, permission_value_array: *const c_int, permission_negated_array: *const c_int, permission_skip_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_server_group_del_perm: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_server_group_perm_list: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, return_code: *const c_char) -> c_uint,
pub request_server_group_client_list: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, with_names: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_group_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_channel_group_add: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, group_type: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_group_del: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, force: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_group_add_perm: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, permission_value_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_group_del_perm: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_group_perm_list: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, return_code: *const c_char) -> c_uint,
pub request_set_client_channel_group: extern "C" fn(server_connection_handler_id: u64, channel_group_id_array: *const u64, channel_id_array: *const u64, client_database_id_array: *const u64, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_add_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, permission_id_array: *const c_uint, permission_value_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_del_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_perm_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
pub request_client_add_perm: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, permission_id_array: *const c_uint, permission_value_array: *const c_int, permission_skip_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_client_del_perm: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_client_perm_list: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
pub request_channel_client_add_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, permission_id_array: *const c_uint, permission_value_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_client_del_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint,
pub request_channel_client_perm_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
pub priviledge_key_use: extern "C" fn(server_connection_handler_id: u64, token_key: *const c_char, return_code: *const c_char) -> c_uint,
pub request_permission_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub request_permission_overview: extern "C" fn(server_connection_handler_id: u64, client_dbid: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
pub client_property_string_to_flag: extern "C" fn(client_property_string: *const c_char, result_flag: *mut usize) -> c_uint,
pub channel_property_string_to_flag: extern "C" fn(channel_property_string: *const c_char, result_flag: *mut usize) -> c_uint,
pub server_property_string_to_flag: extern "C" fn(server_property_string: *const c_char, result_flag: *mut usize) -> c_uint,
pub get_app_path: extern "C" fn(path: *mut c_char, max_len: usize),
pub get_resources_path: extern "C" fn(path: *mut c_char, max_len: usize),
pub get_config_path: extern "C" fn(path: *mut c_char, max_len: usize),
pub get_plugin_path: extern "C" fn(path: *mut c_char, max_len: usize, plugin_id: *const c_char),
pub get_current_server_connection_handler_id: extern "C" fn() -> u64,
pub print_message: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, message_target: MessageTarget),
pub print_message_to_current_tab: extern "C" fn(message: *const c_char),
pub urls_to_bb: extern "C" fn(text: *const c_char, result: *mut c_char, max_len: usize),
pub send_plugin_command: extern "C" fn(server_connection_handler_id: u64, plugin_id: *const c_char, command: *const c_char, target_mode: c_int, target_ids: *const u16, return_code: *const c_char),
pub get_directories: extern "C" fn(path: *const c_char, result: *mut c_char, max_len: usize),
pub get_server_connect_info: extern "C" fn(sc_handler_id: u64, host: *mut c_char, port: *mut c_ushort, password: *mut c_char, max_len: usize) -> c_uint,
pub get_channel_connection_info: extern "C" fn(sc_handler_id: u64, channel_id: u64, path: *mut c_char, password: *mut c_char, max_len: usize) -> c_uint,
pub create_return_code: extern "C" fn(plugin_id: *const c_char, return_code: *mut c_char, max_len: usize),
pub request_info_update: extern "C" fn(sc_handler_id: u64, item_type: ItemType, item_id: u64) -> c_uint,
pub get_server_version: extern "C" fn(sc_handler_id: u64) -> u64,
pub is_whispering: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_int) -> c_uint,
pub is_receiving_whisper: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_int) -> c_uint,
pub get_avatar: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_char, max_len: usize) -> c_uint,
pub set_plugin_menu_enabled: extern "C" fn(plugin_id: *const c_char, menu_id: c_int, enabled: c_int),
pub show_hotkey_setup: extern "C" fn(),
pub request_hotkey_input_dialog: extern "C" fn(plugin_id: *const c_char, _: *const c_char, _: c_int, _: *mut c_void),
pub get_hotkey_from_keyword: extern "C" fn(plugin_id: *const c_char, keywords: *mut *const c_char, hotkeys: *mut *mut c_char, array_len: usize, hotkey_buf_size: usize) -> c_uint,
pub get_client_display_name: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_char, max_len: usize) -> c_uint,
pub get_bookmark_list: extern "C" fn(list: *mut *mut BookmarkList) -> c_uint,
pub get_profile_list: extern "C" fn(profile: GuiProfile, default_profile_idx: *mut c_int, result: *mut *mut *mut c_char) -> c_uint,
pub gui_connect: extern "C" fn(connect_tab: ConnectTab, server_label: *const c_char, server_address: *const c_char, server_password: *const c_char, nickname: *const c_char, channel: *const c_char, channel_password: *const c_char, capture_profile: *const c_char, playback_profile: *const c_char, hotkey_profile: *const c_char, sound_profile: *const c_char, user_identity: *const c_char, one_time_key: *const c_char, phonetic_name: *const c_char, sc_handler_id: *mut u64) -> c_uint,
pub gui_connect_bookmark: extern "C" fn(connect_tab: ConnectTab, bookmarkuuid: *const c_char, sc_handler_id: *mut u64) -> c_uint,
pub create_bookmark: extern "C" fn(bookmarkuuid: *const c_char, server_label: *const c_char, server_address: *const c_char, server_password: *const c_char, nickname: *const c_char, channel: *const c_char, channel_password: *const c_char, capture_profile: *const c_char, playback_profile: *const c_char, hotkey_profile: *const c_char, sound_profile: *const c_char, unique_user_id: *const c_char, one_time_key: *const c_char, phonetic_name: *const c_char) -> c_uint,
pub get_permission_id_by_name: extern "C" fn(server_connection_handler_id: u64, permission_name: *const c_char, result: *mut c_uint) -> c_uint,
pub get_client_needed_permission: extern "C" fn(server_connection_handler_id: u64, permission_name: *const c_char, result: *mut c_int) -> c_uint,
pub notify_key_event: extern "C" fn(plugin_id: *const c_char, key_identifier: *const c_char, up_down: c_int),
pub start_recording: extern "C" fn(server_connection_handler_id: u64, multitrack: c_int, no_file_selector: c_int, path: *const c_char) -> c_uint,
pub stop_recording: extern "C" fn(server_connection_handler_id: u64) -> c_uint,
pub request_clients_move: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, new_channel_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint,
pub request_clients_kick_from_channel: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub request_clients_kick_from_server: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
pub request_mute_clients_temporary: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
pub request_unmute_clients_temporary: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
pub get_permission_name_by_id: extern "C" fn(sc_handler_id: u64, permission_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint,
pub client_property_flag_to_string: extern "C" fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint,
pub channel_property_flag_to_string: extern "C" fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint,
pub server_property_flag_to_string: extern "C" fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint,
pub set_server_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: c_int) -> c_uint,
pub set_server_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: u64) -> c_uint,
pub set_server_variable_as_double: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: f64) -> c_uint,
pub set_server_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: *const c_char) -> c_uint,
pub flush_server_updates: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
pub get_server_group_id_by_name: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, result: *mut c_uint) -> c_uint,
pub get_server_group_name_by_id: extern "C" fn(sc_handler_id: u64, group_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint,
pub get_channel_group_id_by_name: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, result: *mut c_uint) -> c_uint,
pub get_channel_group_name_by_id: extern "C" fn(sc_handler_id: u64, group_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint,
}
Expand description
Functions exported to plugin from main binary
Fields§
§get_client_lib_version: extern "C" fn(result: *mut *mut c_char) -> c_uint
§get_client_lib_version_number: extern "C" fn(result: *mut u64) -> c_uint
§spawn_new_server_connection_handler: extern "C" fn(port: c_int, result: *mut u64) -> c_uint
§destroy_server_connection_handler: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§get_error_message: extern "C" fn(error_code: c_uint, error: *mut *mut c_char) -> c_uint
Error handling
free_memory: extern "C" fn(pointer: *mut c_void) -> c_uint
Memory management
log_message: extern "C" fn(log_message: *const c_char, severity: LogLevel, channel: *const c_char, log_id: u64) -> c_uint
Logging
get_playback_device_list: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut *mut c_char) -> c_uint
Sound
get_playback_mode_list: extern "C" fn(result: *mut *mut *mut c_char) -> c_uint
§get_capture_device_list: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut *mut c_char) -> c_uint
§get_capture_mode_list: extern "C" fn(result: *mut *mut *mut c_char) -> c_uint
§get_default_playback_device: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut c_char) -> c_uint
§get_default_playback_mode: extern "C" fn(result: *mut *mut c_char) -> c_uint
§get_default_capture_device: extern "C" fn(mode_id: *const c_char, result: *mut *mut *mut c_char) -> c_uint
§get_default_capture_mode: extern "C" fn(result: *mut *mut c_char) -> c_uint
§open_playback_device: extern "C" fn(server_connection_handler_id: u64, mode_id: *const c_char, playback_device: *const c_char) -> c_uint
§open_capture_device: extern "C" fn(server_connection_handler_id: u64, mode_id: *const c_char, capture_device: *const c_char) -> c_uint
§get_current_playback_device_name: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char, is_default: *mut c_int) -> c_uint
§get_current_play_back_mode: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char) -> c_uint
§get_current_capture_device_name: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char, is_default: *mut c_int) -> c_uint
§get_current_capture_mode: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut c_char) -> c_uint
§initiate_graceful_playback_shutdown: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§close_playback_device: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§close_capture_device: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§activate_capture_device: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§play_wave_file_handle: extern "C" fn(server_connection_handler_id: u64, path: *const c_char, play_loop: c_int, wave_handle: *mut u64) -> c_uint
§pause_wave_file_handle: extern "C" fn(server_connection_handler_id: u64, wave_handle: u64, pause: c_int) -> c_uint
§close_wave_file_handle: extern "C" fn(server_connection_handler_id: u64, wave_handle: u64) -> c_uint
§play_wave_file: extern "C" fn(server_connection_handler_id: u64, path: *const c_char) -> c_uint
§register_custom_device: extern "C" fn(device_id: *const c_char, device_display_name: *const c_char, cap_frequency: c_int, cap_channels: c_int, play_frequency: c_int, play_channels: c_int) -> c_uint
§unregister_custom_device: extern "C" fn(device_id: *const c_char) -> c_uint
§process_custom_capture_data: extern "C" fn(device_name: *const c_char, buffer: *const c_short, samples: c_int) -> c_uint
§acquire_custom_playback_data: extern "C" fn(device_name: *const c_char, buffer: *mut c_short, samples: c_int) -> c_uint
§get_pre_processor_info_value_float: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut c_float) -> c_uint
Preprocessor
get_pre_processor_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut *mut c_char) -> c_uint
§set_pre_processor_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, value: *const c_char) -> c_uint
§get_encode_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut *mut c_char) -> c_uint
Encoder
get_playback_config_value_as_float: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut c_float) -> c_uint
Playback
set_playback_config_value: extern "C" fn(server_connection_handler_id: u64, ident: *const c_char, value: *const c_char) -> c_uint
§set_client_volume_modifier: extern "C" fn(server_connection_handler_id: u64, client_id: u16, value: c_float) -> c_uint
§start_voice_recording: extern "C" fn(server_connection_handler_id: u64) -> c_uint
Recording
stop_voice_recording: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§systemset3d_listener_attributes: extern "C" fn(server_connection_handler_id: u64, position: *const Ts3Vector, forward: *const Ts3Vector, up: *const Ts3Vector) -> c_uint
3D sound positioning
set3d_wave_attributes: extern "C" fn(server_connection_handler_id: u64, wave_handle: u64, position: *const Ts3Vector) -> c_uint
§systemset3d_settings: extern "C" fn(server_connection_handler_id: u64, distance_factor: c_float, rolloff_scale: c_float) -> c_uint
§channelset3d_attributes: extern "C" fn(server_connection_handler_id: u64, client_id: u16, position: *const Ts3Vector) -> c_uint
§start_connection: extern "C" fn(server_connection_handler_id: u64, identity: *const c_char, ip: *const c_char, port: c_uint, nickname: *const c_char, default_channel_array: *const *const c_char, default_channel_password: *const c_char, server_password: *const c_char) -> c_uint
Interaction with the server
stop_connection: extern "C" fn(server_connection_handler_id: u64, quit_message: *const c_char) -> c_uint
§request_client_move: extern "C" fn(server_connection_handler_id: u64, client_id: u16, new_channel_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint
§request_client_variables: extern "C" fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint
§request_client_kick_from_channel: extern "C" fn(server_connection_handler_id: u64, client_id: u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint
§request_client_kick_from_server: extern "C" fn(server_connection_handler_id: u64, client_id: u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint
§request_channel_delete: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, force: c_int, return_code: *const c_char) -> c_uint
§request_channel_move: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, new_channel_parent_id: u64, new_channel_order: u64, return_code: *const c_char) -> c_uint
§request_send_private_text_msg: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, target_client_id: u16, return_code: *const c_char) -> c_uint
§request_send_channel_text_msg: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, target_channel_id: u64, return_code: *const c_char) -> c_uint
§request_send_server_text_msg: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, return_code: *const c_char) -> c_uint
§request_connection_info: extern "C" fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint
§request_client_set_whisper_list: extern "C" fn(server_connection_handler_id: u64, client_id: u16, target_channel_id_array: *const u64, target_client_id_array: *const u16, return_code: *const c_char) -> c_uint
§request_channel_subscribe: extern "C" fn(server_connection_handler_id: u64, channel_id_array: *const u64, return_code: *const c_char) -> c_uint
§request_channel_subscribe_all: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§request_channel_unsubscribe: extern "C" fn(server_connection_handler_id: u64, channel_id_array: *const u64, return_code: *const c_char) -> c_uint
§request_channel_unsubscribe_all: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§request_channel_description: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint
§request_mute_clients: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint
§requset_unmute_clients: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint
§request_client_poke: extern "C" fn(server_connection_handler_id: u64, client_id: u16, message: *const c_char, return_code: *const c_char) -> c_uint
§request_client_ids: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint
§client_chat_closed: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, client_id: u16, return_code: *const c_char) -> c_uint
§client_chat_composing: extern "C" fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint
§request_server_temporary_password_add: extern "C" fn(server_connection_handler_id: u64, password: *const c_char, description: *const c_char, duration: u64, target_channel_id: u64, target_channel_pw: *const c_char, return_code: *const c_char) -> c_uint
§request_server_temporary_password_del: extern "C" fn(server_connection_handler_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint
§request_server_temporary_password_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§get_client_id: extern "C" fn(server_connection_handler_id: u64, result: *mut u16) -> c_uint
Access clientlib information Query own client id
get_client_self_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut c_int) -> c_uint
Client info
get_client_self_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint
§set_client_self_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: c_int) -> c_uint
§set_client_self_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: *const c_char) -> c_uint
§flush_client_self_updates: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§get_client_variable_as_int: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut c_int) -> c_uint
§get_client_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut u64) -> c_uint
§get_client_variable_as_string: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut *mut c_char) -> c_uint
§get_client_list: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut u16) -> c_uint
§get_channel_of_client: extern "C" fn(server_connection_handler_id: u64, client_id: u16, result: *mut u64) -> c_uint
§get_channel_variable_as_int: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut c_int) -> c_uint
Channel info
get_channel_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut u64) -> c_uint
§get_channel_variable_as_string: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint
§get_channel_id_from_channel_names: extern "C" fn(server_connection_handler_id: u64, channel_name_array: *mut *mut c_char, result: *mut u64) -> c_uint
§set_channel_variable_as_int: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: c_int) -> c_uint
§set_channel_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: u64) -> c_uint
§set_channel_variable_as_string: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: *const c_char) -> c_uint
§flush_channel_updates: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint
§flush_channel_creation: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint
§get_channel_list: extern "C" fn(server_connection_handler_id: u64, result: *mut *mut u64) -> c_uint
§get_channel_client_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, result: *mut *mut u16) -> c_uint
§get_parent_channel_of_channel: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, result: *mut u64) -> c_uint
§get_server_connection_handler_list: extern "C" fn(result: *mut *mut u64) -> c_uint
Server info
get_server_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut c_int) -> c_uint
§get_server_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut u64) -> c_uint
§get_server_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint
§request_server_variables: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§get_connection_status: extern "C" fn(server_connection_handler_id: u64, result: *mut c_int) -> c_uint
Connection info
get_connection_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut u64) -> c_uint
§get_connection_variable_as_double: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut c_double) -> c_uint
§get_connection_variable_as_string: extern "C" fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut *mut c_char) -> c_uint
§clean_up_connection_info: extern "C" fn(server_connection_handler_id: u64, client_id: u16) -> c_uint
§request_client_dbid_from_uid: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint
Client related
request_client_name_from_uid: extern "C" fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint
§request_client_name_from_dbid: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint
§request_client_edit_description: extern "C" fn(server_connection_handler_id: u64, client_id: u16, client_description: *const c_char, return_code: *const c_char) -> c_uint
§request_client_set_is_talker: extern "C" fn(server_connection_handler_id: u64, client_id: u16, is_talker: c_int, return_code: *const c_char) -> c_uint
§request_is_talker: extern "C" fn(server_connection_handler_id: u64, is_talker_request: c_int, is_talker_request_message: *const c_char, return_code: *const c_char) -> c_uint
§request_send_client_query_command: extern "C" fn(server_connection_handler_id: u64, command: *const c_char, return_code: *const c_char) -> c_uint
Plugin related
get_transfer_file_name: extern "C" fn(transfer_id: u16, result: *mut *mut c_char) -> c_uint
Filetransfer
get_transfer_file_path: extern "C" fn(transfer_id: u16, result: *mut *mut c_char) -> c_uint
§get_transfer_file_size: extern "C" fn(transfer_id: u16, result: *mut u64) -> c_uint
§get_transfer_file_size_done: extern "C" fn(transfer_id: u16, result: *mut u64) -> c_uint
§is_transfer_sender: extern "C" fn(transfer_id: u16, result: *mut c_int) -> c_uint
1 == upload, 0 == download
get_transfer_status: extern "C" fn(transfer_id: u16, result: *mut c_int) -> c_uint
§get_current_transfer_speed: extern "C" fn(transfer_id: u16, result: *mut c_float) -> c_uint
§get_average_transfer_speed: extern "C" fn(transfer_id: u16, result: *mut c_float) -> c_uint
§get_transfer_run_time: extern "C" fn(transfer_id: u16, result: *mut u64) -> c_uint
§send_file: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *const c_char, overwrite: c_int, resume: c_int, source_directory: *const c_char, result: *mut u16, return_code: *const c_char) -> c_uint
§request_file: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *const c_char, overwrite: c_int, resume: c_int, destination_directory: *const c_char, result: *mut u16, return_code: *const c_char) -> c_uint
§halt_transfer: extern "C" fn(server_connection_handler_id: u64, transfer_id: u16, delete_unfinished_file: c_int, return_code: *const c_char) -> c_uint
§request_file_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, path: *const c_char, return_code: *const c_char) -> c_uint
§request_file_info: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *const c_char, return_code: *const c_char) -> c_uint
§request_delete_file: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, file: *mut *const c_char, return_code: *const c_char) -> c_uint
§request_create_directory: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, directory_path: *const char, return_code: *const char) -> c_uint
§requset_rename_file: extern "C" fn(server_connection_handler_id: u64, from_channel_id: u64, channel_pw: *const c_char, to_channel_id: u64, to_channel_pw: *const c_char, old_file: *const c_char, new_file: *const c_char, return_code: *const c_char) -> c_uint
§request_message_add: extern "C" fn(server_connection_handler_id: u64, to_client_uid: *const c_char, subject: *const c_char, message: *const c_char, return_code: *const c_char) -> c_uint
Offline message management
request_message_del: extern "C" fn(server_connection_handler_id: u64, message_id: u64, return_code: *const c_char) -> c_uint
§request_message_get: extern "C" fn(server_connection_handler_id: u64, message_id: u64, return_code: *const c_char) -> c_uint
§request_message_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§request_message_update_flag: extern "C" fn(server_connection_handler_id: u64, message_id: u64, flag: c_int, return_code: *const c_char) -> c_uint
§verify_server_password: extern "C" fn(server_connection_handler_id: u64, server_password: *const c_char, return_code: *const c_char) -> c_uint
Interacting with the server - confirming passwords
verify_channel_password: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, channel_password: *const c_char, return_code: *const c_char) -> c_uint
§banclient: extern "C" fn(server_connection_handler_id: u64, client_id: u16, time_in_seconds: u64, ban_reason: *const c_char, return_code: *const c_char) -> c_uint
Interacting with the server - banning
banadd: extern "C" fn(server_connection_handler_id: u64, ip_reg_exp: *const c_char, name_regexp: *const c_char, unique_identity: *const c_char, myts_id: *const c_char, time_in_seconds: u64, ban_reason: *const c_char, return_code: *const c_char) -> c_uint
§banclient_dbid: extern "C" fn(server_connection_handler_id: u64, client_dbid: u64, time_in_seconds: u64, ban_reason: *const c_char, return_code: *const c_char) -> c_uint
§bandel: extern "C" fn(server_connection_handler_id: u64, ban_id: u64, return_code: *const c_char) -> c_uint
§bandelall: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§request_ban_list: extern "C" fn(server_connection_handler_id: u64, start: u64, duration: c_uint, return_code: *const c_char) -> c_uint
§request_complain_add: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, complain_reason: *const c_char, return_code: *const c_char) -> c_uint
Interacting with the server - complain
request_complain_del: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, from_client_database_id: u64, return_code: *const c_char) -> c_uint
§request_complain_del_all: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, return_code: *const c_char) -> c_uint
§request_complain_list: extern "C" fn(server_connection_handler_id: u64, target_client_database_id: u64, return_code: *const c_char) -> c_uint
§request_server_group_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
Permissions
request_server_group_add: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, group_type: c_int, return_code: *const c_char) -> c_uint
§request_server_group_del: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, force: c_int, return_code: *const c_char) -> c_uint
§request_server_group_add_client: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint
§request_server_group_del_client: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint
§request_server_groups_by_client_id: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint
§request_server_group_add_perm: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, permission_value_array: *const c_int, permission_negated_array: *const c_int, permission_skip_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint
§request_server_group_del_perm: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint
§request_server_group_perm_list: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, return_code: *const c_char) -> c_uint
§request_server_group_client_list: extern "C" fn(server_connection_handler_id: u64, server_group_id: u64, with_names: c_int, return_code: *const c_char) -> c_uint
§request_channel_group_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§request_channel_group_add: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, group_type: c_int, return_code: *const c_char) -> c_uint
§request_channel_group_del: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, force: c_int, return_code: *const c_char) -> c_uint
§request_channel_group_add_perm: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, permission_value_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_group_del_perm: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, continue_on_error: c_int, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_group_perm_list: extern "C" fn(server_connection_handler_id: u64, channel_group_id: u64, return_code: *const c_char) -> c_uint
§request_set_client_channel_group: extern "C" fn(server_connection_handler_id: u64, channel_group_id_array: *const u64, channel_id_array: *const u64, client_database_id_array: *const u64, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_add_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, permission_id_array: *const c_uint, permission_value_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_del_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_perm_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint
§request_client_add_perm: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, permission_id_array: *const c_uint, permission_value_array: *const c_int, permission_skip_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint
§request_client_del_perm: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint
§request_client_perm_list: extern "C" fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint
§request_channel_client_add_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, permission_id_array: *const c_uint, permission_value_array: *const c_int, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_client_del_perm: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, permission_id_array: *const c_uint, array_size: c_int, return_code: *const c_char) -> c_uint
§request_channel_client_perm_list: extern "C" fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint
§priviledge_key_use: extern "C" fn(server_connection_handler_id: u64, token_key: *const c_char, return_code: *const c_char) -> c_uint
§request_permission_list: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§request_permission_overview: extern "C" fn(server_connection_handler_id: u64, client_dbid: u64, channel_id: u64, return_code: *const c_char) -> c_uint
§client_property_string_to_flag: extern "C" fn(client_property_string: *const c_char, result_flag: *mut usize) -> c_uint
Helper functions
channel_property_string_to_flag: extern "C" fn(channel_property_string: *const c_char, result_flag: *mut usize) -> c_uint
§server_property_string_to_flag: extern "C" fn(server_property_string: *const c_char, result_flag: *mut usize) -> c_uint
§get_app_path: extern "C" fn(path: *mut c_char, max_len: usize)
Client functions
get_resources_path: extern "C" fn(path: *mut c_char, max_len: usize)
§get_config_path: extern "C" fn(path: *mut c_char, max_len: usize)
§get_plugin_path: extern "C" fn(path: *mut c_char, max_len: usize, plugin_id: *const c_char)
§get_current_server_connection_handler_id: extern "C" fn() -> u64
§print_message: extern "C" fn(server_connection_handler_id: u64, message: *const c_char, message_target: MessageTarget)
§print_message_to_current_tab: extern "C" fn(message: *const c_char)
§urls_to_bb: extern "C" fn(text: *const c_char, result: *mut c_char, max_len: usize)
§send_plugin_command: extern "C" fn(server_connection_handler_id: u64, plugin_id: *const c_char, command: *const c_char, target_mode: c_int, target_ids: *const u16, return_code: *const c_char)
§get_directories: extern "C" fn(path: *const c_char, result: *mut c_char, max_len: usize)
§get_server_connect_info: extern "C" fn(sc_handler_id: u64, host: *mut c_char, port: *mut c_ushort, password: *mut c_char, max_len: usize) -> c_uint
§get_channel_connection_info: extern "C" fn(sc_handler_id: u64, channel_id: u64, path: *mut c_char, password: *mut c_char, max_len: usize) -> c_uint
§create_return_code: extern "C" fn(plugin_id: *const c_char, return_code: *mut c_char, max_len: usize)
§request_info_update: extern "C" fn(sc_handler_id: u64, item_type: ItemType, item_id: u64) -> c_uint
§get_server_version: extern "C" fn(sc_handler_id: u64) -> u64
§is_whispering: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_int) -> c_uint
§is_receiving_whisper: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_int) -> c_uint
§get_avatar: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_char, max_len: usize) -> c_uint
§show_hotkey_setup: extern "C" fn()
§request_hotkey_input_dialog: extern "C" fn(plugin_id: *const c_char, _: *const c_char, _: c_int, _: *mut c_void)
§get_hotkey_from_keyword: extern "C" fn(plugin_id: *const c_char, keywords: *mut *const c_char, hotkeys: *mut *mut c_char, array_len: usize, hotkey_buf_size: usize) -> c_uint
§get_client_display_name: extern "C" fn(sc_handler_id: u64, client_id: u16, result: *mut c_char, max_len: usize) -> c_uint
§get_bookmark_list: extern "C" fn(list: *mut *mut BookmarkList) -> c_uint
§get_profile_list: extern "C" fn(profile: GuiProfile, default_profile_idx: *mut c_int, result: *mut *mut *mut c_char) -> c_uint
§gui_connect: extern "C" fn(connect_tab: ConnectTab, server_label: *const c_char, server_address: *const c_char, server_password: *const c_char, nickname: *const c_char, channel: *const c_char, channel_password: *const c_char, capture_profile: *const c_char, playback_profile: *const c_char, hotkey_profile: *const c_char, sound_profile: *const c_char, user_identity: *const c_char, one_time_key: *const c_char, phonetic_name: *const c_char, sc_handler_id: *mut u64) -> c_uint
§gui_connect_bookmark: extern "C" fn(connect_tab: ConnectTab, bookmarkuuid: *const c_char, sc_handler_id: *mut u64) -> c_uint
§create_bookmark: extern "C" fn(bookmarkuuid: *const c_char, server_label: *const c_char, server_address: *const c_char, server_password: *const c_char, nickname: *const c_char, channel: *const c_char, channel_password: *const c_char, capture_profile: *const c_char, playback_profile: *const c_char, hotkey_profile: *const c_char, sound_profile: *const c_char, unique_user_id: *const c_char, one_time_key: *const c_char, phonetic_name: *const c_char) -> c_uint
§get_permission_id_by_name: extern "C" fn(server_connection_handler_id: u64, permission_name: *const c_char, result: *mut c_uint) -> c_uint
§get_client_needed_permission: extern "C" fn(server_connection_handler_id: u64, permission_name: *const c_char, result: *mut c_int) -> c_uint
§notify_key_event: extern "C" fn(plugin_id: *const c_char, key_identifier: *const c_char, up_down: c_int)
§start_recording: extern "C" fn(server_connection_handler_id: u64, multitrack: c_int, no_file_selector: c_int, path: *const c_char) -> c_uint
Single-Track/Multi-Track recording
stop_recording: extern "C" fn(server_connection_handler_id: u64) -> c_uint
§request_clients_move: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, new_channel_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint
Convenience functions
request_clients_kick_from_channel: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint
§request_clients_kick_from_server: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint
§request_mute_clients_temporary: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint
§request_unmute_clients_temporary: extern "C" fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint
§get_permission_name_by_id: extern "C" fn(sc_handler_id: u64, permission_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint
§client_property_flag_to_string: extern "C" fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint
§channel_property_flag_to_string: extern "C" fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint
§server_property_flag_to_string: extern "C" fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint
§set_server_variable_as_int: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: c_int) -> c_uint
Server editing
set_server_variable_as_uint64: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: u64) -> c_uint
§set_server_variable_as_double: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: f64) -> c_uint
§set_server_variable_as_string: extern "C" fn(server_connection_handler_id: u64, flag: usize, value: *const c_char) -> c_uint
§flush_server_updates: extern "C" fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint
§get_server_group_id_by_name: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, result: *mut c_uint) -> c_uint
Server/Channel group helper functions
get_server_group_name_by_id: extern "C" fn(sc_handler_id: u64, group_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint
§get_channel_group_id_by_name: extern "C" fn(server_connection_handler_id: u64, group_name: *const c_char, result: *mut c_uint) -> c_uint
§get_channel_group_name_by_id: extern "C" fn(sc_handler_id: u64, group_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint
Auto Trait Implementations§
impl Freeze for Ts3Functions
impl RefUnwindSafe for Ts3Functions
impl Send for Ts3Functions
impl Sync for Ts3Functions
impl Unpin for Ts3Functions
impl UnwindSafe for Ts3Functions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more