1#![cfg_attr(rustfmt, rustfmt::skip)]
3
4use std::os::raw::*;
5
6use crate::public_definitions::*;
7use crate::plugin_definitions::*;
8
9#[repr(C)]
11pub struct Ts3Functions {
12 pub get_client_lib_version: extern fn(result: *mut *mut c_char) -> c_uint,
13 pub get_client_lib_version_number: extern fn(result: *mut u64) -> c_uint,
14 pub spawn_new_server_connection_handler: extern fn(port: c_int, result: *mut u64) -> c_uint,
15 pub destroy_server_connection_handler: extern fn(server_connection_handler_id: u64) -> c_uint,
16
17 pub get_error_message: extern fn(error_code: c_uint, error: *mut *mut c_char) -> c_uint,
19
20 pub free_memory: extern fn(pointer: *mut c_void) -> c_uint,
22
23 pub log_message: extern fn(log_message: *const c_char, severity: LogLevel, channel: *const c_char, log_id: u64) -> c_uint,
25
26 pub get_playback_device_list: extern fn(mode_id: *const c_char, result: *mut *mut *mut *mut c_char) -> c_uint,
28 pub get_playback_mode_list: extern fn(result: *mut *mut *mut c_char) -> c_uint,
29 pub get_capture_device_list: extern fn(mode_id: *const c_char, result: *mut *mut *mut *mut c_char) -> c_uint,
30 pub get_capture_mode_list: extern fn(result: *mut *mut *mut c_char) -> c_uint,
31 pub get_default_playback_device: extern fn(mode_id: *const c_char, result: *mut *mut *mut c_char) -> c_uint,
32 pub get_default_playback_mode: extern fn(result: *mut *mut c_char) -> c_uint,
33 pub get_default_capture_device: extern fn(mode_id: *const c_char, result: *mut *mut *mut c_char) -> c_uint,
34 pub get_default_capture_mode: extern fn(result: *mut *mut c_char) -> c_uint,
35 pub open_playback_device: extern fn(server_connection_handler_id: u64, mode_id: *const c_char, playback_device: *const c_char) -> c_uint,
36 pub open_capture_device: extern fn(server_connection_handler_id: u64, mode_id: *const c_char, capture_device: *const c_char) -> c_uint,
37 pub get_current_playback_device_name: extern fn(server_connection_handler_id: u64, result: *mut *mut c_char, is_default: *mut c_int) -> c_uint,
38 pub get_current_play_back_mode: extern fn(server_connection_handler_id: u64, result: *mut *mut c_char) -> c_uint,
39 pub get_current_capture_device_name: extern fn(server_connection_handler_id: u64, result: *mut *mut c_char, is_default: *mut c_int) -> c_uint,
40 pub get_current_capture_mode: extern fn(server_connection_handler_id: u64, result: *mut *mut c_char) -> c_uint,
41 pub initiate_graceful_playback_shutdown: extern fn(server_connection_handler_id: u64) -> c_uint,
42 pub close_playback_device: extern fn(server_connection_handler_id: u64) -> c_uint,
43 pub close_capture_device: extern fn(server_connection_handler_id: u64) -> c_uint,
44 pub activate_capture_device: extern fn(server_connection_handler_id: u64) -> c_uint,
45 pub play_wave_file_handle: extern fn(server_connection_handler_id: u64, path: *const c_char, play_loop: c_int, wave_handle: *mut u64) -> c_uint,
46 pub pause_wave_file_handle: extern fn(server_connection_handler_id: u64, wave_handle: u64, pause: c_int) -> c_uint,
47 pub close_wave_file_handle: extern fn(server_connection_handler_id: u64, wave_handle: u64) -> c_uint,
48 pub play_wave_file: extern fn(server_connection_handler_id: u64, path: *const c_char) -> c_uint,
49 pub register_custom_device: extern 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,
50 pub unregister_custom_device: extern fn(device_id: *const c_char) -> c_uint,
51 pub process_custom_capture_data: extern fn(device_name: *const c_char, buffer: *const c_short, samples: c_int) -> c_uint,
52 pub acquire_custom_playback_data: extern fn(device_name: *const c_char, buffer: *mut c_short, samples: c_int) -> c_uint,
53
54 pub get_pre_processor_info_value_float: extern fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut c_float) -> c_uint,
56 pub get_pre_processor_config_value: extern fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut *mut c_char) -> c_uint,
57 pub set_pre_processor_config_value: extern fn(server_connection_handler_id: u64, ident: *const c_char, value: *const c_char) -> c_uint,
58
59 pub get_encode_config_value: extern fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut *mut c_char) -> c_uint,
61
62 pub get_playback_config_value_as_float: extern fn(server_connection_handler_id: u64, ident: *const c_char, result: *mut c_float) -> c_uint,
64 pub set_playback_config_value: extern fn(server_connection_handler_id: u64, ident: *const c_char, value: *const c_char) -> c_uint,
65 pub set_client_volume_modifier: extern fn(server_connection_handler_id: u64, client_id: u16, value: c_float) -> c_uint,
66
67 pub start_voice_recording: extern fn(server_connection_handler_id: u64) -> c_uint,
69 pub stop_voice_recording: extern fn(server_connection_handler_id: u64) -> c_uint,
70
71 pub systemset3d_listener_attributes: extern fn(server_connection_handler_id: u64, position: *const Ts3Vector, forward: *const Ts3Vector, up: *const Ts3Vector) -> c_uint,
73 pub set3d_wave_attributes: extern fn(server_connection_handler_id: u64, wave_handle: u64, position: *const Ts3Vector) -> c_uint,
74 pub systemset3d_settings: extern fn(server_connection_handler_id: u64, distance_factor: c_float, rolloff_scale: c_float) -> c_uint,
75 pub channelset3d_attributes: extern fn(server_connection_handler_id: u64, client_id: u16, position: *const Ts3Vector) -> c_uint,
76
77 pub start_connection: extern 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,
79 pub stop_connection: extern fn(server_connection_handler_id: u64, quit_message: *const c_char) -> c_uint,
80 pub request_client_move: extern fn(server_connection_handler_id: u64, client_id: u16, new_channel_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint,
81 pub request_client_variables: extern fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint,
82 pub request_client_kick_from_channel: extern fn(server_connection_handler_id: u64, client_id: u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
83 pub request_client_kick_from_server: extern fn(server_connection_handler_id: u64, client_id: u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
84 pub request_channel_delete: extern fn(server_connection_handler_id: u64, channel_id: u64, force: c_int, return_code: *const c_char) -> c_uint,
85 pub request_channel_move: extern 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,
86 pub request_send_private_text_msg: extern fn(server_connection_handler_id: u64, message: *const c_char, target_client_id: u16, return_code: *const c_char) -> c_uint,
87 pub request_send_channel_text_msg: extern fn(server_connection_handler_id: u64, message: *const c_char, target_channel_id: u64, return_code: *const c_char) -> c_uint,
88 pub request_send_server_text_msg: extern fn(server_connection_handler_id: u64, message: *const c_char, return_code: *const c_char) -> c_uint,
89 pub request_connection_info: extern fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint,
90 pub request_client_set_whisper_list: extern 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,
91 pub request_channel_subscribe: extern fn(server_connection_handler_id: u64, channel_id_array: *const u64, return_code: *const c_char) -> c_uint,
92 pub request_channel_subscribe_all: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
93 pub request_channel_unsubscribe: extern fn(server_connection_handler_id: u64, channel_id_array: *const u64, return_code: *const c_char) -> c_uint,
94 pub request_channel_unsubscribe_all: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
95 pub request_channel_description: extern fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
96 pub request_mute_clients: extern fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
97 pub requset_unmute_clients: extern fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
98 pub request_client_poke: extern fn(server_connection_handler_id: u64, client_id: u16, message: *const c_char, return_code: *const c_char) -> c_uint,
99 pub request_client_ids: extern fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint,
100 pub client_chat_closed: extern fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, client_id: u16, return_code: *const c_char) -> c_uint,
101 pub client_chat_composing: extern fn(server_connection_handler_id: u64, client_id: u16, return_code: *const c_char) -> c_uint,
102 pub request_server_temporary_password_add: extern 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,
103 pub request_server_temporary_password_del: extern fn(server_connection_handler_id: u64, password: *const c_char, return_code: *const c_char) -> c_uint,
104 pub request_server_temporary_password_list: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
105
106 pub get_client_id: extern fn(server_connection_handler_id: u64, result: *mut u16) -> c_uint,
110
111 pub get_client_self_variable_as_int: extern fn(server_connection_handler_id: u64, flag: usize, result: *mut c_int) -> c_uint,
113 pub get_client_self_variable_as_string: extern fn(server_connection_handler_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint,
114 pub set_client_self_variable_as_int: extern fn(server_connection_handler_id: u64, flag: usize, value: c_int) -> c_uint,
115 pub set_client_self_variable_as_string: extern fn(server_connection_handler_id: u64, flag: usize, value: *const c_char) -> c_uint,
116 pub flush_client_self_updates: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
117 pub get_client_variable_as_int: extern fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut c_int) -> c_uint,
118 pub get_client_variable_as_uint64: extern fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut u64) -> c_uint,
119 pub get_client_variable_as_string: extern fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut *mut c_char) -> c_uint,
120 pub get_client_list: extern fn(server_connection_handler_id: u64, result: *mut *mut u16) -> c_uint,
121 pub get_channel_of_client: extern fn(server_connection_handler_id: u64, client_id: u16, result: *mut u64) -> c_uint,
122
123 pub get_channel_variable_as_int: extern fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut c_int) -> c_uint,
125 pub get_channel_variable_as_uint64: extern fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut u64) -> c_uint,
126 pub get_channel_variable_as_string: extern fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint,
127 pub get_channel_id_from_channel_names: extern fn(server_connection_handler_id: u64, channel_name_array: *mut *mut c_char, result: *mut u64) -> c_uint,
128 pub set_channel_variable_as_int: extern fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: c_int) -> c_uint,
129 pub set_channel_variable_as_uint64: extern fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: u64) -> c_uint,
130 pub set_channel_variable_as_string: extern fn(server_connection_handler_id: u64, channel_id: u64, flag: usize, value: *const c_char) -> c_uint,
131 pub flush_channel_updates: extern fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
132 pub flush_channel_creation: extern fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
133 pub get_channel_list: extern fn(server_connection_handler_id: u64, result: *mut *mut u64) -> c_uint,
134 pub get_channel_client_list: extern fn(server_connection_handler_id: u64, channel_id: u64, result: *mut *mut u16) -> c_uint,
135 pub get_parent_channel_of_channel: extern fn(server_connection_handler_id: u64, channel_id: u64, result: *mut u64) -> c_uint,
136
137 pub get_server_connection_handler_list: extern fn(result: *mut *mut u64) -> c_uint,
139 pub get_server_variable_as_int: extern fn(server_connection_handler_id: u64, flag: usize, result: *mut c_int) -> c_uint,
140 pub get_server_variable_as_uint64: extern fn(server_connection_handler_id: u64, flag: usize, result: *mut u64) -> c_uint,
141 pub get_server_variable_as_string: extern fn(server_connection_handler_id: u64, flag: usize, result: *mut *mut c_char) -> c_uint,
142 pub request_server_variables: extern fn(server_connection_handler_id: u64) -> c_uint,
143
144 pub get_connection_status: extern fn(server_connection_handler_id: u64, result: *mut c_int) -> c_uint,
146 pub get_connection_variable_as_uint64: extern fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut u64) -> c_uint,
147 pub get_connection_variable_as_double: extern fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut c_double) -> c_uint,
148 pub get_connection_variable_as_string: extern fn(server_connection_handler_id: u64, client_id: u16, flag: usize, result: *mut *mut c_char) -> c_uint,
149 pub clean_up_connection_info: extern fn(server_connection_handler_id: u64, client_id: u16) -> c_uint,
150
151 pub request_client_dbid_from_uid: extern fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint,
153 pub request_client_name_from_uid: extern fn(server_connection_handler_id: u64, client_unique_identifier: *const c_char, return_code: *const c_char) -> c_uint,
154 pub request_client_name_from_dbid: extern fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
155 pub request_client_edit_description: extern fn(server_connection_handler_id: u64, client_id: u16, client_description: *const c_char, return_code: *const c_char) -> c_uint,
156 pub request_client_set_is_talker: extern fn(server_connection_handler_id: u64, client_id: u16, is_talker: c_int, return_code: *const c_char) -> c_uint,
157 pub request_is_talker: extern 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,
158
159 pub request_send_client_query_command: extern fn(server_connection_handler_id: u64, command: *const c_char, return_code: *const c_char) -> c_uint,
161
162 pub get_transfer_file_name: extern fn(transfer_id: u16, result: *mut *mut c_char) -> c_uint,
164 pub get_transfer_file_path: extern fn(transfer_id: u16, result: *mut *mut c_char) -> c_uint,
165 pub get_transfer_file_size: extern fn(transfer_id: u16, result: *mut u64) -> c_uint,
166 pub get_transfer_file_size_done: extern fn(transfer_id: u16, result: *mut u64) -> c_uint,
167 pub is_transfer_sender: extern fn(transfer_id: u16, result: *mut c_int) -> c_uint,
169 pub get_transfer_status: extern fn(transfer_id: u16, result: *mut c_int) -> c_uint,
170 pub get_current_transfer_speed: extern fn(transfer_id: u16, result: *mut c_float) -> c_uint,
171 pub get_average_transfer_speed: extern fn(transfer_id: u16, result: *mut c_float) -> c_uint,
172 pub get_transfer_run_time: extern fn(transfer_id: u16, result: *mut u64) -> c_uint,
173 pub send_file: extern 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,
174 pub request_file: extern 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,
175 pub halt_transfer: extern fn(server_connection_handler_id: u64, transfer_id: u16, delete_unfinished_file: c_int, return_code: *const c_char) -> c_uint,
176 pub request_file_list: extern 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,
177 pub request_file_info: extern 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,
178 pub request_delete_file: extern 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,
179 pub request_create_directory: extern fn(server_connection_handler_id: u64, channel_id: u64, channel_pw: *const c_char, directory_path: *const char, return_code: *const char) -> c_uint,
180 pub requset_rename_file: extern 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,
181
182 pub request_message_add: extern 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,
184 pub request_message_del: extern fn(server_connection_handler_id: u64, message_id: u64, return_code: *const c_char) -> c_uint,
185 pub request_message_get: extern fn(server_connection_handler_id: u64, message_id: u64, return_code: *const c_char) -> c_uint,
186 pub request_message_list: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
187 pub request_message_update_flag: extern fn(server_connection_handler_id: u64, message_id: u64, flag: c_int, return_code: *const c_char) -> c_uint,
188
189 pub verify_server_password: extern fn(server_connection_handler_id: u64, server_password: *const c_char, return_code: *const c_char) -> c_uint,
191 pub verify_channel_password: extern fn(server_connection_handler_id: u64, channel_id: u64, channel_password: *const c_char, return_code: *const c_char) -> c_uint,
192
193 pub banclient: extern 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,
195 pub banadd: extern 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,
196 pub banclient_dbid: extern 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,
197 pub bandel: extern fn(server_connection_handler_id: u64, ban_id: u64, return_code: *const c_char) -> c_uint,
198 pub bandelall: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
199 pub request_ban_list: extern fn(server_connection_handler_id: u64, start: u64, duration: c_uint, return_code: *const c_char) -> c_uint,
200
201 pub request_complain_add: extern fn(server_connection_handler_id: u64, target_client_database_id: u64, complain_reason: *const c_char, return_code: *const c_char) -> c_uint,
203 pub request_complain_del: extern fn(server_connection_handler_id: u64, target_client_database_id: u64, from_client_database_id: u64, return_code: *const c_char) -> c_uint,
204 pub request_complain_del_all: extern fn(server_connection_handler_id: u64, target_client_database_id: u64, return_code: *const c_char) -> c_uint,
205 pub request_complain_list: extern fn(server_connection_handler_id: u64, target_client_database_id: u64, return_code: *const c_char) -> c_uint,
206
207 pub request_server_group_list: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
209 pub request_server_group_add: extern fn(server_connection_handler_id: u64, group_name: *const c_char, group_type: c_int, return_code: *const c_char) -> c_uint,
210 pub request_server_group_del: extern fn(server_connection_handler_id: u64, server_group_id: u64, force: c_int, return_code: *const c_char) -> c_uint,
211 pub request_server_group_add_client: extern fn(server_connection_handler_id: u64, server_group_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
212 pub request_server_group_del_client: extern fn(server_connection_handler_id: u64, server_group_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
213 pub request_server_groups_by_client_id: extern fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
214 pub request_server_group_add_perm: extern 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,
215 pub request_server_group_del_perm: extern 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,
216 pub request_server_group_perm_list: extern fn(server_connection_handler_id: u64, server_group_id: u64, return_code: *const c_char) -> c_uint,
217 pub request_server_group_client_list: extern fn(server_connection_handler_id: u64, server_group_id: u64, with_names: c_int, return_code: *const c_char) -> c_uint,
218 pub request_channel_group_list: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
219 pub request_channel_group_add: extern fn(server_connection_handler_id: u64, group_name: *const c_char, group_type: c_int, return_code: *const c_char) -> c_uint,
220 pub request_channel_group_del: extern fn(server_connection_handler_id: u64, channel_group_id: u64, force: c_int, return_code: *const c_char) -> c_uint,
221 pub request_channel_group_add_perm: extern 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,
222 pub request_channel_group_del_perm: extern 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,
223 pub request_channel_group_perm_list: extern fn(server_connection_handler_id: u64, channel_group_id: u64, return_code: *const c_char) -> c_uint,
224 pub request_set_client_channel_group: extern 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,
225 pub request_channel_add_perm: extern 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,
226 pub request_channel_del_perm: extern 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,
227 pub request_channel_perm_list: extern fn(server_connection_handler_id: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
228 pub request_client_add_perm: extern 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,
229 pub request_client_del_perm: extern 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,
230 pub request_client_perm_list: extern fn(server_connection_handler_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
231 pub request_channel_client_add_perm: extern 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,
232 pub request_channel_client_del_perm: extern 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,
233 pub request_channel_client_perm_list: extern fn(server_connection_handler_id: u64, channel_id: u64, client_database_id: u64, return_code: *const c_char) -> c_uint,
234 pub priviledge_key_use: extern fn(server_connection_handler_id: u64, token_key: *const c_char, return_code: *const c_char) -> c_uint,
235 pub request_permission_list: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
236 pub request_permission_overview: extern fn(server_connection_handler_id: u64, client_dbid: u64, channel_id: u64, return_code: *const c_char) -> c_uint,
237
238 pub client_property_string_to_flag: extern fn(client_property_string: *const c_char, result_flag: *mut usize) -> c_uint,
240 pub channel_property_string_to_flag: extern fn(channel_property_string: *const c_char, result_flag: *mut usize) -> c_uint,
241 pub server_property_string_to_flag: extern fn(server_property_string: *const c_char, result_flag: *mut usize) -> c_uint,
242
243 pub get_app_path: extern fn(path: *mut c_char, max_len: usize),
245 pub get_resources_path: extern fn(path: *mut c_char, max_len: usize),
246 pub get_config_path: extern fn(path: *mut c_char, max_len: usize),
247 pub get_plugin_path: extern fn(path: *mut c_char, max_len: usize, plugin_id: *const c_char),
248 pub get_current_server_connection_handler_id: extern fn() -> u64,
249 pub print_message: extern fn(server_connection_handler_id: u64, message: *const c_char, message_target: MessageTarget),
250 pub print_message_to_current_tab: extern fn(message: *const c_char),
251 pub urls_to_bb: extern fn(text: *const c_char, result: *mut c_char, max_len: usize),
252 pub send_plugin_command: extern 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),
253 pub get_directories: extern fn(path: *const c_char, result: *mut c_char, max_len: usize),
254 pub get_server_connect_info: extern fn(sc_handler_id: u64, host: *mut c_char, port: *mut c_ushort, password: *mut c_char, max_len: usize) -> c_uint,
255 pub get_channel_connection_info: extern fn(sc_handler_id: u64, channel_id: u64, path: *mut c_char, password: *mut c_char, max_len: usize) -> c_uint,
256 pub create_return_code: extern fn(plugin_id: *const c_char, return_code: *mut c_char, max_len: usize),
257 pub request_info_update: extern fn(sc_handler_id: u64, item_type: ItemType, item_id: u64) -> c_uint,
258 pub get_server_version: extern fn(sc_handler_id: u64) -> u64,
259 pub is_whispering: extern fn(sc_handler_id: u64, client_id: u16, result: *mut c_int) -> c_uint,
260 pub is_receiving_whisper: extern fn(sc_handler_id: u64, client_id: u16, result: *mut c_int) -> c_uint,
261 pub get_avatar: extern fn(sc_handler_id: u64, client_id: u16, result: *mut c_char, max_len: usize) -> c_uint,
262 pub set_plugin_menu_enabled: extern fn(plugin_id: *const c_char, menu_id: c_int, enabled: c_int),
263 pub show_hotkey_setup: extern fn(),
264 pub request_hotkey_input_dialog: extern fn(plugin_id: *const c_char, *const c_char, c_int, *mut c_void),
265 pub get_hotkey_from_keyword: extern 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,
266 pub get_client_display_name: extern fn(sc_handler_id: u64, client_id: u16, result: *mut c_char, max_len: usize) -> c_uint,
267 pub get_bookmark_list: extern fn(list: *mut *mut BookmarkList) -> c_uint,
268 pub get_profile_list: extern fn(profile: GuiProfile, default_profile_idx: *mut c_int, result: *mut *mut *mut c_char) -> c_uint,
269 pub gui_connect: extern 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,
270 pub gui_connect_bookmark: extern fn(connect_tab: ConnectTab, bookmarkuuid: *const c_char, sc_handler_id: *mut u64) -> c_uint,
271 pub create_bookmark: extern 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,
272 pub get_permission_id_by_name: extern fn(server_connection_handler_id: u64, permission_name: *const c_char, result: *mut c_uint) -> c_uint,
273 pub get_client_needed_permission: extern fn(server_connection_handler_id: u64, permission_name: *const c_char, result: *mut c_int) -> c_uint,
274 pub notify_key_event: extern fn(plugin_id: *const c_char, key_identifier: *const c_char, up_down: c_int),
275
276 pub start_recording: extern fn(server_connection_handler_id: u64, multitrack: c_int, no_file_selector: c_int, path: *const c_char) -> c_uint,
278 pub stop_recording: extern fn(server_connection_handler_id: u64) -> c_uint,
279
280 pub request_clients_move: extern 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,
282 pub request_clients_kick_from_channel: extern fn(server_connection_handler_id: u64, client_id_array: *const u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
283 pub request_clients_kick_from_server: extern fn(server_connection_handler_id: u64, client_id_array: *const u16, kick_reason: *const c_char, return_code: *const c_char) -> c_uint,
284 pub request_mute_clients_temporary: extern fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
285 pub request_unmute_clients_temporary: extern fn(server_connection_handler_id: u64, client_id_array: *const u16, return_code: *const c_char) -> c_uint,
286 pub get_permission_name_by_id: extern fn(sc_handler_id: u64, permission_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint,
287 pub client_property_flag_to_string: extern fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint,
288 pub channel_property_flag_to_string: extern fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint,
289 pub server_property_flag_to_string: extern fn(client_property_flag: usize, result_string: *mut *mut c_char) -> c_uint,
290
291 pub set_server_variable_as_int: extern fn(server_connection_handler_id: u64, flag: usize, value: c_int) -> c_uint,
293 pub set_server_variable_as_uint64: extern fn(server_connection_handler_id: u64, flag: usize, value: u64) -> c_uint,
294 pub set_server_variable_as_double: extern fn(server_connection_handler_id: u64, flag: usize, value: f64) -> c_uint,
295 pub set_server_variable_as_string: extern fn(server_connection_handler_id: u64, flag: usize, value: *const c_char) -> c_uint,
296 pub flush_server_updates: extern fn(server_connection_handler_id: u64, return_code: *const c_char) -> c_uint,
297
298 pub get_server_group_id_by_name: extern fn(server_connection_handler_id: u64, group_name: *const c_char, result: *mut c_uint) -> c_uint,
300 pub get_server_group_name_by_id: extern fn(sc_handler_id: u64, group_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint,
301 pub get_channel_group_id_by_name: extern fn(server_connection_handler_id: u64, group_name: *const c_char, result: *mut c_uint) -> c_uint,
302 pub get_channel_group_name_by_id: extern fn(sc_handler_id: u64, group_id: c_uint, result: *mut c_char, max_len: usize) -> c_uint,
303}