1use libc::{addrinfo, c_char, c_int, c_void, sockaddr, FILE};
4use num_enum::TryFromPrimitive;
5
6pub const RD_KAFKA_VERSION: u32 = 34603263;
7pub const RD_KAFKA_DEBUG_CONTEXTS : & [u8 ; 138] = b"all,generic,broker,topic,metadata,feature,queue,msg,protocol,cgrp,security,fetch,interceptor,plugin,consumer,admin,eos,mock,assignor,conf\0" ;
8pub const RD_KAFKA_DESTROY_F_NO_CONSUMER_CLOSE: u32 = 8;
9pub const RD_KAFKA_OFFSET_BEGINNING: i32 = -2;
10pub const RD_KAFKA_OFFSET_END: i32 = -1;
11pub const RD_KAFKA_OFFSET_STORED: i32 = -1000;
12pub const RD_KAFKA_OFFSET_INVALID: i32 = -1001;
13pub const RD_KAFKA_OFFSET_TAIL_BASE: i32 = -2000;
14pub const RD_KAFKA_MSG_F_FREE: u32 = 1;
15pub const RD_KAFKA_MSG_F_COPY: u32 = 2;
16pub const RD_KAFKA_MSG_F_BLOCK: u32 = 4;
17pub const RD_KAFKA_MSG_F_PARTITION: u32 = 8;
18pub const RD_KAFKA_PURGE_F_QUEUE: u32 = 1;
19pub const RD_KAFKA_PURGE_F_INFLIGHT: u32 = 2;
20pub const RD_KAFKA_PURGE_F_NON_BLOCKING: u32 = 4;
21pub const RD_KAFKA_EVENT_NONE: u32 = 0;
22pub const RD_KAFKA_EVENT_DR: u32 = 1;
23pub const RD_KAFKA_EVENT_FETCH: u32 = 2;
24pub const RD_KAFKA_EVENT_LOG: u32 = 4;
25pub const RD_KAFKA_EVENT_ERROR: u32 = 8;
26pub const RD_KAFKA_EVENT_REBALANCE: u32 = 16;
27pub const RD_KAFKA_EVENT_OFFSET_COMMIT: u32 = 32;
28pub const RD_KAFKA_EVENT_STATS: u32 = 64;
29pub const RD_KAFKA_EVENT_CREATETOPICS_RESULT: u32 = 100;
30pub const RD_KAFKA_EVENT_DELETETOPICS_RESULT: u32 = 101;
31pub const RD_KAFKA_EVENT_CREATEPARTITIONS_RESULT: u32 = 102;
32pub const RD_KAFKA_EVENT_ALTERCONFIGS_RESULT: u32 = 103;
33pub const RD_KAFKA_EVENT_DESCRIBECONFIGS_RESULT: u32 = 104;
34pub const RD_KAFKA_EVENT_DELETERECORDS_RESULT: u32 = 105;
35pub const RD_KAFKA_EVENT_DELETEGROUPS_RESULT: u32 = 106;
36pub const RD_KAFKA_EVENT_DELETECONSUMERGROUPOFFSETS_RESULT: u32 = 107;
37pub const RD_KAFKA_EVENT_OAUTHBEARER_TOKEN_REFRESH: u32 = 256;
38pub const RD_KAFKA_EVENT_BACKGROUND: u32 = 512;
39pub const RD_KAFKA_EVENT_CREATEACLS_RESULT: u32 = 1024;
40pub const RD_KAFKA_EVENT_DESCRIBEACLS_RESULT: u32 = 2048;
41pub const RD_KAFKA_EVENT_DELETEACLS_RESULT: u32 = 4096;
42pub const RD_KAFKA_EVENT_LISTCONSUMERGROUPS_RESULT: u32 = 8192;
43pub const RD_KAFKA_EVENT_DESCRIBECONSUMERGROUPS_RESULT: u32 = 16384;
44pub const RD_KAFKA_EVENT_LISTCONSUMERGROUPOFFSETS_RESULT: u32 = 32768;
45pub const RD_KAFKA_EVENT_ALTERCONSUMERGROUPOFFSETS_RESULT: u32 = 65536;
46pub const RD_KAFKA_EVENT_INCREMENTALALTERCONFIGS_RESULT: u32 = 131072;
47pub const RD_KAFKA_EVENT_DESCRIBEUSERSCRAMCREDENTIALS_RESULT: u32 = 262144;
48pub const RD_KAFKA_EVENT_ALTERUSERSCRAMCREDENTIALS_RESULT: u32 = 524288;
49pub const RD_KAFKA_EVENT_DESCRIBETOPICS_RESULT: u32 = 1048576;
50pub const RD_KAFKA_EVENT_DESCRIBECLUSTER_RESULT: u32 = 2097152;
51pub const RD_KAFKA_EVENT_LISTOFFSETS_RESULT: u32 = 4194304;
52pub const RD_KAFKA_EVENT_ELECTLEADERS_RESULT: u32 = 8388608;
53unsafe extern "C" {
54 pub fn rd_kafka_version() -> c_int;
55}
56unsafe extern "C" {
57 pub fn rd_kafka_version_str() -> *const c_char;
58}
59#[repr(u32)]
60#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
61pub enum rd_kafka_type_t {
62 RD_KAFKA_PRODUCER = 0,
63 RD_KAFKA_CONSUMER = 1,
64}
65#[repr(u32)]
66#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
67pub enum rd_kafka_timestamp_type_t {
68 RD_KAFKA_TIMESTAMP_NOT_AVAILABLE = 0,
69 RD_KAFKA_TIMESTAMP_CREATE_TIME = 1,
70 RD_KAFKA_TIMESTAMP_LOG_APPEND_TIME = 2,
71}
72unsafe extern "C" {
73 pub fn rd_kafka_get_debug_contexts() -> *const c_char;
74}
75#[repr(C)]
76#[derive(Debug)]
77pub struct rd_kafka_s {
78 _unused: [u8; 0],
79}
80pub type rd_kafka_t = rd_kafka_s;
81#[repr(C)]
82#[derive(Debug)]
83pub struct rd_kafka_topic_s {
84 _unused: [u8; 0],
85}
86pub type rd_kafka_topic_t = rd_kafka_topic_s;
87#[repr(C)]
88#[derive(Debug)]
89pub struct rd_kafka_conf_s {
90 _unused: [u8; 0],
91}
92pub type rd_kafka_conf_t = rd_kafka_conf_s;
93#[repr(C)]
94#[derive(Debug)]
95pub struct rd_kafka_topic_conf_s {
96 _unused: [u8; 0],
97}
98pub type rd_kafka_topic_conf_t = rd_kafka_topic_conf_s;
99#[repr(C)]
100#[derive(Debug)]
101pub struct rd_kafka_queue_s {
102 _unused: [u8; 0],
103}
104pub type rd_kafka_queue_t = rd_kafka_queue_s;
105#[repr(C)]
106#[derive(Debug)]
107pub struct rd_kafka_op_s {
108 _unused: [u8; 0],
109}
110pub type rd_kafka_event_t = rd_kafka_op_s;
111#[repr(C)]
112#[derive(Debug)]
113pub struct rd_kafka_topic_result_s {
114 _unused: [u8; 0],
115}
116pub type rd_kafka_topic_result_t = rd_kafka_topic_result_s;
117#[repr(C)]
118#[derive(Debug)]
119pub struct rd_kafka_consumer_group_metadata_s {
120 _unused: [u8; 0],
121}
122pub type rd_kafka_consumer_group_metadata_t = rd_kafka_consumer_group_metadata_s;
123#[repr(C)]
124#[derive(Debug)]
125pub struct rd_kafka_error_s {
126 _unused: [u8; 0],
127}
128pub type rd_kafka_error_t = rd_kafka_error_s;
129#[repr(C)]
130#[derive(Debug)]
131pub struct rd_kafka_headers_s {
132 _unused: [u8; 0],
133}
134pub type rd_kafka_headers_t = rd_kafka_headers_s;
135#[repr(C)]
136#[derive(Debug)]
137pub struct rd_kafka_group_result_s {
138 _unused: [u8; 0],
139}
140pub type rd_kafka_group_result_t = rd_kafka_group_result_s;
141#[repr(C)]
142#[derive(Debug)]
143pub struct rd_kafka_acl_result_s {
144 _unused: [u8; 0],
145}
146pub type rd_kafka_acl_result_t = rd_kafka_acl_result_s;
147#[repr(C)]
148#[derive(Debug)]
149pub struct rd_kafka_Uuid_s {
150 _unused: [u8; 0],
151}
152pub type rd_kafka_Uuid_t = rd_kafka_Uuid_s;
153#[repr(C)]
154#[derive(Debug)]
155pub struct rd_kafka_topic_partition_result_s {
156 _unused: [u8; 0],
157}
158pub type rd_kafka_topic_partition_result_t = rd_kafka_topic_partition_result_s;
159#[repr(C)]
160#[derive(Debug)]
161pub struct rd_kafka_share_s {
162 _unused: [u8; 0],
163}
164pub type rd_kafka_share_t = rd_kafka_share_s;
165#[repr(i32)]
166#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, TryFromPrimitive)]
167pub enum rd_kafka_resp_err_t {
168 RD_KAFKA_RESP_ERR__BEGIN = -200,
169 RD_KAFKA_RESP_ERR__BAD_MSG = -199,
170 RD_KAFKA_RESP_ERR__BAD_COMPRESSION = -198,
171 RD_KAFKA_RESP_ERR__DESTROY = -197,
172 RD_KAFKA_RESP_ERR__FAIL = -196,
173 RD_KAFKA_RESP_ERR__TRANSPORT = -195,
174 RD_KAFKA_RESP_ERR__CRIT_SYS_RESOURCE = -194,
175 RD_KAFKA_RESP_ERR__RESOLVE = -193,
176 RD_KAFKA_RESP_ERR__MSG_TIMED_OUT = -192,
177 RD_KAFKA_RESP_ERR__PARTITION_EOF = -191,
178 RD_KAFKA_RESP_ERR__UNKNOWN_PARTITION = -190,
179 RD_KAFKA_RESP_ERR__FS = -189,
180 RD_KAFKA_RESP_ERR__UNKNOWN_TOPIC = -188,
181 RD_KAFKA_RESP_ERR__ALL_BROKERS_DOWN = -187,
182 RD_KAFKA_RESP_ERR__INVALID_ARG = -186,
183 RD_KAFKA_RESP_ERR__TIMED_OUT = -185,
184 RD_KAFKA_RESP_ERR__QUEUE_FULL = -184,
185 RD_KAFKA_RESP_ERR__ISR_INSUFF = -183,
186 RD_KAFKA_RESP_ERR__NODE_UPDATE = -182,
187 RD_KAFKA_RESP_ERR__SSL = -181,
188 RD_KAFKA_RESP_ERR__WAIT_COORD = -180,
189 RD_KAFKA_RESP_ERR__UNKNOWN_GROUP = -179,
190 RD_KAFKA_RESP_ERR__IN_PROGRESS = -178,
191 RD_KAFKA_RESP_ERR__PREV_IN_PROGRESS = -177,
192 RD_KAFKA_RESP_ERR__EXISTING_SUBSCRIPTION = -176,
193 RD_KAFKA_RESP_ERR__ASSIGN_PARTITIONS = -175,
194 RD_KAFKA_RESP_ERR__REVOKE_PARTITIONS = -174,
195 RD_KAFKA_RESP_ERR__CONFLICT = -173,
196 RD_KAFKA_RESP_ERR__STATE = -172,
197 RD_KAFKA_RESP_ERR__UNKNOWN_PROTOCOL = -171,
198 RD_KAFKA_RESP_ERR__NOT_IMPLEMENTED = -170,
199 RD_KAFKA_RESP_ERR__AUTHENTICATION = -169,
200 RD_KAFKA_RESP_ERR__NO_OFFSET = -168,
201 RD_KAFKA_RESP_ERR__OUTDATED = -167,
202 RD_KAFKA_RESP_ERR__TIMED_OUT_QUEUE = -166,
203 RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE = -165,
204 RD_KAFKA_RESP_ERR__WAIT_CACHE = -164,
205 RD_KAFKA_RESP_ERR__INTR = -163,
206 RD_KAFKA_RESP_ERR__KEY_SERIALIZATION = -162,
207 RD_KAFKA_RESP_ERR__VALUE_SERIALIZATION = -161,
208 RD_KAFKA_RESP_ERR__KEY_DESERIALIZATION = -160,
209 RD_KAFKA_RESP_ERR__VALUE_DESERIALIZATION = -159,
210 RD_KAFKA_RESP_ERR__PARTIAL = -158,
211 RD_KAFKA_RESP_ERR__READ_ONLY = -157,
212 RD_KAFKA_RESP_ERR__NOENT = -156,
213 RD_KAFKA_RESP_ERR__UNDERFLOW = -155,
214 RD_KAFKA_RESP_ERR__INVALID_TYPE = -154,
215 RD_KAFKA_RESP_ERR__RETRY = -153,
216 RD_KAFKA_RESP_ERR__PURGE_QUEUE = -152,
217 RD_KAFKA_RESP_ERR__PURGE_INFLIGHT = -151,
218 RD_KAFKA_RESP_ERR__FATAL = -150,
219 RD_KAFKA_RESP_ERR__INCONSISTENT = -149,
220 RD_KAFKA_RESP_ERR__GAPLESS_GUARANTEE = -148,
221 RD_KAFKA_RESP_ERR__MAX_POLL_EXCEEDED = -147,
222 RD_KAFKA_RESP_ERR__UNKNOWN_BROKER = -146,
223 RD_KAFKA_RESP_ERR__NOT_CONFIGURED = -145,
224 RD_KAFKA_RESP_ERR__FENCED = -144,
225 RD_KAFKA_RESP_ERR__APPLICATION = -143,
226 RD_KAFKA_RESP_ERR__ASSIGNMENT_LOST = -142,
227 RD_KAFKA_RESP_ERR__NOOP = -141,
228 RD_KAFKA_RESP_ERR__AUTO_OFFSET_RESET = -140,
229 RD_KAFKA_RESP_ERR__LOG_TRUNCATION = -139,
230 RD_KAFKA_RESP_ERR__INVALID_DIFFERENT_RECORD = -138,
231 RD_KAFKA_RESP_ERR__DESTROY_BROKER = -137,
232 RD_KAFKA_RESP_ERR__END = -100,
233 RD_KAFKA_RESP_ERR_UNKNOWN = -1,
234 RD_KAFKA_RESP_ERR_NO_ERROR = 0,
235 RD_KAFKA_RESP_ERR_OFFSET_OUT_OF_RANGE = 1,
236 RD_KAFKA_RESP_ERR_INVALID_MSG = 2,
237 RD_KAFKA_RESP_ERR_UNKNOWN_TOPIC_OR_PART = 3,
238 RD_KAFKA_RESP_ERR_INVALID_MSG_SIZE = 4,
239 RD_KAFKA_RESP_ERR_LEADER_NOT_AVAILABLE = 5,
240 RD_KAFKA_RESP_ERR_NOT_LEADER_FOR_PARTITION = 6,
241 RD_KAFKA_RESP_ERR_REQUEST_TIMED_OUT = 7,
242 RD_KAFKA_RESP_ERR_BROKER_NOT_AVAILABLE = 8,
243 RD_KAFKA_RESP_ERR_REPLICA_NOT_AVAILABLE = 9,
244 RD_KAFKA_RESP_ERR_MSG_SIZE_TOO_LARGE = 10,
245 RD_KAFKA_RESP_ERR_STALE_CTRL_EPOCH = 11,
246 RD_KAFKA_RESP_ERR_OFFSET_METADATA_TOO_LARGE = 12,
247 RD_KAFKA_RESP_ERR_NETWORK_EXCEPTION = 13,
248 RD_KAFKA_RESP_ERR_COORDINATOR_LOAD_IN_PROGRESS = 14,
249 RD_KAFKA_RESP_ERR_COORDINATOR_NOT_AVAILABLE = 15,
250 RD_KAFKA_RESP_ERR_NOT_COORDINATOR = 16,
251 RD_KAFKA_RESP_ERR_TOPIC_EXCEPTION = 17,
252 RD_KAFKA_RESP_ERR_RECORD_LIST_TOO_LARGE = 18,
253 RD_KAFKA_RESP_ERR_NOT_ENOUGH_REPLICAS = 19,
254 RD_KAFKA_RESP_ERR_NOT_ENOUGH_REPLICAS_AFTER_APPEND = 20,
255 RD_KAFKA_RESP_ERR_INVALID_REQUIRED_ACKS = 21,
256 RD_KAFKA_RESP_ERR_ILLEGAL_GENERATION = 22,
257 RD_KAFKA_RESP_ERR_INCONSISTENT_GROUP_PROTOCOL = 23,
258 RD_KAFKA_RESP_ERR_INVALID_GROUP_ID = 24,
259 RD_KAFKA_RESP_ERR_UNKNOWN_MEMBER_ID = 25,
260 RD_KAFKA_RESP_ERR_INVALID_SESSION_TIMEOUT = 26,
261 RD_KAFKA_RESP_ERR_REBALANCE_IN_PROGRESS = 27,
262 RD_KAFKA_RESP_ERR_INVALID_COMMIT_OFFSET_SIZE = 28,
263 RD_KAFKA_RESP_ERR_TOPIC_AUTHORIZATION_FAILED = 29,
264 RD_KAFKA_RESP_ERR_GROUP_AUTHORIZATION_FAILED = 30,
265 RD_KAFKA_RESP_ERR_CLUSTER_AUTHORIZATION_FAILED = 31,
266 RD_KAFKA_RESP_ERR_INVALID_TIMESTAMP = 32,
267 RD_KAFKA_RESP_ERR_UNSUPPORTED_SASL_MECHANISM = 33,
268 RD_KAFKA_RESP_ERR_ILLEGAL_SASL_STATE = 34,
269 RD_KAFKA_RESP_ERR_UNSUPPORTED_VERSION = 35,
270 RD_KAFKA_RESP_ERR_TOPIC_ALREADY_EXISTS = 36,
271 RD_KAFKA_RESP_ERR_INVALID_PARTITIONS = 37,
272 RD_KAFKA_RESP_ERR_INVALID_REPLICATION_FACTOR = 38,
273 RD_KAFKA_RESP_ERR_INVALID_REPLICA_ASSIGNMENT = 39,
274 RD_KAFKA_RESP_ERR_INVALID_CONFIG = 40,
275 RD_KAFKA_RESP_ERR_NOT_CONTROLLER = 41,
276 RD_KAFKA_RESP_ERR_INVALID_REQUEST = 42,
277 RD_KAFKA_RESP_ERR_UNSUPPORTED_FOR_MESSAGE_FORMAT = 43,
278 RD_KAFKA_RESP_ERR_POLICY_VIOLATION = 44,
279 RD_KAFKA_RESP_ERR_OUT_OF_ORDER_SEQUENCE_NUMBER = 45,
280 RD_KAFKA_RESP_ERR_DUPLICATE_SEQUENCE_NUMBER = 46,
281 RD_KAFKA_RESP_ERR_INVALID_PRODUCER_EPOCH = 47,
282 RD_KAFKA_RESP_ERR_INVALID_TXN_STATE = 48,
283 RD_KAFKA_RESP_ERR_INVALID_PRODUCER_ID_MAPPING = 49,
284 RD_KAFKA_RESP_ERR_INVALID_TRANSACTION_TIMEOUT = 50,
285 RD_KAFKA_RESP_ERR_CONCURRENT_TRANSACTIONS = 51,
286 RD_KAFKA_RESP_ERR_TRANSACTION_COORDINATOR_FENCED = 52,
287 RD_KAFKA_RESP_ERR_TRANSACTIONAL_ID_AUTHORIZATION_FAILED = 53,
288 RD_KAFKA_RESP_ERR_SECURITY_DISABLED = 54,
289 RD_KAFKA_RESP_ERR_OPERATION_NOT_ATTEMPTED = 55,
290 RD_KAFKA_RESP_ERR_KAFKA_STORAGE_ERROR = 56,
291 RD_KAFKA_RESP_ERR_LOG_DIR_NOT_FOUND = 57,
292 RD_KAFKA_RESP_ERR_SASL_AUTHENTICATION_FAILED = 58,
293 RD_KAFKA_RESP_ERR_UNKNOWN_PRODUCER_ID = 59,
294 RD_KAFKA_RESP_ERR_REASSIGNMENT_IN_PROGRESS = 60,
295 RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_AUTH_DISABLED = 61,
296 RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_NOT_FOUND = 62,
297 RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_OWNER_MISMATCH = 63,
298 RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_REQUEST_NOT_ALLOWED = 64,
299 RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_AUTHORIZATION_FAILED = 65,
300 RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_EXPIRED = 66,
301 RD_KAFKA_RESP_ERR_INVALID_PRINCIPAL_TYPE = 67,
302 RD_KAFKA_RESP_ERR_NON_EMPTY_GROUP = 68,
303 RD_KAFKA_RESP_ERR_GROUP_ID_NOT_FOUND = 69,
304 RD_KAFKA_RESP_ERR_FETCH_SESSION_ID_NOT_FOUND = 70,
305 RD_KAFKA_RESP_ERR_INVALID_FETCH_SESSION_EPOCH = 71,
306 RD_KAFKA_RESP_ERR_LISTENER_NOT_FOUND = 72,
307 RD_KAFKA_RESP_ERR_TOPIC_DELETION_DISABLED = 73,
308 RD_KAFKA_RESP_ERR_FENCED_LEADER_EPOCH = 74,
309 RD_KAFKA_RESP_ERR_UNKNOWN_LEADER_EPOCH = 75,
310 RD_KAFKA_RESP_ERR_UNSUPPORTED_COMPRESSION_TYPE = 76,
311 RD_KAFKA_RESP_ERR_STALE_BROKER_EPOCH = 77,
312 RD_KAFKA_RESP_ERR_OFFSET_NOT_AVAILABLE = 78,
313 RD_KAFKA_RESP_ERR_MEMBER_ID_REQUIRED = 79,
314 RD_KAFKA_RESP_ERR_PREFERRED_LEADER_NOT_AVAILABLE = 80,
315 RD_KAFKA_RESP_ERR_GROUP_MAX_SIZE_REACHED = 81,
316 RD_KAFKA_RESP_ERR_FENCED_INSTANCE_ID = 82,
317 RD_KAFKA_RESP_ERR_ELIGIBLE_LEADERS_NOT_AVAILABLE = 83,
318 RD_KAFKA_RESP_ERR_ELECTION_NOT_NEEDED = 84,
319 RD_KAFKA_RESP_ERR_NO_REASSIGNMENT_IN_PROGRESS = 85,
320 RD_KAFKA_RESP_ERR_GROUP_SUBSCRIBED_TO_TOPIC = 86,
321 RD_KAFKA_RESP_ERR_INVALID_RECORD = 87,
322 RD_KAFKA_RESP_ERR_UNSTABLE_OFFSET_COMMIT = 88,
323 RD_KAFKA_RESP_ERR_THROTTLING_QUOTA_EXCEEDED = 89,
324 RD_KAFKA_RESP_ERR_PRODUCER_FENCED = 90,
325 RD_KAFKA_RESP_ERR_RESOURCE_NOT_FOUND = 91,
326 RD_KAFKA_RESP_ERR_DUPLICATE_RESOURCE = 92,
327 RD_KAFKA_RESP_ERR_UNACCEPTABLE_CREDENTIAL = 93,
328 RD_KAFKA_RESP_ERR_INCONSISTENT_VOTER_SET = 94,
329 RD_KAFKA_RESP_ERR_INVALID_UPDATE_VERSION = 95,
330 RD_KAFKA_RESP_ERR_FEATURE_UPDATE_FAILED = 96,
331 RD_KAFKA_RESP_ERR_PRINCIPAL_DESERIALIZATION_FAILURE = 97,
332 RD_KAFKA_RESP_ERR_UNKNOWN_TOPIC_ID = 100,
333 RD_KAFKA_RESP_ERR_INCONSISTENT_TOPIC_ID = 103,
334 RD_KAFKA_RESP_ERR_FENCED_MEMBER_EPOCH = 110,
335 RD_KAFKA_RESP_ERR_UNRELEASED_INSTANCE_ID = 111,
336 RD_KAFKA_RESP_ERR_UNSUPPORTED_ASSIGNOR = 112,
337 RD_KAFKA_RESP_ERR_STALE_MEMBER_EPOCH = 113,
338 RD_KAFKA_RESP_ERR_MISMATCHED_ENDPOINT_TYPE = 114,
339 RD_KAFKA_RESP_ERR_UNSUPPORTED_ENDPOINT_TYPE = 115,
340 RD_KAFKA_RESP_ERR_UNKNOWN_CONTROLLER_ID = 116,
341 RD_KAFKA_RESP_ERR_UNKNOWN_SUBSCRIPTION_ID = 117,
342 RD_KAFKA_RESP_ERR_TELEMETRY_TOO_LARGE = 118,
343 RD_KAFKA_RESP_ERR_INVALID_REGISTRATION = 119,
344 RD_KAFKA_RESP_ERR_TRANSACTION_ABORTABLE = 120,
345 RD_KAFKA_RESP_ERR_INVALID_RECORD_STATE = 121,
346 RD_KAFKA_RESP_ERR_SHARE_SESSION_NOT_FOUND = 122,
347 RD_KAFKA_RESP_ERR_INVALID_SHARE_SESSION_EPOCH = 123,
348 RD_KAFKA_RESP_ERR_FENCED_STATE_EPOCH = 124,
349 RD_KAFKA_RESP_ERR_INVALID_VOTER_KEY = 125,
350 RD_KAFKA_RESP_ERR_DUPLICATE_VOTER = 126,
351 RD_KAFKA_RESP_ERR_VOTER_NOT_FOUND = 127,
352 RD_KAFKA_RESP_ERR_INVALID_REGULAR_EXPRESSION = 128,
353 RD_KAFKA_RESP_ERR_REBOOTSTRAP_REQUIRED = 129,
354 RD_KAFKA_RESP_ERR_STREAMS_INVALID_TOPOLOGY = 130,
355 RD_KAFKA_RESP_ERR_STREAMS_INVALID_TOPOLOGY_EPOCH = 131,
356 RD_KAFKA_RESP_ERR_STREAMS_TOPOLOGY_FENCED = 132,
357 RD_KAFKA_RESP_ERR_SHARE_SESSION_LIMIT_REACHED = 133,
358 RD_KAFKA_RESP_ERR_END_ALL = 134,
359}
360#[repr(C)]
361#[derive(Debug, Copy, Clone)]
362pub struct rd_kafka_err_desc {
363 pub code: rd_kafka_resp_err_t,
364 pub name: *const c_char,
365 pub desc: *const c_char,
366}
367unsafe extern "C" {
368 pub fn rd_kafka_get_err_descs(errdescs: *mut *const rd_kafka_err_desc, cntp: *mut usize);
369}
370unsafe extern "C" {
371 pub fn rd_kafka_err2str(err: rd_kafka_resp_err_t) -> *const c_char;
372}
373unsafe extern "C" {
374 pub fn rd_kafka_err2name(err: rd_kafka_resp_err_t) -> *const c_char;
375}
376unsafe extern "C" {
377 pub fn rd_kafka_last_error() -> rd_kafka_resp_err_t;
378}
379unsafe extern "C" {
380 pub fn rd_kafka_errno2err(errnox: c_int) -> rd_kafka_resp_err_t;
381}
382unsafe extern "C" {
383 pub fn rd_kafka_errno() -> c_int;
384}
385unsafe extern "C" {
386 pub fn rd_kafka_fatal_error(
387 rk: *mut rd_kafka_t,
388 errstr: *mut c_char,
389 errstr_size: usize,
390 ) -> rd_kafka_resp_err_t;
391}
392unsafe extern "C" {
393 pub fn rd_kafka_test_fatal_error(
394 rk: *mut rd_kafka_t,
395 err: rd_kafka_resp_err_t,
396 reason: *const c_char,
397 ) -> rd_kafka_resp_err_t;
398}
399unsafe extern "C" {
400 pub fn rd_kafka_error_code(error: *const rd_kafka_error_t) -> rd_kafka_resp_err_t;
401}
402unsafe extern "C" {
403 pub fn rd_kafka_error_name(error: *const rd_kafka_error_t) -> *const c_char;
404}
405unsafe extern "C" {
406 pub fn rd_kafka_error_string(error: *const rd_kafka_error_t) -> *const c_char;
407}
408unsafe extern "C" {
409 pub fn rd_kafka_error_is_fatal(error: *const rd_kafka_error_t) -> c_int;
410}
411unsafe extern "C" {
412 pub fn rd_kafka_error_is_retriable(error: *const rd_kafka_error_t) -> c_int;
413}
414unsafe extern "C" {
415 pub fn rd_kafka_error_txn_requires_abort(error: *const rd_kafka_error_t) -> c_int;
416}
417unsafe extern "C" {
418 pub fn rd_kafka_error_destroy(error: *mut rd_kafka_error_t);
419}
420unsafe extern "C" {
421 pub fn rd_kafka_error_new(
422 code: rd_kafka_resp_err_t,
423 fmt: *const c_char,
424 ...
425 ) -> *mut rd_kafka_error_t;
426}
427#[repr(C)]
428#[derive(Debug, Copy, Clone)]
429pub struct rd_kafka_topic_partition_s {
430 pub topic: *mut c_char,
431 pub partition: i32,
432 pub offset: i64,
433 pub metadata: *mut c_void,
434 pub metadata_size: usize,
435 pub opaque: *mut c_void,
436 pub err: rd_kafka_resp_err_t,
437 pub _private: *mut c_void,
438}
439pub type rd_kafka_topic_partition_t = rd_kafka_topic_partition_s;
440unsafe extern "C" {
441 pub fn rd_kafka_topic_partition_destroy(rktpar: *mut rd_kafka_topic_partition_t);
442}
443unsafe extern "C" {
444 pub fn rd_kafka_topic_partition_set_leader_epoch(
445 rktpar: *mut rd_kafka_topic_partition_t,
446 leader_epoch: i32,
447 );
448}
449unsafe extern "C" {
450 pub fn rd_kafka_topic_partition_get_leader_epoch(
451 rktpar: *const rd_kafka_topic_partition_t,
452 ) -> i32;
453}
454#[repr(C)]
455#[derive(Debug, Copy, Clone)]
456pub struct rd_kafka_topic_partition_list_s {
457 pub cnt: c_int,
458 pub size: c_int,
459 pub elems: *mut rd_kafka_topic_partition_t,
460}
461pub type rd_kafka_topic_partition_list_t = rd_kafka_topic_partition_list_s;
462unsafe extern "C" {
463 pub fn rd_kafka_topic_partition_list_new(size: c_int) -> *mut rd_kafka_topic_partition_list_t;
464}
465unsafe extern "C" {
466 pub fn rd_kafka_topic_partition_list_destroy(rkparlist: *mut rd_kafka_topic_partition_list_t);
467}
468unsafe extern "C" {
469 pub fn rd_kafka_topic_partition_list_add(
470 rktparlist: *mut rd_kafka_topic_partition_list_t,
471 topic: *const c_char,
472 partition: i32,
473 ) -> *mut rd_kafka_topic_partition_t;
474}
475unsafe extern "C" {
476 pub fn rd_kafka_topic_partition_list_add_range(
477 rktparlist: *mut rd_kafka_topic_partition_list_t,
478 topic: *const c_char,
479 start: i32,
480 stop: i32,
481 );
482}
483unsafe extern "C" {
484 pub fn rd_kafka_topic_partition_list_del(
485 rktparlist: *mut rd_kafka_topic_partition_list_t,
486 topic: *const c_char,
487 partition: i32,
488 ) -> c_int;
489}
490unsafe extern "C" {
491 pub fn rd_kafka_topic_partition_list_del_by_idx(
492 rktparlist: *mut rd_kafka_topic_partition_list_t,
493 idx: c_int,
494 ) -> c_int;
495}
496unsafe extern "C" {
497 pub fn rd_kafka_topic_partition_list_copy(
498 src: *const rd_kafka_topic_partition_list_t,
499 ) -> *mut rd_kafka_topic_partition_list_t;
500}
501unsafe extern "C" {
502 pub fn rd_kafka_topic_partition_list_set_offset(
503 rktparlist: *mut rd_kafka_topic_partition_list_t,
504 topic: *const c_char,
505 partition: i32,
506 offset: i64,
507 ) -> rd_kafka_resp_err_t;
508}
509unsafe extern "C" {
510 pub fn rd_kafka_topic_partition_list_find(
511 rktparlist: *const rd_kafka_topic_partition_list_t,
512 topic: *const c_char,
513 partition: i32,
514 ) -> *mut rd_kafka_topic_partition_t;
515}
516unsafe extern "C" {
517 pub fn rd_kafka_topic_partition_list_sort(
518 rktparlist: *mut rd_kafka_topic_partition_list_t,
519 cmp: Option<
520 unsafe extern "C" fn(
521 a: *const c_void,
522 b: *const c_void,
523 cmp_opaque: *mut c_void,
524 ) -> c_int,
525 >,
526 cmp_opaque: *mut c_void,
527 );
528}
529#[repr(u32)]
530#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
531pub enum rd_kafka_vtype_t {
532 RD_KAFKA_VTYPE_END = 0,
533 RD_KAFKA_VTYPE_TOPIC = 1,
534 RD_KAFKA_VTYPE_RKT = 2,
535 RD_KAFKA_VTYPE_PARTITION = 3,
536 RD_KAFKA_VTYPE_VALUE = 4,
537 RD_KAFKA_VTYPE_KEY = 5,
538 RD_KAFKA_VTYPE_OPAQUE = 6,
539 RD_KAFKA_VTYPE_MSGFLAGS = 7,
540 RD_KAFKA_VTYPE_TIMESTAMP = 8,
541 RD_KAFKA_VTYPE_HEADER = 9,
542 RD_KAFKA_VTYPE_HEADERS = 10,
543}
544#[repr(C)]
545#[derive(Copy, Clone)]
546pub struct rd_kafka_vu_s {
547 pub vtype: rd_kafka_vtype_t,
548 pub u: rd_kafka_vu_s__bindgen_ty_1,
549}
550#[repr(C)]
551#[derive(Copy, Clone)]
552pub union rd_kafka_vu_s__bindgen_ty_1 {
553 pub cstr: *const c_char,
554 pub rkt: *mut rd_kafka_topic_t,
555 pub i: c_int,
556 pub i32_: i32,
557 pub i64_: i64,
558 pub mem: rd_kafka_vu_s__bindgen_ty_1__bindgen_ty_1,
559 pub header: rd_kafka_vu_s__bindgen_ty_1__bindgen_ty_2,
560 pub headers: *mut rd_kafka_headers_t,
561 pub ptr: *mut c_void,
562 pub _pad: [c_char; 64usize],
563}
564#[repr(C)]
565#[derive(Debug, Copy, Clone)]
566pub struct rd_kafka_vu_s__bindgen_ty_1__bindgen_ty_1 {
567 pub ptr: *mut c_void,
568 pub size: usize,
569}
570#[repr(C)]
571#[derive(Debug, Copy, Clone)]
572pub struct rd_kafka_vu_s__bindgen_ty_1__bindgen_ty_2 {
573 pub name: *const c_char,
574 pub val: *const c_void,
575 pub size: isize,
576}
577pub type rd_kafka_vu_t = rd_kafka_vu_s;
578unsafe extern "C" {
579 pub fn rd_kafka_headers_new(initial_count: usize) -> *mut rd_kafka_headers_t;
580}
581unsafe extern "C" {
582 pub fn rd_kafka_headers_destroy(hdrs: *mut rd_kafka_headers_t);
583}
584unsafe extern "C" {
585 pub fn rd_kafka_headers_copy(src: *const rd_kafka_headers_t) -> *mut rd_kafka_headers_t;
586}
587unsafe extern "C" {
588 pub fn rd_kafka_header_add(
589 hdrs: *mut rd_kafka_headers_t,
590 name: *const c_char,
591 name_size: isize,
592 value: *const c_void,
593 value_size: isize,
594 ) -> rd_kafka_resp_err_t;
595}
596unsafe extern "C" {
597 pub fn rd_kafka_header_remove(
598 hdrs: *mut rd_kafka_headers_t,
599 name: *const c_char,
600 ) -> rd_kafka_resp_err_t;
601}
602unsafe extern "C" {
603 pub fn rd_kafka_header_get_last(
604 hdrs: *const rd_kafka_headers_t,
605 name: *const c_char,
606 valuep: *mut *const c_void,
607 sizep: *mut usize,
608 ) -> rd_kafka_resp_err_t;
609}
610unsafe extern "C" {
611 pub fn rd_kafka_header_get(
612 hdrs: *const rd_kafka_headers_t,
613 idx: usize,
614 name: *const c_char,
615 valuep: *mut *const c_void,
616 sizep: *mut usize,
617 ) -> rd_kafka_resp_err_t;
618}
619unsafe extern "C" {
620 pub fn rd_kafka_header_get_all(
621 hdrs: *const rd_kafka_headers_t,
622 idx: usize,
623 namep: *mut *const c_char,
624 valuep: *mut *const c_void,
625 sizep: *mut usize,
626 ) -> rd_kafka_resp_err_t;
627}
628#[repr(C)]
629#[derive(Debug, Copy, Clone)]
630pub struct rd_kafka_message_s {
631 pub err: rd_kafka_resp_err_t,
632 pub rkt: *mut rd_kafka_topic_t,
633 pub partition: i32,
634 pub payload: *mut c_void,
635 pub len: usize,
636 pub key: *mut c_void,
637 pub key_len: usize,
638 pub offset: i64,
639 pub _private: *mut c_void,
640}
641pub type rd_kafka_message_t = rd_kafka_message_s;
642#[repr(C)]
643#[derive(Debug)]
644pub struct rd_kafka_messages_s {
645 _unused: [u8; 0],
646}
647pub type rd_kafka_messages_t = rd_kafka_messages_s;
648unsafe extern "C" {
649 pub fn rd_kafka_messages_count(messages: *const rd_kafka_messages_t) -> usize;
650}
651unsafe extern "C" {
652 pub fn rd_kafka_messages_get(
653 messages: *const rd_kafka_messages_t,
654 index: usize,
655 ) -> *mut rd_kafka_message_t;
656}
657unsafe extern "C" {
658 pub fn rd_kafka_messages_destroy(messages: *mut rd_kafka_messages_t);
659}
660unsafe extern "C" {
661 pub fn rd_kafka_message_destroy(rkmessage: *mut rd_kafka_message_t);
662}
663unsafe extern "C" {
664 pub fn rd_kafka_message_errstr(rkmessage: *const rd_kafka_message_t) -> *const c_char;
665}
666unsafe extern "C" {
667 pub fn rd_kafka_message_produce_errstr(rkmessage: *const rd_kafka_message_t) -> *const c_char;
668}
669unsafe extern "C" {
670 pub fn rd_kafka_message_timestamp(
671 rkmessage: *const rd_kafka_message_t,
672 tstype: *mut rd_kafka_timestamp_type_t,
673 ) -> i64;
674}
675unsafe extern "C" {
676 pub fn rd_kafka_message_latency(rkmessage: *const rd_kafka_message_t) -> i64;
677}
678unsafe extern "C" {
679 pub fn rd_kafka_message_broker_id(rkmessage: *const rd_kafka_message_t) -> i32;
680}
681unsafe extern "C" {
682 pub fn rd_kafka_message_headers(
683 rkmessage: *const rd_kafka_message_t,
684 hdrsp: *mut *mut rd_kafka_headers_t,
685 ) -> rd_kafka_resp_err_t;
686}
687unsafe extern "C" {
688 pub fn rd_kafka_message_detach_headers(
689 rkmessage: *mut rd_kafka_message_t,
690 hdrsp: *mut *mut rd_kafka_headers_t,
691 ) -> rd_kafka_resp_err_t;
692}
693unsafe extern "C" {
694 pub fn rd_kafka_message_set_headers(
695 rkmessage: *mut rd_kafka_message_t,
696 hdrs: *mut rd_kafka_headers_t,
697 );
698}
699unsafe extern "C" {
700 pub fn rd_kafka_header_cnt(hdrs: *const rd_kafka_headers_t) -> usize;
701}
702#[repr(u32)]
703#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
704pub enum rd_kafka_msg_status_t {
705 RD_KAFKA_MSG_STATUS_NOT_PERSISTED = 0,
706 RD_KAFKA_MSG_STATUS_POSSIBLY_PERSISTED = 1,
707 RD_KAFKA_MSG_STATUS_PERSISTED = 2,
708}
709unsafe extern "C" {
710 pub fn rd_kafka_message_status(rkmessage: *const rd_kafka_message_t) -> rd_kafka_msg_status_t;
711}
712unsafe extern "C" {
713 pub fn rd_kafka_message_leader_epoch(rkmessage: *const rd_kafka_message_t) -> i32;
714}
715unsafe extern "C" {
716 pub fn rd_kafka_message_delivery_count(rkmessage: *const rd_kafka_message_t) -> i16;
717}
718unsafe extern "C" {
719 pub fn rd_kafka_Uuid_base64str(uuid: *const rd_kafka_Uuid_t) -> *const c_char;
720}
721unsafe extern "C" {
722 pub fn rd_kafka_Uuid_least_significant_bits(uuid: *const rd_kafka_Uuid_t) -> i64;
723}
724unsafe extern "C" {
725 pub fn rd_kafka_Uuid_most_significant_bits(uuid: *const rd_kafka_Uuid_t) -> i64;
726}
727unsafe extern "C" {
728 pub fn rd_kafka_Uuid_new(
729 most_significant_bits: i64,
730 least_significant_bits: i64,
731 ) -> *mut rd_kafka_Uuid_t;
732}
733unsafe extern "C" {
734 pub fn rd_kafka_Uuid_copy(uuid: *const rd_kafka_Uuid_t) -> *mut rd_kafka_Uuid_t;
735}
736unsafe extern "C" {
737 pub fn rd_kafka_Uuid_destroy(uuid: *mut rd_kafka_Uuid_t);
738}
739#[repr(i32)]
740#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
741pub enum rd_kafka_conf_res_t {
742 RD_KAFKA_CONF_UNKNOWN = -2,
743 RD_KAFKA_CONF_INVALID = -1,
744 RD_KAFKA_CONF_OK = 0,
745}
746unsafe extern "C" {
747 pub fn rd_kafka_conf_new() -> *mut rd_kafka_conf_t;
748}
749unsafe extern "C" {
750 pub fn rd_kafka_conf_destroy(conf: *mut rd_kafka_conf_t);
751}
752unsafe extern "C" {
753 pub fn rd_kafka_conf_dup(conf: *const rd_kafka_conf_t) -> *mut rd_kafka_conf_t;
754}
755unsafe extern "C" {
756 pub fn rd_kafka_conf_dup_filter(
757 conf: *const rd_kafka_conf_t,
758 filter_cnt: usize,
759 filter: *mut *const c_char,
760 ) -> *mut rd_kafka_conf_t;
761}
762unsafe extern "C" {
763 pub fn rd_kafka_conf(rk: *mut rd_kafka_t) -> *const rd_kafka_conf_t;
764}
765unsafe extern "C" {
766 pub fn rd_kafka_conf_set(
767 conf: *mut rd_kafka_conf_t,
768 name: *const c_char,
769 value: *const c_char,
770 errstr: *mut c_char,
771 errstr_size: usize,
772 ) -> rd_kafka_conf_res_t;
773}
774unsafe extern "C" {
775 pub fn rd_kafka_conf_set_events(conf: *mut rd_kafka_conf_t, events: c_int);
776}
777unsafe extern "C" {
778 pub fn rd_kafka_conf_set_background_event_cb(
779 conf: *mut rd_kafka_conf_t,
780 event_cb: Option<
781 unsafe extern "C" fn(
782 rk: *mut rd_kafka_t,
783 rkev: *mut rd_kafka_event_t,
784 opaque: *mut c_void,
785 ),
786 >,
787 );
788}
789unsafe extern "C" {
790 pub fn rd_kafka_conf_set_dr_cb(
791 conf: *mut rd_kafka_conf_t,
792 dr_cb: Option<
793 unsafe extern "C" fn(
794 rk: *mut rd_kafka_t,
795 payload: *mut c_void,
796 len: usize,
797 err: rd_kafka_resp_err_t,
798 opaque: *mut c_void,
799 msg_opaque: *mut c_void,
800 ),
801 >,
802 );
803}
804unsafe extern "C" {
805 pub fn rd_kafka_conf_set_dr_msg_cb(
806 conf: *mut rd_kafka_conf_t,
807 dr_msg_cb: Option<
808 unsafe extern "C" fn(
809 rk: *mut rd_kafka_t,
810 rkmessage: *const rd_kafka_message_t,
811 opaque: *mut c_void,
812 ),
813 >,
814 );
815}
816unsafe extern "C" {
817 pub fn rd_kafka_conf_set_consume_cb(
818 conf: *mut rd_kafka_conf_t,
819 consume_cb: Option<
820 unsafe extern "C" fn(rkmessage: *mut rd_kafka_message_t, opaque: *mut c_void),
821 >,
822 );
823}
824unsafe extern "C" {
825 pub fn rd_kafka_conf_set_rebalance_cb(
826 conf: *mut rd_kafka_conf_t,
827 rebalance_cb: Option<
828 unsafe extern "C" fn(
829 rk: *mut rd_kafka_t,
830 err: rd_kafka_resp_err_t,
831 partitions: *mut rd_kafka_topic_partition_list_t,
832 opaque: *mut c_void,
833 ),
834 >,
835 );
836}
837unsafe extern "C" {
838 pub fn rd_kafka_conf_set_offset_commit_cb(
839 conf: *mut rd_kafka_conf_t,
840 offset_commit_cb: Option<
841 unsafe extern "C" fn(
842 rk: *mut rd_kafka_t,
843 err: rd_kafka_resp_err_t,
844 offsets: *mut rd_kafka_topic_partition_list_t,
845 opaque: *mut c_void,
846 ),
847 >,
848 );
849}
850unsafe extern "C" {
851 pub fn rd_kafka_conf_set_error_cb(
852 conf: *mut rd_kafka_conf_t,
853 error_cb: Option<
854 unsafe extern "C" fn(
855 rk: *mut rd_kafka_t,
856 err: c_int,
857 reason: *const c_char,
858 opaque: *mut c_void,
859 ),
860 >,
861 );
862}
863unsafe extern "C" {
864 pub fn rd_kafka_conf_set_throttle_cb(
865 conf: *mut rd_kafka_conf_t,
866 throttle_cb: Option<
867 unsafe extern "C" fn(
868 rk: *mut rd_kafka_t,
869 broker_name: *const c_char,
870 broker_id: i32,
871 throttle_time_ms: c_int,
872 opaque: *mut c_void,
873 ),
874 >,
875 );
876}
877unsafe extern "C" {
878 pub fn rd_kafka_conf_set_log_cb(
879 conf: *mut rd_kafka_conf_t,
880 log_cb: Option<
881 unsafe extern "C" fn(
882 rk: *const rd_kafka_t,
883 level: c_int,
884 fac: *const c_char,
885 buf: *const c_char,
886 ),
887 >,
888 );
889}
890unsafe extern "C" {
891 pub fn rd_kafka_conf_set_stats_cb(
892 conf: *mut rd_kafka_conf_t,
893 stats_cb: Option<
894 unsafe extern "C" fn(
895 rk: *mut rd_kafka_t,
896 json: *mut c_char,
897 json_len: usize,
898 opaque: *mut c_void,
899 ) -> c_int,
900 >,
901 );
902}
903unsafe extern "C" {
904 pub fn rd_kafka_conf_set_oauthbearer_token_refresh_cb(
905 conf: *mut rd_kafka_conf_t,
906 oauthbearer_token_refresh_cb: Option<
907 unsafe extern "C" fn(
908 rk: *mut rd_kafka_t,
909 oauthbearer_config: *const c_char,
910 opaque: *mut c_void,
911 ),
912 >,
913 );
914}
915unsafe extern "C" {
916 pub fn rd_kafka_conf_enable_sasl_queue(conf: *mut rd_kafka_conf_t, enable: c_int);
917}
918unsafe extern "C" {
919 pub fn rd_kafka_conf_set_socket_cb(
920 conf: *mut rd_kafka_conf_t,
921 socket_cb: Option<
922 unsafe extern "C" fn(
923 domain: c_int,
924 type_: c_int,
925 protocol: c_int,
926 opaque: *mut c_void,
927 ) -> c_int,
928 >,
929 );
930}
931unsafe extern "C" {
932 pub fn rd_kafka_conf_set_connect_cb(
933 conf: *mut rd_kafka_conf_t,
934 connect_cb: Option<
935 unsafe extern "C" fn(
936 sockfd: c_int,
937 addr: *const sockaddr,
938 addrlen: c_int,
939 id: *const c_char,
940 opaque: *mut c_void,
941 ) -> c_int,
942 >,
943 );
944}
945unsafe extern "C" {
946 pub fn rd_kafka_conf_set_closesocket_cb(
947 conf: *mut rd_kafka_conf_t,
948 closesocket_cb: Option<unsafe extern "C" fn(sockfd: c_int, opaque: *mut c_void) -> c_int>,
949 );
950}
951unsafe extern "C" {
952 pub fn rd_kafka_conf_set_resolve_cb(
953 conf: *mut rd_kafka_conf_t,
954 resolve_cb: Option<
955 unsafe extern "C" fn(
956 node: *const c_char,
957 service: *const c_char,
958 hints: *const addrinfo,
959 res: *mut *mut addrinfo,
960 opaque: *mut c_void,
961 ) -> c_int,
962 >,
963 );
964}
965unsafe extern "C" {
966 pub fn rd_kafka_conf_set_ssl_cert_verify_cb(
967 conf: *mut rd_kafka_conf_t,
968 ssl_cert_verify_cb: Option<
969 unsafe extern "C" fn(
970 rk: *mut rd_kafka_t,
971 broker_name: *const c_char,
972 broker_id: i32,
973 x509_error: *mut c_int,
974 depth: c_int,
975 buf: *const c_char,
976 size: usize,
977 errstr: *mut c_char,
978 errstr_size: usize,
979 opaque: *mut c_void,
980 ) -> c_int,
981 >,
982 ) -> rd_kafka_conf_res_t;
983}
984#[repr(u32)]
985#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
986pub enum rd_kafka_cert_type_t {
987 RD_KAFKA_CERT_PUBLIC_KEY = 0,
988 RD_KAFKA_CERT_PRIVATE_KEY = 1,
989 RD_KAFKA_CERT_CA = 2,
990 RD_KAFKA_CERT__CNT = 3,
991}
992#[repr(u32)]
993#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
994pub enum rd_kafka_cert_enc_t {
995 RD_KAFKA_CERT_ENC_PKCS12 = 0,
996 RD_KAFKA_CERT_ENC_DER = 1,
997 RD_KAFKA_CERT_ENC_PEM = 2,
998 RD_KAFKA_CERT_ENC__CNT = 3,
999}
1000unsafe extern "C" {
1001 pub fn rd_kafka_conf_set_ssl_cert(
1002 conf: *mut rd_kafka_conf_t,
1003 cert_type: rd_kafka_cert_type_t,
1004 cert_enc: rd_kafka_cert_enc_t,
1005 buffer: *const c_void,
1006 size: usize,
1007 errstr: *mut c_char,
1008 errstr_size: usize,
1009 ) -> rd_kafka_conf_res_t;
1010}
1011unsafe extern "C" {
1012 pub fn rd_kafka_conf_set_engine_callback_data(
1013 conf: *mut rd_kafka_conf_t,
1014 callback_data: *mut c_void,
1015 );
1016}
1017unsafe extern "C" {
1018 pub fn rd_kafka_conf_set_opaque(conf: *mut rd_kafka_conf_t, opaque: *mut c_void);
1019}
1020unsafe extern "C" {
1021 pub fn rd_kafka_opaque(rk: *const rd_kafka_t) -> *mut c_void;
1022}
1023unsafe extern "C" {
1024 pub fn rd_kafka_conf_set_default_topic_conf(
1025 conf: *mut rd_kafka_conf_t,
1026 tconf: *mut rd_kafka_topic_conf_t,
1027 );
1028}
1029unsafe extern "C" {
1030 pub fn rd_kafka_conf_get_default_topic_conf(
1031 conf: *mut rd_kafka_conf_t,
1032 ) -> *mut rd_kafka_topic_conf_t;
1033}
1034unsafe extern "C" {
1035 pub fn rd_kafka_conf_get(
1036 conf: *const rd_kafka_conf_t,
1037 name: *const c_char,
1038 dest: *mut c_char,
1039 dest_size: *mut usize,
1040 ) -> rd_kafka_conf_res_t;
1041}
1042unsafe extern "C" {
1043 pub fn rd_kafka_topic_conf_get(
1044 conf: *const rd_kafka_topic_conf_t,
1045 name: *const c_char,
1046 dest: *mut c_char,
1047 dest_size: *mut usize,
1048 ) -> rd_kafka_conf_res_t;
1049}
1050unsafe extern "C" {
1051 pub fn rd_kafka_conf_dump(conf: *mut rd_kafka_conf_t, cntp: *mut usize) -> *mut *const c_char;
1052}
1053unsafe extern "C" {
1054 pub fn rd_kafka_topic_conf_dump(
1055 conf: *mut rd_kafka_topic_conf_t,
1056 cntp: *mut usize,
1057 ) -> *mut *const c_char;
1058}
1059unsafe extern "C" {
1060 pub fn rd_kafka_conf_dump_free(arr: *mut *const c_char, cnt: usize);
1061}
1062unsafe extern "C" {
1063 pub fn rd_kafka_conf_properties_show(fp: *mut FILE);
1064}
1065unsafe extern "C" {
1066 pub fn rd_kafka_topic_conf_new() -> *mut rd_kafka_topic_conf_t;
1067}
1068unsafe extern "C" {
1069 pub fn rd_kafka_topic_conf_dup(
1070 conf: *const rd_kafka_topic_conf_t,
1071 ) -> *mut rd_kafka_topic_conf_t;
1072}
1073unsafe extern "C" {
1074 pub fn rd_kafka_default_topic_conf_dup(rk: *mut rd_kafka_t) -> *mut rd_kafka_topic_conf_t;
1075}
1076unsafe extern "C" {
1077 pub fn rd_kafka_topic_conf_destroy(topic_conf: *mut rd_kafka_topic_conf_t);
1078}
1079unsafe extern "C" {
1080 pub fn rd_kafka_topic_conf_set(
1081 conf: *mut rd_kafka_topic_conf_t,
1082 name: *const c_char,
1083 value: *const c_char,
1084 errstr: *mut c_char,
1085 errstr_size: usize,
1086 ) -> rd_kafka_conf_res_t;
1087}
1088unsafe extern "C" {
1089 pub fn rd_kafka_topic_conf_set_opaque(
1090 conf: *mut rd_kafka_topic_conf_t,
1091 rkt_opaque: *mut c_void,
1092 );
1093}
1094unsafe extern "C" {
1095 pub fn rd_kafka_topic_conf_set_partitioner_cb(
1096 topic_conf: *mut rd_kafka_topic_conf_t,
1097 partitioner: Option<
1098 unsafe extern "C" fn(
1099 rkt: *const rd_kafka_topic_t,
1100 keydata: *const c_void,
1101 keylen: usize,
1102 partition_cnt: i32,
1103 rkt_opaque: *mut c_void,
1104 msg_opaque: *mut c_void,
1105 ) -> i32,
1106 >,
1107 );
1108}
1109unsafe extern "C" {
1110 pub fn rd_kafka_topic_conf_set_msg_order_cmp(
1111 topic_conf: *mut rd_kafka_topic_conf_t,
1112 msg_order_cmp: Option<
1113 unsafe extern "C" fn(
1114 a: *const rd_kafka_message_t,
1115 b: *const rd_kafka_message_t,
1116 ) -> c_int,
1117 >,
1118 );
1119}
1120unsafe extern "C" {
1121 pub fn rd_kafka_topic_partition_available(
1122 rkt: *const rd_kafka_topic_t,
1123 partition: i32,
1124 ) -> c_int;
1125}
1126unsafe extern "C" {
1127 pub fn rd_kafka_msg_partitioner_random(
1128 rkt: *const rd_kafka_topic_t,
1129 key: *const c_void,
1130 keylen: usize,
1131 partition_cnt: i32,
1132 rkt_opaque: *mut c_void,
1133 msg_opaque: *mut c_void,
1134 ) -> i32;
1135}
1136unsafe extern "C" {
1137 pub fn rd_kafka_msg_partitioner_consistent(
1138 rkt: *const rd_kafka_topic_t,
1139 key: *const c_void,
1140 keylen: usize,
1141 partition_cnt: i32,
1142 rkt_opaque: *mut c_void,
1143 msg_opaque: *mut c_void,
1144 ) -> i32;
1145}
1146unsafe extern "C" {
1147 pub fn rd_kafka_msg_partitioner_consistent_random(
1148 rkt: *const rd_kafka_topic_t,
1149 key: *const c_void,
1150 keylen: usize,
1151 partition_cnt: i32,
1152 rkt_opaque: *mut c_void,
1153 msg_opaque: *mut c_void,
1154 ) -> i32;
1155}
1156unsafe extern "C" {
1157 pub fn rd_kafka_msg_partitioner_murmur2(
1158 rkt: *const rd_kafka_topic_t,
1159 key: *const c_void,
1160 keylen: usize,
1161 partition_cnt: i32,
1162 rkt_opaque: *mut c_void,
1163 msg_opaque: *mut c_void,
1164 ) -> i32;
1165}
1166unsafe extern "C" {
1167 pub fn rd_kafka_msg_partitioner_murmur2_random(
1168 rkt: *const rd_kafka_topic_t,
1169 key: *const c_void,
1170 keylen: usize,
1171 partition_cnt: i32,
1172 rkt_opaque: *mut c_void,
1173 msg_opaque: *mut c_void,
1174 ) -> i32;
1175}
1176unsafe extern "C" {
1177 pub fn rd_kafka_msg_partitioner_fnv1a(
1178 rkt: *const rd_kafka_topic_t,
1179 key: *const c_void,
1180 keylen: usize,
1181 partition_cnt: i32,
1182 rkt_opaque: *mut c_void,
1183 msg_opaque: *mut c_void,
1184 ) -> i32;
1185}
1186unsafe extern "C" {
1187 pub fn rd_kafka_msg_partitioner_fnv1a_random(
1188 rkt: *const rd_kafka_topic_t,
1189 key: *const c_void,
1190 keylen: usize,
1191 partition_cnt: i32,
1192 rkt_opaque: *mut c_void,
1193 msg_opaque: *mut c_void,
1194 ) -> i32;
1195}
1196unsafe extern "C" {
1197 pub fn rd_kafka_new(
1198 type_: rd_kafka_type_t,
1199 conf: *mut rd_kafka_conf_t,
1200 errstr: *mut c_char,
1201 errstr_size: usize,
1202 ) -> *mut rd_kafka_t;
1203}
1204unsafe extern "C" {
1205 pub fn rd_kafka_destroy(rk: *mut rd_kafka_t);
1206}
1207unsafe extern "C" {
1208 pub fn rd_kafka_destroy_flags(rk: *mut rd_kafka_t, flags: c_int);
1209}
1210unsafe extern "C" {
1211 pub fn rd_kafka_share_queue_get_sasl(rkshare: *mut rd_kafka_share_t) -> *mut rd_kafka_queue_t;
1212}
1213unsafe extern "C" {
1214 pub fn rd_kafka_share_oauthbearer_set_token(
1215 rkshare: *mut rd_kafka_share_t,
1216 token_value: *const c_char,
1217 md_lifetime_ms: i64,
1218 md_principal_name: *const c_char,
1219 extensions: *mut *const c_char,
1220 extension_size: usize,
1221 errstr: *mut c_char,
1222 errstr_size: usize,
1223 ) -> rd_kafka_resp_err_t;
1224}
1225unsafe extern "C" {
1226 pub fn rd_kafka_share_oauthbearer_set_token_failure(
1227 rkshare: *mut rd_kafka_share_t,
1228 errstr: *const c_char,
1229 ) -> rd_kafka_resp_err_t;
1230}
1231unsafe extern "C" {
1232 pub fn rd_kafka_name(rk: *const rd_kafka_t) -> *const c_char;
1233}
1234unsafe extern "C" {
1235 pub fn rd_kafka_type(rk: *const rd_kafka_t) -> rd_kafka_type_t;
1236}
1237unsafe extern "C" {
1238 pub fn rd_kafka_memberid(rk: *const rd_kafka_t) -> *mut c_char;
1239}
1240unsafe extern "C" {
1241 pub fn rd_kafka_clusterid(rk: *mut rd_kafka_t, timeout_ms: c_int) -> *mut c_char;
1242}
1243unsafe extern "C" {
1244 pub fn rd_kafka_controllerid(rk: *mut rd_kafka_t, timeout_ms: c_int) -> i32;
1245}
1246unsafe extern "C" {
1247 pub fn rd_kafka_topic_new(
1248 rk: *mut rd_kafka_t,
1249 topic: *const c_char,
1250 conf: *mut rd_kafka_topic_conf_t,
1251 ) -> *mut rd_kafka_topic_t;
1252}
1253unsafe extern "C" {
1254 pub fn rd_kafka_topic_destroy(rkt: *mut rd_kafka_topic_t);
1255}
1256unsafe extern "C" {
1257 pub fn rd_kafka_topic_name(rkt: *const rd_kafka_topic_t) -> *const c_char;
1258}
1259unsafe extern "C" {
1260 pub fn rd_kafka_topic_opaque(rkt: *const rd_kafka_topic_t) -> *mut c_void;
1261}
1262unsafe extern "C" {
1263 pub fn rd_kafka_poll(rk: *mut rd_kafka_t, timeout_ms: c_int) -> c_int;
1264}
1265unsafe extern "C" {
1266 pub fn rd_kafka_yield(rk: *mut rd_kafka_t);
1267}
1268unsafe extern "C" {
1269 pub fn rd_kafka_pause_partitions(
1270 rk: *mut rd_kafka_t,
1271 partitions: *mut rd_kafka_topic_partition_list_t,
1272 ) -> rd_kafka_resp_err_t;
1273}
1274unsafe extern "C" {
1275 pub fn rd_kafka_resume_partitions(
1276 rk: *mut rd_kafka_t,
1277 partitions: *mut rd_kafka_topic_partition_list_t,
1278 ) -> rd_kafka_resp_err_t;
1279}
1280unsafe extern "C" {
1281 pub fn rd_kafka_query_watermark_offsets(
1282 rk: *mut rd_kafka_t,
1283 topic: *const c_char,
1284 partition: i32,
1285 low: *mut i64,
1286 high: *mut i64,
1287 timeout_ms: c_int,
1288 ) -> rd_kafka_resp_err_t;
1289}
1290unsafe extern "C" {
1291 pub fn rd_kafka_get_watermark_offsets(
1292 rk: *mut rd_kafka_t,
1293 topic: *const c_char,
1294 partition: i32,
1295 low: *mut i64,
1296 high: *mut i64,
1297 ) -> rd_kafka_resp_err_t;
1298}
1299unsafe extern "C" {
1300 pub fn rd_kafka_offsets_for_times(
1301 rk: *mut rd_kafka_t,
1302 offsets: *mut rd_kafka_topic_partition_list_t,
1303 timeout_ms: c_int,
1304 ) -> rd_kafka_resp_err_t;
1305}
1306unsafe extern "C" {
1307 pub fn rd_kafka_mem_calloc(rk: *mut rd_kafka_t, num: usize, size: usize) -> *mut c_void;
1308}
1309unsafe extern "C" {
1310 pub fn rd_kafka_mem_malloc(rk: *mut rd_kafka_t, size: usize) -> *mut c_void;
1311}
1312unsafe extern "C" {
1313 pub fn rd_kafka_mem_free(rk: *mut rd_kafka_t, ptr: *mut c_void);
1314}
1315unsafe extern "C" {
1316 pub fn rd_kafka_queue_new(rk: *mut rd_kafka_t) -> *mut rd_kafka_queue_t;
1317}
1318unsafe extern "C" {
1319 pub fn rd_kafka_queue_destroy(rkqu: *mut rd_kafka_queue_t);
1320}
1321unsafe extern "C" {
1322 pub fn rd_kafka_queue_get_main(rk: *mut rd_kafka_t) -> *mut rd_kafka_queue_t;
1323}
1324unsafe extern "C" {
1325 pub fn rd_kafka_queue_get_sasl(rk: *mut rd_kafka_t) -> *mut rd_kafka_queue_t;
1326}
1327unsafe extern "C" {
1328 pub fn rd_kafka_sasl_background_callbacks_enable(rk: *mut rd_kafka_t) -> *mut rd_kafka_error_t;
1329}
1330unsafe extern "C" {
1331 pub fn rd_kafka_sasl_set_credentials(
1332 rk: *mut rd_kafka_t,
1333 username: *const c_char,
1334 password: *const c_char,
1335 ) -> *mut rd_kafka_error_t;
1336}
1337unsafe extern "C" {
1338 pub fn rd_kafka_queue_get_consumer(rk: *mut rd_kafka_t) -> *mut rd_kafka_queue_t;
1339}
1340unsafe extern "C" {
1341 pub fn rd_kafka_queue_get_partition(
1342 rk: *mut rd_kafka_t,
1343 topic: *const c_char,
1344 partition: i32,
1345 ) -> *mut rd_kafka_queue_t;
1346}
1347unsafe extern "C" {
1348 pub fn rd_kafka_queue_get_background(rk: *mut rd_kafka_t) -> *mut rd_kafka_queue_t;
1349}
1350unsafe extern "C" {
1351 pub fn rd_kafka_queue_forward(src: *mut rd_kafka_queue_t, dst: *mut rd_kafka_queue_t);
1352}
1353unsafe extern "C" {
1354 pub fn rd_kafka_set_log_queue(
1355 rk: *mut rd_kafka_t,
1356 rkqu: *mut rd_kafka_queue_t,
1357 ) -> rd_kafka_resp_err_t;
1358}
1359unsafe extern "C" {
1360 pub fn rd_kafka_queue_length(rkqu: *mut rd_kafka_queue_t) -> usize;
1361}
1362unsafe extern "C" {
1363 pub fn rd_kafka_queue_io_event_enable(
1364 rkqu: *mut rd_kafka_queue_t,
1365 fd: c_int,
1366 payload: *const c_void,
1367 size: usize,
1368 );
1369}
1370unsafe extern "C" {
1371 pub fn rd_kafka_queue_cb_event_enable(
1372 rkqu: *mut rd_kafka_queue_t,
1373 event_cb: Option<unsafe extern "C" fn(rk: *mut rd_kafka_t, qev_opaque: *mut c_void)>,
1374 qev_opaque: *mut c_void,
1375 );
1376}
1377unsafe extern "C" {
1378 pub fn rd_kafka_queue_yield(rkqu: *mut rd_kafka_queue_t);
1379}
1380unsafe extern "C" {
1381 pub fn rd_kafka_consume_start(rkt: *mut rd_kafka_topic_t, partition: i32, offset: i64)
1382 -> c_int;
1383}
1384unsafe extern "C" {
1385 pub fn rd_kafka_consume_start_queue(
1386 rkt: *mut rd_kafka_topic_t,
1387 partition: i32,
1388 offset: i64,
1389 rkqu: *mut rd_kafka_queue_t,
1390 ) -> c_int;
1391}
1392unsafe extern "C" {
1393 pub fn rd_kafka_consume_stop(rkt: *mut rd_kafka_topic_t, partition: i32) -> c_int;
1394}
1395unsafe extern "C" {
1396 pub fn rd_kafka_seek(
1397 rkt: *mut rd_kafka_topic_t,
1398 partition: i32,
1399 offset: i64,
1400 timeout_ms: c_int,
1401 ) -> rd_kafka_resp_err_t;
1402}
1403unsafe extern "C" {
1404 pub fn rd_kafka_seek_partitions(
1405 rk: *mut rd_kafka_t,
1406 partitions: *mut rd_kafka_topic_partition_list_t,
1407 timeout_ms: c_int,
1408 ) -> *mut rd_kafka_error_t;
1409}
1410unsafe extern "C" {
1411 pub fn rd_kafka_consume(
1412 rkt: *mut rd_kafka_topic_t,
1413 partition: i32,
1414 timeout_ms: c_int,
1415 ) -> *mut rd_kafka_message_t;
1416}
1417unsafe extern "C" {
1418 pub fn rd_kafka_consume_batch(
1419 rkt: *mut rd_kafka_topic_t,
1420 partition: i32,
1421 timeout_ms: c_int,
1422 rkmessages: *mut *mut rd_kafka_message_t,
1423 rkmessages_size: usize,
1424 ) -> isize;
1425}
1426unsafe extern "C" {
1427 pub fn rd_kafka_consume_callback(
1428 rkt: *mut rd_kafka_topic_t,
1429 partition: i32,
1430 timeout_ms: c_int,
1431 consume_cb: Option<
1432 unsafe extern "C" fn(rkmessage: *mut rd_kafka_message_t, commit_opaque: *mut c_void),
1433 >,
1434 commit_opaque: *mut c_void,
1435 ) -> c_int;
1436}
1437unsafe extern "C" {
1438 pub fn rd_kafka_consume_queue(
1439 rkqu: *mut rd_kafka_queue_t,
1440 timeout_ms: c_int,
1441 ) -> *mut rd_kafka_message_t;
1442}
1443unsafe extern "C" {
1444 pub fn rd_kafka_consume_batch_queue(
1445 rkqu: *mut rd_kafka_queue_t,
1446 timeout_ms: c_int,
1447 rkmessages: *mut *mut rd_kafka_message_t,
1448 rkmessages_size: usize,
1449 ) -> isize;
1450}
1451unsafe extern "C" {
1452 pub fn rd_kafka_consume_callback_queue(
1453 rkqu: *mut rd_kafka_queue_t,
1454 timeout_ms: c_int,
1455 consume_cb: Option<
1456 unsafe extern "C" fn(rkmessage: *mut rd_kafka_message_t, commit_opaque: *mut c_void),
1457 >,
1458 commit_opaque: *mut c_void,
1459 ) -> c_int;
1460}
1461unsafe extern "C" {
1462 pub fn rd_kafka_offset_store(
1463 rkt: *mut rd_kafka_topic_t,
1464 partition: i32,
1465 offset: i64,
1466 ) -> rd_kafka_resp_err_t;
1467}
1468unsafe extern "C" {
1469 pub fn rd_kafka_offsets_store(
1470 rk: *mut rd_kafka_t,
1471 offsets: *mut rd_kafka_topic_partition_list_t,
1472 ) -> rd_kafka_resp_err_t;
1473}
1474unsafe extern "C" {
1475 pub fn rd_kafka_offset_store_message(
1476 rkmessage: *mut rd_kafka_message_t,
1477 ) -> *mut rd_kafka_error_t;
1478}
1479unsafe extern "C" {
1480 pub fn rd_kafka_subscribe(
1481 rk: *mut rd_kafka_t,
1482 topics: *const rd_kafka_topic_partition_list_t,
1483 ) -> rd_kafka_resp_err_t;
1484}
1485unsafe extern "C" {
1486 pub fn rd_kafka_unsubscribe(rk: *mut rd_kafka_t) -> rd_kafka_resp_err_t;
1487}
1488unsafe extern "C" {
1489 pub fn rd_kafka_subscription(
1490 rk: *mut rd_kafka_t,
1491 topics: *mut *mut rd_kafka_topic_partition_list_t,
1492 ) -> rd_kafka_resp_err_t;
1493}
1494unsafe extern "C" {
1495 pub fn rd_kafka_consumer_poll(
1496 rk: *mut rd_kafka_t,
1497 timeout_ms: c_int,
1498 ) -> *mut rd_kafka_message_t;
1499}
1500unsafe extern "C" {
1501 pub fn rd_kafka_consumer_close(rk: *mut rd_kafka_t) -> rd_kafka_resp_err_t;
1502}
1503unsafe extern "C" {
1504 pub fn rd_kafka_consumer_close_queue(
1505 rk: *mut rd_kafka_t,
1506 rkqu: *mut rd_kafka_queue_t,
1507 ) -> *mut rd_kafka_error_t;
1508}
1509unsafe extern "C" {
1510 pub fn rd_kafka_consumer_closed(rk: *mut rd_kafka_t) -> c_int;
1511}
1512unsafe extern "C" {
1513 pub fn rd_kafka_incremental_assign(
1514 rk: *mut rd_kafka_t,
1515 partitions: *const rd_kafka_topic_partition_list_t,
1516 ) -> *mut rd_kafka_error_t;
1517}
1518unsafe extern "C" {
1519 pub fn rd_kafka_incremental_unassign(
1520 rk: *mut rd_kafka_t,
1521 partitions: *const rd_kafka_topic_partition_list_t,
1522 ) -> *mut rd_kafka_error_t;
1523}
1524unsafe extern "C" {
1525 pub fn rd_kafka_rebalance_protocol(rk: *mut rd_kafka_t) -> *const c_char;
1526}
1527unsafe extern "C" {
1528 pub fn rd_kafka_assign(
1529 rk: *mut rd_kafka_t,
1530 partitions: *const rd_kafka_topic_partition_list_t,
1531 ) -> rd_kafka_resp_err_t;
1532}
1533unsafe extern "C" {
1534 pub fn rd_kafka_assignment(
1535 rk: *mut rd_kafka_t,
1536 partitions: *mut *mut rd_kafka_topic_partition_list_t,
1537 ) -> rd_kafka_resp_err_t;
1538}
1539unsafe extern "C" {
1540 pub fn rd_kafka_assignment_lost(rk: *mut rd_kafka_t) -> c_int;
1541}
1542unsafe extern "C" {
1543 pub fn rd_kafka_commit(
1544 rk: *mut rd_kafka_t,
1545 offsets: *const rd_kafka_topic_partition_list_t,
1546 async_: c_int,
1547 ) -> rd_kafka_resp_err_t;
1548}
1549unsafe extern "C" {
1550 pub fn rd_kafka_commit_message(
1551 rk: *mut rd_kafka_t,
1552 rkmessage: *const rd_kafka_message_t,
1553 async_: c_int,
1554 ) -> rd_kafka_resp_err_t;
1555}
1556unsafe extern "C" {
1557 pub fn rd_kafka_commit_queue(
1558 rk: *mut rd_kafka_t,
1559 offsets: *const rd_kafka_topic_partition_list_t,
1560 rkqu: *mut rd_kafka_queue_t,
1561 cb: Option<
1562 unsafe extern "C" fn(
1563 rk: *mut rd_kafka_t,
1564 err: rd_kafka_resp_err_t,
1565 offsets: *mut rd_kafka_topic_partition_list_t,
1566 commit_opaque: *mut c_void,
1567 ),
1568 >,
1569 commit_opaque: *mut c_void,
1570 ) -> rd_kafka_resp_err_t;
1571}
1572unsafe extern "C" {
1573 pub fn rd_kafka_committed(
1574 rk: *mut rd_kafka_t,
1575 partitions: *mut rd_kafka_topic_partition_list_t,
1576 timeout_ms: c_int,
1577 ) -> rd_kafka_resp_err_t;
1578}
1579unsafe extern "C" {
1580 pub fn rd_kafka_position(
1581 rk: *mut rd_kafka_t,
1582 partitions: *mut rd_kafka_topic_partition_list_t,
1583 ) -> rd_kafka_resp_err_t;
1584}
1585unsafe extern "C" {
1586 pub fn rd_kafka_consumer_group_metadata(
1587 rk: *mut rd_kafka_t,
1588 ) -> *mut rd_kafka_consumer_group_metadata_t;
1589}
1590unsafe extern "C" {
1591 pub fn rd_kafka_consumer_group_metadata_new(
1592 group_id: *const c_char,
1593 ) -> *mut rd_kafka_consumer_group_metadata_t;
1594}
1595unsafe extern "C" {
1596 pub fn rd_kafka_consumer_group_metadata_new_with_genid(
1597 group_id: *const c_char,
1598 generation_id: i32,
1599 member_id: *const c_char,
1600 group_instance_id: *const c_char,
1601 ) -> *mut rd_kafka_consumer_group_metadata_t;
1602}
1603unsafe extern "C" {
1604 pub fn rd_kafka_consumer_group_metadata_group_id(
1605 group_metadata: *const rd_kafka_consumer_group_metadata_t,
1606 ) -> *const c_char;
1607}
1608unsafe extern "C" {
1609 pub fn rd_kafka_consumer_group_metadata_group_instance_id(
1610 group_metadata: *const rd_kafka_consumer_group_metadata_t,
1611 ) -> *const c_char;
1612}
1613unsafe extern "C" {
1614 pub fn rd_kafka_consumer_group_metadata_member_id(
1615 group_metadata: *const rd_kafka_consumer_group_metadata_t,
1616 ) -> *const c_char;
1617}
1618unsafe extern "C" {
1619 pub fn rd_kafka_consumer_group_metadata_generation_id(
1620 group_metadata: *const rd_kafka_consumer_group_metadata_t,
1621 ) -> i32;
1622}
1623unsafe extern "C" {
1624 pub fn rd_kafka_consumer_group_metadata_destroy(arg1: *mut rd_kafka_consumer_group_metadata_t);
1625}
1626unsafe extern "C" {
1627 pub fn rd_kafka_consumer_group_metadata_write(
1628 cgmd: *const rd_kafka_consumer_group_metadata_t,
1629 bufferp: *mut *mut c_void,
1630 sizep: *mut usize,
1631 ) -> *mut rd_kafka_error_t;
1632}
1633unsafe extern "C" {
1634 pub fn rd_kafka_consumer_group_metadata_read(
1635 cgmdp: *mut *mut rd_kafka_consumer_group_metadata_t,
1636 buffer: *const c_void,
1637 size: usize,
1638 ) -> *mut rd_kafka_error_t;
1639}
1640unsafe extern "C" {
1641 pub fn rd_kafka_produce(
1642 rkt: *mut rd_kafka_topic_t,
1643 partition: i32,
1644 msgflags: c_int,
1645 payload: *mut c_void,
1646 len: usize,
1647 key: *const c_void,
1648 keylen: usize,
1649 msg_opaque: *mut c_void,
1650 ) -> c_int;
1651}
1652unsafe extern "C" {
1653 pub fn rd_kafka_producev(rk: *mut rd_kafka_t, ...) -> rd_kafka_resp_err_t;
1654}
1655unsafe extern "C" {
1656 pub fn rd_kafka_produceva(
1657 rk: *mut rd_kafka_t,
1658 vus: *const rd_kafka_vu_t,
1659 cnt: usize,
1660 ) -> *mut rd_kafka_error_t;
1661}
1662unsafe extern "C" {
1663 pub fn rd_kafka_produce_batch(
1664 rkt: *mut rd_kafka_topic_t,
1665 partition: i32,
1666 msgflags: c_int,
1667 rkmessages: *mut rd_kafka_message_t,
1668 message_cnt: c_int,
1669 ) -> c_int;
1670}
1671unsafe extern "C" {
1672 pub fn rd_kafka_flush(rk: *mut rd_kafka_t, timeout_ms: c_int) -> rd_kafka_resp_err_t;
1673}
1674unsafe extern "C" {
1675 pub fn rd_kafka_purge(rk: *mut rd_kafka_t, purge_flags: c_int) -> rd_kafka_resp_err_t;
1676}
1677#[repr(u32)]
1678#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1679pub enum rd_kafka_share_AcknowledgeType_s {
1680 RD_KAFKA_SHARE_ACKNOWLEDGE_TYPE_ACCEPT = 1,
1681 RD_KAFKA_SHARE_ACKNOWLEDGE_TYPE_RELEASE = 2,
1682 RD_KAFKA_SHARE_ACKNOWLEDGE_TYPE_REJECT = 3,
1683}
1684pub use self::rd_kafka_share_AcknowledgeType_s as rd_kafka_share_AcknowledgeType_t;
1685#[repr(C)]
1686#[derive(Debug)]
1687pub struct rd_kafka_share_partition_offsets_s {
1688 _unused: [u8; 0],
1689}
1690pub type rd_kafka_share_partition_offsets_t = rd_kafka_share_partition_offsets_s;
1691#[repr(C)]
1692#[derive(Debug)]
1693pub struct rd_kafka_share_partition_offsets_list_s {
1694 _unused: [u8; 0],
1695}
1696pub type rd_kafka_share_partition_offsets_list_t = rd_kafka_share_partition_offsets_list_s;
1697unsafe extern "C" {
1698 pub fn rd_kafka_share_partition_offsets_list_count(
1699 list: *const rd_kafka_share_partition_offsets_list_t,
1700 ) -> usize;
1701}
1702unsafe extern "C" {
1703 pub fn rd_kafka_share_partition_offsets_list_get(
1704 list: *const rd_kafka_share_partition_offsets_list_t,
1705 index: usize,
1706 ) -> *const rd_kafka_share_partition_offsets_t;
1707}
1708unsafe extern "C" {
1709 pub fn rd_kafka_share_partition_offsets_list_destroy(
1710 list: *mut rd_kafka_share_partition_offsets_list_t,
1711 );
1712}
1713unsafe extern "C" {
1714 pub fn rd_kafka_share_partition_offsets_partition(
1715 partition_offsets: *const rd_kafka_share_partition_offsets_t,
1716 ) -> *const rd_kafka_topic_partition_t;
1717}
1718unsafe extern "C" {
1719 pub fn rd_kafka_share_partition_offsets_offsets(
1720 partition_offsets: *const rd_kafka_share_partition_offsets_t,
1721 ) -> *const i64;
1722}
1723unsafe extern "C" {
1724 pub fn rd_kafka_share_partition_offsets_offsets_cnt(
1725 partition_offsets: *const rd_kafka_share_partition_offsets_t,
1726 ) -> usize;
1727}
1728unsafe extern "C" {
1729 pub fn rd_kafka_share_consumer_new(
1730 conf: *mut rd_kafka_conf_t,
1731 errstr: *mut c_char,
1732 errstr_size: usize,
1733 ) -> *mut rd_kafka_share_t;
1734}
1735unsafe extern "C" {
1736 pub fn rd_kafka_share_set_acknowledgement_commit_cb(
1737 rkshare: *mut rd_kafka_share_t,
1738 share_acknowledgement_commit_cb: Option<
1739 unsafe extern "C" fn(
1740 rkshare: *mut rd_kafka_share_t,
1741 partitions: *mut rd_kafka_share_partition_offsets_list_t,
1742 err: rd_kafka_resp_err_t,
1743 opaque: *mut c_void,
1744 ),
1745 >,
1746 opaque: *mut c_void,
1747 ) -> *mut rd_kafka_error_t;
1748}
1749unsafe extern "C" {
1750 pub fn rd_kafka_share_subscribe(
1751 rkshare: *mut rd_kafka_share_t,
1752 topics: *const rd_kafka_topic_partition_list_t,
1753 ) -> rd_kafka_resp_err_t;
1754}
1755unsafe extern "C" {
1756 pub fn rd_kafka_share_unsubscribe(rkshare: *mut rd_kafka_share_t) -> rd_kafka_resp_err_t;
1757}
1758unsafe extern "C" {
1759 pub fn rd_kafka_share_subscription(
1760 rkshare: *mut rd_kafka_share_t,
1761 topics: *mut *mut rd_kafka_topic_partition_list_t,
1762 ) -> rd_kafka_resp_err_t;
1763}
1764unsafe extern "C" {
1765 pub fn rd_kafka_share_poll(
1766 rkshare: *mut rd_kafka_share_t,
1767 timeout_ms: c_int,
1768 rkmessages: *mut *mut rd_kafka_messages_t,
1769 ) -> *mut rd_kafka_error_t;
1770}
1771unsafe extern "C" {
1772 pub fn rd_kafka_share_acknowledge(
1773 rkshare: *mut rd_kafka_share_t,
1774 rkmessage: *const rd_kafka_message_t,
1775 ) -> rd_kafka_resp_err_t;
1776}
1777unsafe extern "C" {
1778 pub fn rd_kafka_share_acknowledge_type(
1779 rkshare: *mut rd_kafka_share_t,
1780 rkmessage: *const rd_kafka_message_t,
1781 type_: rd_kafka_share_AcknowledgeType_t,
1782 ) -> rd_kafka_resp_err_t;
1783}
1784unsafe extern "C" {
1785 pub fn rd_kafka_share_acknowledge_offset(
1786 rkshare: *mut rd_kafka_share_t,
1787 topic: *const c_char,
1788 partition: i32,
1789 offset: i64,
1790 type_: rd_kafka_share_AcknowledgeType_t,
1791 ) -> rd_kafka_resp_err_t;
1792}
1793unsafe extern "C" {
1794 pub fn rd_kafka_share_commit_async(rkshare: *mut rd_kafka_share_t) -> *mut rd_kafka_error_t;
1795}
1796unsafe extern "C" {
1797 pub fn rd_kafka_share_commit_sync(
1798 rkshare: *mut rd_kafka_share_t,
1799 timeout_ms: c_int,
1800 partitions: *mut *mut rd_kafka_topic_partition_list_t,
1801 ) -> *mut rd_kafka_error_t;
1802}
1803unsafe extern "C" {
1804 pub fn rd_kafka_share_consumer_close(rkshare: *mut rd_kafka_share_t) -> *mut rd_kafka_error_t;
1805}
1806unsafe extern "C" {
1807 pub fn rd_kafka_share_consumer_close_queue(
1808 rkshare: *mut rd_kafka_share_t,
1809 rkqu: *mut rd_kafka_queue_t,
1810 ) -> *mut rd_kafka_error_t;
1811}
1812unsafe extern "C" {
1813 pub fn rd_kafka_share_consumer_closed(rkshare: *mut rd_kafka_share_t) -> c_int;
1814}
1815unsafe extern "C" {
1816 pub fn rd_kafka_share_destroy(rkshare: *mut rd_kafka_share_t) -> *mut rd_kafka_error_t;
1817}
1818unsafe extern "C" {
1819 pub fn rd_kafka_share_destroy_flags(
1820 rkshare: *mut rd_kafka_share_t,
1821 flags: c_int,
1822 ) -> *mut rd_kafka_error_t;
1823}
1824unsafe extern "C" {
1825 pub fn rd_kafka_share_set_log_queue(
1826 rkshare: *mut rd_kafka_share_t,
1827 rkqu: *mut rd_kafka_queue_t,
1828 ) -> *mut rd_kafka_error_t;
1829}
1830unsafe extern "C" {
1831 pub fn rd_kafka_share_sasl_background_callbacks_enable(
1832 rkshare: *mut rd_kafka_share_t,
1833 ) -> *mut rd_kafka_error_t;
1834}
1835unsafe extern "C" {
1836 pub fn rd_kafka_share_sasl_set_credentials(
1837 rkshare: *mut rd_kafka_share_t,
1838 username: *const c_char,
1839 password: *const c_char,
1840 ) -> *mut rd_kafka_error_t;
1841}
1842#[repr(C)]
1843#[derive(Debug, Copy, Clone)]
1844pub struct rd_kafka_metadata_broker {
1845 pub id: i32,
1846 pub host: *mut c_char,
1847 pub port: c_int,
1848}
1849pub type rd_kafka_metadata_broker_t = rd_kafka_metadata_broker;
1850#[repr(C)]
1851#[derive(Debug, Copy, Clone)]
1852pub struct rd_kafka_metadata_partition {
1853 pub id: i32,
1854 pub err: rd_kafka_resp_err_t,
1855 pub leader: i32,
1856 pub replica_cnt: c_int,
1857 pub replicas: *mut i32,
1858 pub isr_cnt: c_int,
1859 pub isrs: *mut i32,
1860}
1861pub type rd_kafka_metadata_partition_t = rd_kafka_metadata_partition;
1862#[repr(C)]
1863#[derive(Debug, Copy, Clone)]
1864pub struct rd_kafka_metadata_topic {
1865 pub topic: *mut c_char,
1866 pub partition_cnt: c_int,
1867 pub partitions: *mut rd_kafka_metadata_partition,
1868 pub err: rd_kafka_resp_err_t,
1869}
1870pub type rd_kafka_metadata_topic_t = rd_kafka_metadata_topic;
1871#[repr(C)]
1872#[derive(Debug, Copy, Clone)]
1873pub struct rd_kafka_metadata {
1874 pub broker_cnt: c_int,
1875 pub brokers: *mut rd_kafka_metadata_broker,
1876 pub topic_cnt: c_int,
1877 pub topics: *mut rd_kafka_metadata_topic,
1878 pub orig_broker_id: i32,
1879 pub orig_broker_name: *mut c_char,
1880}
1881pub type rd_kafka_metadata_t = rd_kafka_metadata;
1882unsafe extern "C" {
1883 pub fn rd_kafka_metadata(
1884 rk: *mut rd_kafka_t,
1885 all_topics: c_int,
1886 only_rkt: *mut rd_kafka_topic_t,
1887 metadatap: *mut *const rd_kafka_metadata,
1888 timeout_ms: c_int,
1889 ) -> rd_kafka_resp_err_t;
1890}
1891unsafe extern "C" {
1892 pub fn rd_kafka_metadata_destroy(metadata: *const rd_kafka_metadata);
1893}
1894#[repr(C)]
1895#[derive(Debug)]
1896pub struct rd_kafka_Node_s {
1897 _unused: [u8; 0],
1898}
1899pub type rd_kafka_Node_t = rd_kafka_Node_s;
1900unsafe extern "C" {
1901 pub fn rd_kafka_Node_id(node: *const rd_kafka_Node_t) -> c_int;
1902}
1903unsafe extern "C" {
1904 pub fn rd_kafka_Node_host(node: *const rd_kafka_Node_t) -> *const c_char;
1905}
1906unsafe extern "C" {
1907 pub fn rd_kafka_Node_port(node: *const rd_kafka_Node_t) -> u16;
1908}
1909unsafe extern "C" {
1910 pub fn rd_kafka_Node_rack(node: *const rd_kafka_Node_t) -> *const c_char;
1911}
1912#[repr(C)]
1913#[derive(Debug, Copy, Clone)]
1914pub struct rd_kafka_group_member_info {
1915 pub member_id: *mut c_char,
1916 pub client_id: *mut c_char,
1917 pub client_host: *mut c_char,
1918 pub member_metadata: *mut c_void,
1919 pub member_metadata_size: c_int,
1920 pub member_assignment: *mut c_void,
1921 pub member_assignment_size: c_int,
1922}
1923#[repr(u32)]
1924#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1925pub enum rd_kafka_consumer_group_state_t {
1926 RD_KAFKA_CONSUMER_GROUP_STATE_UNKNOWN = 0,
1927 RD_KAFKA_CONSUMER_GROUP_STATE_PREPARING_REBALANCE = 1,
1928 RD_KAFKA_CONSUMER_GROUP_STATE_COMPLETING_REBALANCE = 2,
1929 RD_KAFKA_CONSUMER_GROUP_STATE_STABLE = 3,
1930 RD_KAFKA_CONSUMER_GROUP_STATE_DEAD = 4,
1931 RD_KAFKA_CONSUMER_GROUP_STATE_EMPTY = 5,
1932 RD_KAFKA_CONSUMER_GROUP_STATE__CNT = 6,
1933}
1934#[repr(u32)]
1935#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1936pub enum rd_kafka_consumer_group_type_t {
1937 RD_KAFKA_CONSUMER_GROUP_TYPE_UNKNOWN = 0,
1938 RD_KAFKA_CONSUMER_GROUP_TYPE_CONSUMER = 1,
1939 RD_KAFKA_CONSUMER_GROUP_TYPE_CLASSIC = 2,
1940 RD_KAFKA_CONSUMER_GROUP_TYPE__CNT = 3,
1941}
1942#[repr(C)]
1943#[derive(Debug, Copy, Clone)]
1944pub struct rd_kafka_group_info {
1945 pub broker: rd_kafka_metadata_broker,
1946 pub group: *mut c_char,
1947 pub err: rd_kafka_resp_err_t,
1948 pub state: *mut c_char,
1949 pub protocol_type: *mut c_char,
1950 pub protocol: *mut c_char,
1951 pub members: *mut rd_kafka_group_member_info,
1952 pub member_cnt: c_int,
1953}
1954#[repr(C)]
1955#[derive(Debug, Copy, Clone)]
1956pub struct rd_kafka_group_list {
1957 pub groups: *mut rd_kafka_group_info,
1958 pub group_cnt: c_int,
1959}
1960unsafe extern "C" {
1961 pub fn rd_kafka_list_groups(
1962 rk: *mut rd_kafka_t,
1963 group: *const c_char,
1964 grplistp: *mut *const rd_kafka_group_list,
1965 timeout_ms: c_int,
1966 ) -> rd_kafka_resp_err_t;
1967}
1968unsafe extern "C" {
1969 pub fn rd_kafka_consumer_group_state_name(
1970 state: rd_kafka_consumer_group_state_t,
1971 ) -> *const c_char;
1972}
1973unsafe extern "C" {
1974 pub fn rd_kafka_consumer_group_state_code(
1975 name: *const c_char,
1976 ) -> rd_kafka_consumer_group_state_t;
1977}
1978unsafe extern "C" {
1979 pub fn rd_kafka_consumer_group_type_name(
1980 type_: rd_kafka_consumer_group_type_t,
1981 ) -> *const c_char;
1982}
1983unsafe extern "C" {
1984 pub fn rd_kafka_consumer_group_type_code(name: *const c_char)
1985 -> rd_kafka_consumer_group_type_t;
1986}
1987unsafe extern "C" {
1988 pub fn rd_kafka_group_list_destroy(grplist: *const rd_kafka_group_list);
1989}
1990unsafe extern "C" {
1991 pub fn rd_kafka_brokers_add(rk: *mut rd_kafka_t, brokerlist: *const c_char) -> c_int;
1992}
1993unsafe extern "C" {
1994 pub fn rd_kafka_brokers_learned_ids(rk: *mut rd_kafka_t, cntp: *mut usize) -> *mut i32;
1995}
1996unsafe extern "C" {
1997 pub fn rd_kafka_set_logger(
1998 rk: *mut rd_kafka_t,
1999 func: Option<
2000 unsafe extern "C" fn(
2001 rk: *const rd_kafka_t,
2002 level: c_int,
2003 fac: *const c_char,
2004 buf: *const c_char,
2005 ),
2006 >,
2007 );
2008}
2009unsafe extern "C" {
2010 pub fn rd_kafka_set_log_level(rk: *mut rd_kafka_t, level: c_int);
2011}
2012unsafe extern "C" {
2013 pub fn rd_kafka_log_print(
2014 rk: *const rd_kafka_t,
2015 level: c_int,
2016 fac: *const c_char,
2017 buf: *const c_char,
2018 );
2019}
2020unsafe extern "C" {
2021 pub fn rd_kafka_log_syslog(
2022 rk: *const rd_kafka_t,
2023 level: c_int,
2024 fac: *const c_char,
2025 buf: *const c_char,
2026 );
2027}
2028unsafe extern "C" {
2029 pub fn rd_kafka_outq_len(rk: *mut rd_kafka_t) -> c_int;
2030}
2031unsafe extern "C" {
2032 pub fn rd_kafka_dump(fp: *mut FILE, rk: *mut rd_kafka_t);
2033}
2034unsafe extern "C" {
2035 pub fn rd_kafka_thread_cnt() -> c_int;
2036}
2037#[repr(u32)]
2038#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2039pub enum rd_kafka_thread_type_t {
2040 RD_KAFKA_THREAD_MAIN = 0,
2041 RD_KAFKA_THREAD_BACKGROUND = 1,
2042 RD_KAFKA_THREAD_BROKER = 2,
2043}
2044unsafe extern "C" {
2045 pub fn rd_kafka_wait_destroyed(timeout_ms: c_int) -> ::std::os::raw::c_int;
2046}
2047unsafe extern "C" {
2048 pub fn rd_kafka_unittest() -> c_int;
2049}
2050unsafe extern "C" {
2051 pub fn rd_kafka_poll_set_consumer(rk: *mut rd_kafka_t) -> rd_kafka_resp_err_t;
2052}
2053pub type rd_kafka_event_type_t = c_int;
2054unsafe extern "C" {
2055 pub fn rd_kafka_event_type(rkev: *const rd_kafka_event_t) -> rd_kafka_event_type_t;
2056}
2057unsafe extern "C" {
2058 pub fn rd_kafka_event_name(rkev: *const rd_kafka_event_t) -> *const c_char;
2059}
2060unsafe extern "C" {
2061 pub fn rd_kafka_event_destroy(rkev: *mut rd_kafka_event_t);
2062}
2063unsafe extern "C" {
2064 pub fn rd_kafka_event_message_next(rkev: *mut rd_kafka_event_t) -> *const rd_kafka_message_t;
2065}
2066unsafe extern "C" {
2067 pub fn rd_kafka_event_message_array(
2068 rkev: *mut rd_kafka_event_t,
2069 rkmessages: *mut *const rd_kafka_message_t,
2070 size: usize,
2071 ) -> usize;
2072}
2073unsafe extern "C" {
2074 pub fn rd_kafka_event_message_count(rkev: *mut rd_kafka_event_t) -> usize;
2075}
2076unsafe extern "C" {
2077 pub fn rd_kafka_event_config_string(rkev: *mut rd_kafka_event_t) -> *const c_char;
2078}
2079unsafe extern "C" {
2080 pub fn rd_kafka_event_error(rkev: *mut rd_kafka_event_t) -> rd_kafka_resp_err_t;
2081}
2082unsafe extern "C" {
2083 pub fn rd_kafka_event_error_string(rkev: *mut rd_kafka_event_t) -> *const c_char;
2084}
2085unsafe extern "C" {
2086 pub fn rd_kafka_event_error_is_fatal(rkev: *mut rd_kafka_event_t) -> c_int;
2087}
2088unsafe extern "C" {
2089 pub fn rd_kafka_event_opaque(rkev: *mut rd_kafka_event_t) -> *mut c_void;
2090}
2091unsafe extern "C" {
2092 pub fn rd_kafka_event_log(
2093 rkev: *mut rd_kafka_event_t,
2094 fac: *mut *const c_char,
2095 str_: *mut *const c_char,
2096 level: *mut c_int,
2097 ) -> c_int;
2098}
2099unsafe extern "C" {
2100 pub fn rd_kafka_event_debug_contexts(
2101 rkev: *mut rd_kafka_event_t,
2102 dst: *mut c_char,
2103 dstsize: usize,
2104 ) -> c_int;
2105}
2106unsafe extern "C" {
2107 pub fn rd_kafka_event_stats(rkev: *mut rd_kafka_event_t) -> *const c_char;
2108}
2109unsafe extern "C" {
2110 pub fn rd_kafka_event_topic_partition_list(
2111 rkev: *mut rd_kafka_event_t,
2112 ) -> *mut rd_kafka_topic_partition_list_t;
2113}
2114unsafe extern "C" {
2115 pub fn rd_kafka_event_topic_partition(
2116 rkev: *mut rd_kafka_event_t,
2117 ) -> *mut rd_kafka_topic_partition_t;
2118}
2119pub type rd_kafka_CreateTopics_result_t = rd_kafka_event_t;
2120pub type rd_kafka_DeleteTopics_result_t = rd_kafka_event_t;
2121pub type rd_kafka_CreateAcls_result_t = rd_kafka_event_t;
2122pub type rd_kafka_DescribeAcls_result_t = rd_kafka_event_t;
2123pub type rd_kafka_DeleteAcls_result_t = rd_kafka_event_t;
2124pub type rd_kafka_CreatePartitions_result_t = rd_kafka_event_t;
2125pub type rd_kafka_AlterConfigs_result_t = rd_kafka_event_t;
2126pub type rd_kafka_IncrementalAlterConfigs_result_t = rd_kafka_event_t;
2127pub type rd_kafka_DescribeConfigs_result_t = rd_kafka_event_t;
2128pub type rd_kafka_DeleteRecords_result_t = rd_kafka_event_t;
2129pub type rd_kafka_ListConsumerGroups_result_t = rd_kafka_event_t;
2130pub type rd_kafka_DescribeConsumerGroups_result_t = rd_kafka_event_t;
2131pub type rd_kafka_DeleteGroups_result_t = rd_kafka_event_t;
2132pub type rd_kafka_DeleteConsumerGroupOffsets_result_t = rd_kafka_event_t;
2133pub type rd_kafka_AlterConsumerGroupOffsets_result_t = rd_kafka_event_t;
2134pub type rd_kafka_ListConsumerGroupOffsets_result_t = rd_kafka_event_t;
2135pub type rd_kafka_DescribeTopics_result_t = rd_kafka_event_t;
2136pub type rd_kafka_DescribeCluster_result_t = rd_kafka_event_t;
2137pub type rd_kafka_DescribeUserScramCredentials_result_t = rd_kafka_event_t;
2138pub type rd_kafka_AlterUserScramCredentials_result_t = rd_kafka_event_t;
2139pub type rd_kafka_ListOffsets_result_t = rd_kafka_event_t;
2140pub type rd_kafka_ElectLeaders_result_t = rd_kafka_event_t;
2141unsafe extern "C" {
2142 pub fn rd_kafka_event_CreateTopics_result(
2143 rkev: *mut rd_kafka_event_t,
2144 ) -> *const rd_kafka_CreateTopics_result_t;
2145}
2146unsafe extern "C" {
2147 pub fn rd_kafka_event_DeleteTopics_result(
2148 rkev: *mut rd_kafka_event_t,
2149 ) -> *const rd_kafka_DeleteTopics_result_t;
2150}
2151unsafe extern "C" {
2152 pub fn rd_kafka_event_CreatePartitions_result(
2153 rkev: *mut rd_kafka_event_t,
2154 ) -> *const rd_kafka_CreatePartitions_result_t;
2155}
2156unsafe extern "C" {
2157 pub fn rd_kafka_event_AlterConfigs_result(
2158 rkev: *mut rd_kafka_event_t,
2159 ) -> *const rd_kafka_AlterConfigs_result_t;
2160}
2161unsafe extern "C" {
2162 pub fn rd_kafka_event_IncrementalAlterConfigs_result(
2163 rkev: *mut rd_kafka_event_t,
2164 ) -> *const rd_kafka_IncrementalAlterConfigs_result_t;
2165}
2166unsafe extern "C" {
2167 pub fn rd_kafka_event_DescribeConfigs_result(
2168 rkev: *mut rd_kafka_event_t,
2169 ) -> *const rd_kafka_DescribeConfigs_result_t;
2170}
2171unsafe extern "C" {
2172 pub fn rd_kafka_event_DeleteRecords_result(
2173 rkev: *mut rd_kafka_event_t,
2174 ) -> *const rd_kafka_DeleteRecords_result_t;
2175}
2176unsafe extern "C" {
2177 pub fn rd_kafka_event_ListConsumerGroups_result(
2178 rkev: *mut rd_kafka_event_t,
2179 ) -> *const rd_kafka_ListConsumerGroups_result_t;
2180}
2181unsafe extern "C" {
2182 pub fn rd_kafka_event_DescribeConsumerGroups_result(
2183 rkev: *mut rd_kafka_event_t,
2184 ) -> *const rd_kafka_DescribeConsumerGroups_result_t;
2185}
2186unsafe extern "C" {
2187 pub fn rd_kafka_event_DescribeTopics_result(
2188 rkev: *mut rd_kafka_event_t,
2189 ) -> *const rd_kafka_DescribeTopics_result_t;
2190}
2191unsafe extern "C" {
2192 pub fn rd_kafka_event_DescribeCluster_result(
2193 rkev: *mut rd_kafka_event_t,
2194 ) -> *const rd_kafka_DescribeCluster_result_t;
2195}
2196unsafe extern "C" {
2197 pub fn rd_kafka_event_DeleteGroups_result(
2198 rkev: *mut rd_kafka_event_t,
2199 ) -> *const rd_kafka_DeleteGroups_result_t;
2200}
2201unsafe extern "C" {
2202 pub fn rd_kafka_event_DeleteConsumerGroupOffsets_result(
2203 rkev: *mut rd_kafka_event_t,
2204 ) -> *const rd_kafka_DeleteConsumerGroupOffsets_result_t;
2205}
2206unsafe extern "C" {
2207 pub fn rd_kafka_event_CreateAcls_result(
2208 rkev: *mut rd_kafka_event_t,
2209 ) -> *const rd_kafka_CreateAcls_result_t;
2210}
2211unsafe extern "C" {
2212 pub fn rd_kafka_event_DescribeAcls_result(
2213 rkev: *mut rd_kafka_event_t,
2214 ) -> *const rd_kafka_DescribeAcls_result_t;
2215}
2216unsafe extern "C" {
2217 pub fn rd_kafka_event_DeleteAcls_result(
2218 rkev: *mut rd_kafka_event_t,
2219 ) -> *const rd_kafka_DeleteAcls_result_t;
2220}
2221unsafe extern "C" {
2222 pub fn rd_kafka_event_ListConsumerGroupOffsets_result(
2223 rkev: *mut rd_kafka_event_t,
2224 ) -> *const rd_kafka_ListConsumerGroupOffsets_result_t;
2225}
2226unsafe extern "C" {
2227 pub fn rd_kafka_event_AlterConsumerGroupOffsets_result(
2228 rkev: *mut rd_kafka_event_t,
2229 ) -> *const rd_kafka_AlterConsumerGroupOffsets_result_t;
2230}
2231unsafe extern "C" {
2232 pub fn rd_kafka_event_ListOffsets_result(
2233 rkev: *mut rd_kafka_event_t,
2234 ) -> *const rd_kafka_ListOffsets_result_t;
2235}
2236unsafe extern "C" {
2237 pub fn rd_kafka_event_DescribeUserScramCredentials_result(
2238 rkev: *mut rd_kafka_event_t,
2239 ) -> *const rd_kafka_DescribeUserScramCredentials_result_t;
2240}
2241unsafe extern "C" {
2242 pub fn rd_kafka_event_AlterUserScramCredentials_result(
2243 rkev: *mut rd_kafka_event_t,
2244 ) -> *const rd_kafka_AlterUserScramCredentials_result_t;
2245}
2246unsafe extern "C" {
2247 pub fn rd_kafka_event_ElectLeaders_result(
2248 rkev: *mut rd_kafka_event_t,
2249 ) -> *const rd_kafka_ElectLeaders_result_t;
2250}
2251unsafe extern "C" {
2252 pub fn rd_kafka_queue_poll(
2253 rkqu: *mut rd_kafka_queue_t,
2254 timeout_ms: c_int,
2255 ) -> *mut rd_kafka_event_t;
2256}
2257unsafe extern "C" {
2258 pub fn rd_kafka_queue_poll_callback(rkqu: *mut rd_kafka_queue_t, timeout_ms: c_int) -> c_int;
2259}
2260pub type rd_kafka_plugin_f_conf_init_t = Option<
2261 unsafe extern "C" fn(
2262 conf: *mut rd_kafka_conf_t,
2263 plug_opaquep: *mut *mut c_void,
2264 errstr: *mut c_char,
2265 errstr_size: usize,
2266 ) -> rd_kafka_resp_err_t,
2267>;
2268pub type rd_kafka_interceptor_f_on_conf_set_t = Option<
2269 unsafe extern "C" fn(
2270 conf: *mut rd_kafka_conf_t,
2271 name: *const c_char,
2272 val: *const c_char,
2273 errstr: *mut c_char,
2274 errstr_size: usize,
2275 ic_opaque: *mut c_void,
2276 ) -> rd_kafka_conf_res_t,
2277>;
2278pub type rd_kafka_interceptor_f_on_conf_dup_t = Option<
2279 unsafe extern "C" fn(
2280 new_conf: *mut rd_kafka_conf_t,
2281 old_conf: *const rd_kafka_conf_t,
2282 filter_cnt: usize,
2283 filter: *mut *const c_char,
2284 ic_opaque: *mut c_void,
2285 ) -> rd_kafka_resp_err_t,
2286>;
2287pub type rd_kafka_interceptor_f_on_conf_destroy_t =
2288 Option<unsafe extern "C" fn(ic_opaque: *mut c_void) -> rd_kafka_resp_err_t>;
2289pub type rd_kafka_interceptor_f_on_new_t = Option<
2290 unsafe extern "C" fn(
2291 rk: *mut rd_kafka_t,
2292 conf: *const rd_kafka_conf_t,
2293 ic_opaque: *mut c_void,
2294 errstr: *mut c_char,
2295 errstr_size: usize,
2296 ) -> rd_kafka_resp_err_t,
2297>;
2298pub type rd_kafka_interceptor_f_on_destroy_t = Option<
2299 unsafe extern "C" fn(rk: *mut rd_kafka_t, ic_opaque: *mut c_void) -> rd_kafka_resp_err_t,
2300>;
2301pub type rd_kafka_interceptor_f_on_send_t = Option<
2302 unsafe extern "C" fn(
2303 rk: *mut rd_kafka_t,
2304 rkmessage: *mut rd_kafka_message_t,
2305 ic_opaque: *mut c_void,
2306 ) -> rd_kafka_resp_err_t,
2307>;
2308pub type rd_kafka_interceptor_f_on_acknowledgement_t = Option<
2309 unsafe extern "C" fn(
2310 rk: *mut rd_kafka_t,
2311 rkmessage: *mut rd_kafka_message_t,
2312 ic_opaque: *mut c_void,
2313 ) -> rd_kafka_resp_err_t,
2314>;
2315pub type rd_kafka_interceptor_f_on_consume_t = Option<
2316 unsafe extern "C" fn(
2317 rk: *mut rd_kafka_t,
2318 rkmessage: *mut rd_kafka_message_t,
2319 ic_opaque: *mut c_void,
2320 ) -> rd_kafka_resp_err_t,
2321>;
2322pub type rd_kafka_interceptor_f_on_commit_t = Option<
2323 unsafe extern "C" fn(
2324 rk: *mut rd_kafka_t,
2325 offsets: *const rd_kafka_topic_partition_list_t,
2326 err: rd_kafka_resp_err_t,
2327 ic_opaque: *mut c_void,
2328 ) -> rd_kafka_resp_err_t,
2329>;
2330pub type rd_kafka_interceptor_f_on_request_sent_t = Option<
2331 unsafe extern "C" fn(
2332 rk: *mut rd_kafka_t,
2333 sockfd: c_int,
2334 brokername: *const c_char,
2335 brokerid: i32,
2336 ApiKey: i16,
2337 ApiVersion: i16,
2338 CorrId: i32,
2339 size: usize,
2340 ic_opaque: *mut c_void,
2341 ) -> rd_kafka_resp_err_t,
2342>;
2343pub type rd_kafka_interceptor_f_on_response_received_t = Option<
2344 unsafe extern "C" fn(
2345 rk: *mut rd_kafka_t,
2346 sockfd: c_int,
2347 brokername: *const c_char,
2348 brokerid: i32,
2349 ApiKey: i16,
2350 ApiVersion: i16,
2351 CorrId: i32,
2352 size: usize,
2353 rtt: i64,
2354 err: rd_kafka_resp_err_t,
2355 ic_opaque: *mut c_void,
2356 ) -> rd_kafka_resp_err_t,
2357>;
2358pub type rd_kafka_interceptor_f_on_thread_start_t = Option<
2359 unsafe extern "C" fn(
2360 rk: *mut rd_kafka_t,
2361 thread_type: rd_kafka_thread_type_t,
2362 thread_name: *const c_char,
2363 ic_opaque: *mut c_void,
2364 ) -> rd_kafka_resp_err_t,
2365>;
2366pub type rd_kafka_interceptor_f_on_thread_exit_t = Option<
2367 unsafe extern "C" fn(
2368 rk: *mut rd_kafka_t,
2369 thread_type: rd_kafka_thread_type_t,
2370 thread_name: *const c_char,
2371 ic_opaque: *mut c_void,
2372 ) -> rd_kafka_resp_err_t,
2373>;
2374pub type rd_kafka_interceptor_f_on_broker_state_change_t = Option<
2375 unsafe extern "C" fn(
2376 rk: *mut rd_kafka_t,
2377 broker_id: i32,
2378 secproto: *const c_char,
2379 name: *const c_char,
2380 port: c_int,
2381 state: *const c_char,
2382 ic_opaque: *mut c_void,
2383 ) -> rd_kafka_resp_err_t,
2384>;
2385unsafe extern "C" {
2386 pub fn rd_kafka_conf_interceptor_add_on_conf_set(
2387 conf: *mut rd_kafka_conf_t,
2388 ic_name: *const c_char,
2389 on_conf_set: rd_kafka_interceptor_f_on_conf_set_t,
2390 ic_opaque: *mut c_void,
2391 ) -> rd_kafka_resp_err_t;
2392}
2393unsafe extern "C" {
2394 pub fn rd_kafka_conf_interceptor_add_on_conf_dup(
2395 conf: *mut rd_kafka_conf_t,
2396 ic_name: *const c_char,
2397 on_conf_dup: rd_kafka_interceptor_f_on_conf_dup_t,
2398 ic_opaque: *mut c_void,
2399 ) -> rd_kafka_resp_err_t;
2400}
2401unsafe extern "C" {
2402 pub fn rd_kafka_conf_interceptor_add_on_conf_destroy(
2403 conf: *mut rd_kafka_conf_t,
2404 ic_name: *const c_char,
2405 on_conf_destroy: rd_kafka_interceptor_f_on_conf_destroy_t,
2406 ic_opaque: *mut c_void,
2407 ) -> rd_kafka_resp_err_t;
2408}
2409unsafe extern "C" {
2410 pub fn rd_kafka_conf_interceptor_add_on_new(
2411 conf: *mut rd_kafka_conf_t,
2412 ic_name: *const c_char,
2413 on_new: rd_kafka_interceptor_f_on_new_t,
2414 ic_opaque: *mut c_void,
2415 ) -> rd_kafka_resp_err_t;
2416}
2417unsafe extern "C" {
2418 pub fn rd_kafka_interceptor_add_on_destroy(
2419 rk: *mut rd_kafka_t,
2420 ic_name: *const c_char,
2421 on_destroy: rd_kafka_interceptor_f_on_destroy_t,
2422 ic_opaque: *mut c_void,
2423 ) -> rd_kafka_resp_err_t;
2424}
2425unsafe extern "C" {
2426 pub fn rd_kafka_interceptor_add_on_send(
2427 rk: *mut rd_kafka_t,
2428 ic_name: *const c_char,
2429 on_send: rd_kafka_interceptor_f_on_send_t,
2430 ic_opaque: *mut c_void,
2431 ) -> rd_kafka_resp_err_t;
2432}
2433unsafe extern "C" {
2434 pub fn rd_kafka_interceptor_add_on_acknowledgement(
2435 rk: *mut rd_kafka_t,
2436 ic_name: *const c_char,
2437 on_acknowledgement: rd_kafka_interceptor_f_on_acknowledgement_t,
2438 ic_opaque: *mut c_void,
2439 ) -> rd_kafka_resp_err_t;
2440}
2441unsafe extern "C" {
2442 pub fn rd_kafka_interceptor_add_on_consume(
2443 rk: *mut rd_kafka_t,
2444 ic_name: *const c_char,
2445 on_consume: rd_kafka_interceptor_f_on_consume_t,
2446 ic_opaque: *mut c_void,
2447 ) -> rd_kafka_resp_err_t;
2448}
2449unsafe extern "C" {
2450 pub fn rd_kafka_interceptor_add_on_commit(
2451 rk: *mut rd_kafka_t,
2452 ic_name: *const c_char,
2453 on_commit: rd_kafka_interceptor_f_on_commit_t,
2454 ic_opaque: *mut c_void,
2455 ) -> rd_kafka_resp_err_t;
2456}
2457unsafe extern "C" {
2458 pub fn rd_kafka_interceptor_add_on_request_sent(
2459 rk: *mut rd_kafka_t,
2460 ic_name: *const c_char,
2461 on_request_sent: rd_kafka_interceptor_f_on_request_sent_t,
2462 ic_opaque: *mut c_void,
2463 ) -> rd_kafka_resp_err_t;
2464}
2465unsafe extern "C" {
2466 pub fn rd_kafka_interceptor_add_on_response_received(
2467 rk: *mut rd_kafka_t,
2468 ic_name: *const c_char,
2469 on_response_received: rd_kafka_interceptor_f_on_response_received_t,
2470 ic_opaque: *mut c_void,
2471 ) -> rd_kafka_resp_err_t;
2472}
2473unsafe extern "C" {
2474 pub fn rd_kafka_interceptor_add_on_thread_start(
2475 rk: *mut rd_kafka_t,
2476 ic_name: *const c_char,
2477 on_thread_start: rd_kafka_interceptor_f_on_thread_start_t,
2478 ic_opaque: *mut c_void,
2479 ) -> rd_kafka_resp_err_t;
2480}
2481unsafe extern "C" {
2482 pub fn rd_kafka_interceptor_add_on_thread_exit(
2483 rk: *mut rd_kafka_t,
2484 ic_name: *const c_char,
2485 on_thread_exit: rd_kafka_interceptor_f_on_thread_exit_t,
2486 ic_opaque: *mut c_void,
2487 ) -> rd_kafka_resp_err_t;
2488}
2489unsafe extern "C" {
2490 pub fn rd_kafka_interceptor_add_on_broker_state_change(
2491 rk: *mut rd_kafka_t,
2492 ic_name: *const c_char,
2493 on_broker_state_change: rd_kafka_interceptor_f_on_broker_state_change_t,
2494 ic_opaque: *mut c_void,
2495 ) -> rd_kafka_resp_err_t;
2496}
2497unsafe extern "C" {
2498 pub fn rd_kafka_topic_result_error(
2499 topicres: *const rd_kafka_topic_result_t,
2500 ) -> rd_kafka_resp_err_t;
2501}
2502unsafe extern "C" {
2503 pub fn rd_kafka_topic_result_error_string(
2504 topicres: *const rd_kafka_topic_result_t,
2505 ) -> *const c_char;
2506}
2507unsafe extern "C" {
2508 pub fn rd_kafka_topic_result_name(topicres: *const rd_kafka_topic_result_t) -> *const c_char;
2509}
2510unsafe extern "C" {
2511 pub fn rd_kafka_group_result_error(
2512 groupres: *const rd_kafka_group_result_t,
2513 ) -> *const rd_kafka_error_t;
2514}
2515unsafe extern "C" {
2516 pub fn rd_kafka_group_result_name(groupres: *const rd_kafka_group_result_t) -> *const c_char;
2517}
2518unsafe extern "C" {
2519 pub fn rd_kafka_group_result_partitions(
2520 groupres: *const rd_kafka_group_result_t,
2521 ) -> *const rd_kafka_topic_partition_list_t;
2522}
2523unsafe extern "C" {
2524 pub fn rd_kafka_topic_partition_result_partition(
2525 partition_result: *const rd_kafka_topic_partition_result_t,
2526 ) -> *const rd_kafka_topic_partition_t;
2527}
2528unsafe extern "C" {
2529 pub fn rd_kafka_topic_partition_result_error(
2530 partition_result: *const rd_kafka_topic_partition_result_t,
2531 ) -> *const rd_kafka_error_t;
2532}
2533#[repr(u32)]
2534#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2535pub enum rd_kafka_admin_op_t {
2536 RD_KAFKA_ADMIN_OP_ANY = 0,
2537 RD_KAFKA_ADMIN_OP_CREATETOPICS = 1,
2538 RD_KAFKA_ADMIN_OP_DELETETOPICS = 2,
2539 RD_KAFKA_ADMIN_OP_CREATEPARTITIONS = 3,
2540 RD_KAFKA_ADMIN_OP_ALTERCONFIGS = 4,
2541 RD_KAFKA_ADMIN_OP_DESCRIBECONFIGS = 5,
2542 RD_KAFKA_ADMIN_OP_DELETERECORDS = 6,
2543 RD_KAFKA_ADMIN_OP_DELETEGROUPS = 7,
2544 RD_KAFKA_ADMIN_OP_DELETECONSUMERGROUPOFFSETS = 8,
2545 RD_KAFKA_ADMIN_OP_CREATEACLS = 9,
2546 RD_KAFKA_ADMIN_OP_DESCRIBEACLS = 10,
2547 RD_KAFKA_ADMIN_OP_DELETEACLS = 11,
2548 RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPS = 12,
2549 RD_KAFKA_ADMIN_OP_DESCRIBECONSUMERGROUPS = 13,
2550 RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPOFFSETS = 14,
2551 RD_KAFKA_ADMIN_OP_ALTERCONSUMERGROUPOFFSETS = 15,
2552 RD_KAFKA_ADMIN_OP_INCREMENTALALTERCONFIGS = 16,
2553 RD_KAFKA_ADMIN_OP_DESCRIBEUSERSCRAMCREDENTIALS = 17,
2554 RD_KAFKA_ADMIN_OP_ALTERUSERSCRAMCREDENTIALS = 18,
2555 RD_KAFKA_ADMIN_OP_DESCRIBETOPICS = 19,
2556 RD_KAFKA_ADMIN_OP_DESCRIBECLUSTER = 20,
2557 RD_KAFKA_ADMIN_OP_LISTOFFSETS = 21,
2558 RD_KAFKA_ADMIN_OP_ELECTLEADERS = 22,
2559 RD_KAFKA_ADMIN_OP__CNT = 23,
2560}
2561#[repr(C)]
2562#[derive(Debug)]
2563pub struct rd_kafka_AdminOptions_s {
2564 _unused: [u8; 0],
2565}
2566pub type rd_kafka_AdminOptions_t = rd_kafka_AdminOptions_s;
2567#[repr(u32)]
2568#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2569pub enum rd_kafka_IsolationLevel_t {
2570 RD_KAFKA_ISOLATION_LEVEL_READ_UNCOMMITTED = 0,
2571 RD_KAFKA_ISOLATION_LEVEL_READ_COMMITTED = 1,
2572}
2573unsafe extern "C" {
2574 pub fn rd_kafka_AdminOptions_new(
2575 rk: *mut rd_kafka_t,
2576 for_api: rd_kafka_admin_op_t,
2577 ) -> *mut rd_kafka_AdminOptions_t;
2578}
2579unsafe extern "C" {
2580 pub fn rd_kafka_AdminOptions_destroy(options: *mut rd_kafka_AdminOptions_t);
2581}
2582unsafe extern "C" {
2583 pub fn rd_kafka_AdminOptions_set_request_timeout(
2584 options: *mut rd_kafka_AdminOptions_t,
2585 timeout_ms: c_int,
2586 errstr: *mut c_char,
2587 errstr_size: usize,
2588 ) -> rd_kafka_resp_err_t;
2589}
2590unsafe extern "C" {
2591 pub fn rd_kafka_AdminOptions_set_operation_timeout(
2592 options: *mut rd_kafka_AdminOptions_t,
2593 timeout_ms: c_int,
2594 errstr: *mut c_char,
2595 errstr_size: usize,
2596 ) -> rd_kafka_resp_err_t;
2597}
2598unsafe extern "C" {
2599 pub fn rd_kafka_AdminOptions_set_validate_only(
2600 options: *mut rd_kafka_AdminOptions_t,
2601 true_or_false: c_int,
2602 errstr: *mut c_char,
2603 errstr_size: usize,
2604 ) -> rd_kafka_resp_err_t;
2605}
2606unsafe extern "C" {
2607 pub fn rd_kafka_AdminOptions_set_broker(
2608 options: *mut rd_kafka_AdminOptions_t,
2609 broker_id: i32,
2610 errstr: *mut c_char,
2611 errstr_size: usize,
2612 ) -> rd_kafka_resp_err_t;
2613}
2614unsafe extern "C" {
2615 pub fn rd_kafka_AdminOptions_set_require_stable_offsets(
2616 options: *mut rd_kafka_AdminOptions_t,
2617 true_or_false: c_int,
2618 ) -> *mut rd_kafka_error_t;
2619}
2620unsafe extern "C" {
2621 pub fn rd_kafka_AdminOptions_set_include_authorized_operations(
2622 options: *mut rd_kafka_AdminOptions_t,
2623 true_or_false: c_int,
2624 ) -> *mut rd_kafka_error_t;
2625}
2626unsafe extern "C" {
2627 pub fn rd_kafka_AdminOptions_set_match_consumer_group_states(
2628 options: *mut rd_kafka_AdminOptions_t,
2629 consumer_group_states: *const rd_kafka_consumer_group_state_t,
2630 consumer_group_states_cnt: usize,
2631 ) -> *mut rd_kafka_error_t;
2632}
2633unsafe extern "C" {
2634 pub fn rd_kafka_AdminOptions_set_match_consumer_group_types(
2635 options: *mut rd_kafka_AdminOptions_t,
2636 consumer_group_types: *const rd_kafka_consumer_group_type_t,
2637 consumer_group_types_cnt: usize,
2638 ) -> *mut rd_kafka_error_t;
2639}
2640unsafe extern "C" {
2641 pub fn rd_kafka_AdminOptions_set_isolation_level(
2642 options: *mut rd_kafka_AdminOptions_t,
2643 value: rd_kafka_IsolationLevel_t,
2644 ) -> *mut rd_kafka_error_t;
2645}
2646unsafe extern "C" {
2647 pub fn rd_kafka_AdminOptions_set_opaque(
2648 options: *mut rd_kafka_AdminOptions_t,
2649 ev_opaque: *mut c_void,
2650 );
2651}
2652#[repr(u32)]
2653#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2654pub enum rd_kafka_AclOperation_t {
2655 RD_KAFKA_ACL_OPERATION_UNKNOWN = 0,
2656 RD_KAFKA_ACL_OPERATION_ANY = 1,
2657 RD_KAFKA_ACL_OPERATION_ALL = 2,
2658 RD_KAFKA_ACL_OPERATION_READ = 3,
2659 RD_KAFKA_ACL_OPERATION_WRITE = 4,
2660 RD_KAFKA_ACL_OPERATION_CREATE = 5,
2661 RD_KAFKA_ACL_OPERATION_DELETE = 6,
2662 RD_KAFKA_ACL_OPERATION_ALTER = 7,
2663 RD_KAFKA_ACL_OPERATION_DESCRIBE = 8,
2664 RD_KAFKA_ACL_OPERATION_CLUSTER_ACTION = 9,
2665 RD_KAFKA_ACL_OPERATION_DESCRIBE_CONFIGS = 10,
2666 RD_KAFKA_ACL_OPERATION_ALTER_CONFIGS = 11,
2667 RD_KAFKA_ACL_OPERATION_IDEMPOTENT_WRITE = 12,
2668 RD_KAFKA_ACL_OPERATION__CNT = 13,
2669}
2670#[repr(C)]
2671#[derive(Debug)]
2672pub struct rd_kafka_NewTopic_s {
2673 _unused: [u8; 0],
2674}
2675pub type rd_kafka_NewTopic_t = rd_kafka_NewTopic_s;
2676unsafe extern "C" {
2677 pub fn rd_kafka_NewTopic_new(
2678 topic: *const c_char,
2679 num_partitions: c_int,
2680 replication_factor: c_int,
2681 errstr: *mut c_char,
2682 errstr_size: usize,
2683 ) -> *mut rd_kafka_NewTopic_t;
2684}
2685unsafe extern "C" {
2686 pub fn rd_kafka_NewTopic_destroy(new_topic: *mut rd_kafka_NewTopic_t);
2687}
2688unsafe extern "C" {
2689 pub fn rd_kafka_NewTopic_destroy_array(
2690 new_topics: *mut *mut rd_kafka_NewTopic_t,
2691 new_topic_cnt: usize,
2692 );
2693}
2694unsafe extern "C" {
2695 pub fn rd_kafka_NewTopic_set_replica_assignment(
2696 new_topic: *mut rd_kafka_NewTopic_t,
2697 partition: i32,
2698 broker_ids: *mut i32,
2699 broker_id_cnt: usize,
2700 errstr: *mut c_char,
2701 errstr_size: usize,
2702 ) -> rd_kafka_resp_err_t;
2703}
2704unsafe extern "C" {
2705 pub fn rd_kafka_NewTopic_set_config(
2706 new_topic: *mut rd_kafka_NewTopic_t,
2707 name: *const c_char,
2708 value: *const c_char,
2709 ) -> rd_kafka_resp_err_t;
2710}
2711unsafe extern "C" {
2712 pub fn rd_kafka_CreateTopics(
2713 rk: *mut rd_kafka_t,
2714 new_topics: *mut *mut rd_kafka_NewTopic_t,
2715 new_topic_cnt: usize,
2716 options: *const rd_kafka_AdminOptions_t,
2717 rkqu: *mut rd_kafka_queue_t,
2718 );
2719}
2720unsafe extern "C" {
2721 pub fn rd_kafka_CreateTopics_result_topics(
2722 result: *const rd_kafka_CreateTopics_result_t,
2723 cntp: *mut usize,
2724 ) -> *mut *const rd_kafka_topic_result_t;
2725}
2726#[repr(C)]
2727#[derive(Debug)]
2728pub struct rd_kafka_DeleteTopic_s {
2729 _unused: [u8; 0],
2730}
2731pub type rd_kafka_DeleteTopic_t = rd_kafka_DeleteTopic_s;
2732unsafe extern "C" {
2733 pub fn rd_kafka_DeleteTopic_new(topic: *const c_char) -> *mut rd_kafka_DeleteTopic_t;
2734}
2735unsafe extern "C" {
2736 pub fn rd_kafka_DeleteTopic_destroy(del_topic: *mut rd_kafka_DeleteTopic_t);
2737}
2738unsafe extern "C" {
2739 pub fn rd_kafka_DeleteTopic_destroy_array(
2740 del_topics: *mut *mut rd_kafka_DeleteTopic_t,
2741 del_topic_cnt: usize,
2742 );
2743}
2744unsafe extern "C" {
2745 pub fn rd_kafka_DeleteTopics(
2746 rk: *mut rd_kafka_t,
2747 del_topics: *mut *mut rd_kafka_DeleteTopic_t,
2748 del_topic_cnt: usize,
2749 options: *const rd_kafka_AdminOptions_t,
2750 rkqu: *mut rd_kafka_queue_t,
2751 );
2752}
2753unsafe extern "C" {
2754 pub fn rd_kafka_DeleteTopics_result_topics(
2755 result: *const rd_kafka_DeleteTopics_result_t,
2756 cntp: *mut usize,
2757 ) -> *mut *const rd_kafka_topic_result_t;
2758}
2759#[repr(C)]
2760#[derive(Debug)]
2761pub struct rd_kafka_NewPartitions_s {
2762 _unused: [u8; 0],
2763}
2764pub type rd_kafka_NewPartitions_t = rd_kafka_NewPartitions_s;
2765unsafe extern "C" {
2766 pub fn rd_kafka_NewPartitions_new(
2767 topic: *const c_char,
2768 new_total_cnt: usize,
2769 errstr: *mut c_char,
2770 errstr_size: usize,
2771 ) -> *mut rd_kafka_NewPartitions_t;
2772}
2773unsafe extern "C" {
2774 pub fn rd_kafka_NewPartitions_destroy(new_parts: *mut rd_kafka_NewPartitions_t);
2775}
2776unsafe extern "C" {
2777 pub fn rd_kafka_NewPartitions_destroy_array(
2778 new_parts: *mut *mut rd_kafka_NewPartitions_t,
2779 new_parts_cnt: usize,
2780 );
2781}
2782unsafe extern "C" {
2783 pub fn rd_kafka_NewPartitions_set_replica_assignment(
2784 new_parts: *mut rd_kafka_NewPartitions_t,
2785 new_partition_idx: i32,
2786 broker_ids: *mut i32,
2787 broker_id_cnt: usize,
2788 errstr: *mut c_char,
2789 errstr_size: usize,
2790 ) -> rd_kafka_resp_err_t;
2791}
2792unsafe extern "C" {
2793 pub fn rd_kafka_CreatePartitions(
2794 rk: *mut rd_kafka_t,
2795 new_parts: *mut *mut rd_kafka_NewPartitions_t,
2796 new_parts_cnt: usize,
2797 options: *const rd_kafka_AdminOptions_t,
2798 rkqu: *mut rd_kafka_queue_t,
2799 );
2800}
2801unsafe extern "C" {
2802 pub fn rd_kafka_CreatePartitions_result_topics(
2803 result: *const rd_kafka_CreatePartitions_result_t,
2804 cntp: *mut usize,
2805 ) -> *mut *const rd_kafka_topic_result_t;
2806}
2807#[repr(u32)]
2808#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2809pub enum rd_kafka_ConfigSource_t {
2810 RD_KAFKA_CONFIG_SOURCE_UNKNOWN_CONFIG = 0,
2811 RD_KAFKA_CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG = 1,
2812 RD_KAFKA_CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG = 2,
2813 RD_KAFKA_CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG = 3,
2814 RD_KAFKA_CONFIG_SOURCE_STATIC_BROKER_CONFIG = 4,
2815 RD_KAFKA_CONFIG_SOURCE_DEFAULT_CONFIG = 5,
2816 RD_KAFKA_CONFIG_SOURCE_GROUP_CONFIG = 8,
2817 RD_KAFKA_CONFIG_SOURCE__CNT = 9,
2818}
2819unsafe extern "C" {
2820 pub fn rd_kafka_ConfigSource_name(confsource: rd_kafka_ConfigSource_t) -> *const c_char;
2821}
2822#[repr(C)]
2823#[derive(Debug)]
2824pub struct rd_kafka_ConfigEntry_s {
2825 _unused: [u8; 0],
2826}
2827pub type rd_kafka_ConfigEntry_t = rd_kafka_ConfigEntry_s;
2828unsafe extern "C" {
2829 pub fn rd_kafka_ConfigEntry_name(entry: *const rd_kafka_ConfigEntry_t) -> *const c_char;
2830}
2831unsafe extern "C" {
2832 pub fn rd_kafka_ConfigEntry_value(entry: *const rd_kafka_ConfigEntry_t) -> *const c_char;
2833}
2834unsafe extern "C" {
2835 pub fn rd_kafka_ConfigEntry_source(
2836 entry: *const rd_kafka_ConfigEntry_t,
2837 ) -> rd_kafka_ConfigSource_t;
2838}
2839unsafe extern "C" {
2840 pub fn rd_kafka_ConfigEntry_is_read_only(entry: *const rd_kafka_ConfigEntry_t) -> c_int;
2841}
2842unsafe extern "C" {
2843 pub fn rd_kafka_ConfigEntry_is_default(entry: *const rd_kafka_ConfigEntry_t) -> c_int;
2844}
2845unsafe extern "C" {
2846 pub fn rd_kafka_ConfigEntry_is_sensitive(entry: *const rd_kafka_ConfigEntry_t) -> c_int;
2847}
2848unsafe extern "C" {
2849 pub fn rd_kafka_ConfigEntry_is_synonym(entry: *const rd_kafka_ConfigEntry_t) -> c_int;
2850}
2851unsafe extern "C" {
2852 pub fn rd_kafka_ConfigEntry_synonyms(
2853 entry: *const rd_kafka_ConfigEntry_t,
2854 cntp: *mut usize,
2855 ) -> *mut *const rd_kafka_ConfigEntry_t;
2856}
2857#[repr(u32)]
2858#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2859pub enum rd_kafka_ResourceType_t {
2860 RD_KAFKA_RESOURCE_UNKNOWN = 0,
2861 RD_KAFKA_RESOURCE_ANY = 1,
2862 RD_KAFKA_RESOURCE_TOPIC = 2,
2863 RD_KAFKA_RESOURCE_GROUP = 3,
2864 RD_KAFKA_RESOURCE_BROKER = 4,
2865 RD_KAFKA_RESOURCE_TRANSACTIONAL_ID = 5,
2866 RD_KAFKA_RESOURCE__CNT = 6,
2867}
2868#[repr(u32)]
2869#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2870pub enum rd_kafka_ResourcePatternType_t {
2871 RD_KAFKA_RESOURCE_PATTERN_UNKNOWN = 0,
2872 RD_KAFKA_RESOURCE_PATTERN_ANY = 1,
2873 RD_KAFKA_RESOURCE_PATTERN_MATCH = 2,
2874 RD_KAFKA_RESOURCE_PATTERN_LITERAL = 3,
2875 RD_KAFKA_RESOURCE_PATTERN_PREFIXED = 4,
2876 RD_KAFKA_RESOURCE_PATTERN_TYPE__CNT = 5,
2877}
2878#[repr(u32)]
2879#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2880pub enum rd_kafka_AlterConfigOpType_t {
2881 RD_KAFKA_ALTER_CONFIG_OP_TYPE_SET = 0,
2882 RD_KAFKA_ALTER_CONFIG_OP_TYPE_DELETE = 1,
2883 RD_KAFKA_ALTER_CONFIG_OP_TYPE_APPEND = 2,
2884 RD_KAFKA_ALTER_CONFIG_OP_TYPE_SUBTRACT = 3,
2885 RD_KAFKA_ALTER_CONFIG_OP_TYPE__CNT = 4,
2886}
2887unsafe extern "C" {
2888 pub fn rd_kafka_ResourcePatternType_name(
2889 resource_pattern_type: rd_kafka_ResourcePatternType_t,
2890 ) -> *const c_char;
2891}
2892unsafe extern "C" {
2893 pub fn rd_kafka_ResourceType_name(restype: rd_kafka_ResourceType_t) -> *const c_char;
2894}
2895#[repr(C)]
2896#[derive(Debug)]
2897pub struct rd_kafka_ConfigResource_s {
2898 _unused: [u8; 0],
2899}
2900pub type rd_kafka_ConfigResource_t = rd_kafka_ConfigResource_s;
2901unsafe extern "C" {
2902 pub fn rd_kafka_ConfigResource_new(
2903 restype: rd_kafka_ResourceType_t,
2904 resname: *const c_char,
2905 ) -> *mut rd_kafka_ConfigResource_t;
2906}
2907unsafe extern "C" {
2908 pub fn rd_kafka_ConfigResource_destroy(config: *mut rd_kafka_ConfigResource_t);
2909}
2910unsafe extern "C" {
2911 pub fn rd_kafka_ConfigResource_destroy_array(
2912 config: *mut *mut rd_kafka_ConfigResource_t,
2913 config_cnt: usize,
2914 );
2915}
2916unsafe extern "C" {
2917 pub fn rd_kafka_ConfigResource_set_config(
2918 config: *mut rd_kafka_ConfigResource_t,
2919 name: *const c_char,
2920 value: *const c_char,
2921 ) -> rd_kafka_resp_err_t;
2922}
2923unsafe extern "C" {
2924 pub fn rd_kafka_ConfigResource_add_incremental_config(
2925 config: *mut rd_kafka_ConfigResource_t,
2926 name: *const c_char,
2927 op_type: rd_kafka_AlterConfigOpType_t,
2928 value: *const c_char,
2929 ) -> *mut rd_kafka_error_t;
2930}
2931unsafe extern "C" {
2932 pub fn rd_kafka_ConfigResource_configs(
2933 config: *const rd_kafka_ConfigResource_t,
2934 cntp: *mut usize,
2935 ) -> *mut *const rd_kafka_ConfigEntry_t;
2936}
2937unsafe extern "C" {
2938 pub fn rd_kafka_ConfigResource_type(
2939 config: *const rd_kafka_ConfigResource_t,
2940 ) -> rd_kafka_ResourceType_t;
2941}
2942unsafe extern "C" {
2943 pub fn rd_kafka_ConfigResource_name(config: *const rd_kafka_ConfigResource_t) -> *const c_char;
2944}
2945unsafe extern "C" {
2946 pub fn rd_kafka_ConfigResource_error(
2947 config: *const rd_kafka_ConfigResource_t,
2948 ) -> rd_kafka_resp_err_t;
2949}
2950unsafe extern "C" {
2951 pub fn rd_kafka_ConfigResource_error_string(
2952 config: *const rd_kafka_ConfigResource_t,
2953 ) -> *const c_char;
2954}
2955unsafe extern "C" {
2956 pub fn rd_kafka_AlterConfigs(
2957 rk: *mut rd_kafka_t,
2958 configs: *mut *mut rd_kafka_ConfigResource_t,
2959 config_cnt: usize,
2960 options: *const rd_kafka_AdminOptions_t,
2961 rkqu: *mut rd_kafka_queue_t,
2962 );
2963}
2964unsafe extern "C" {
2965 pub fn rd_kafka_AlterConfigs_result_resources(
2966 result: *const rd_kafka_AlterConfigs_result_t,
2967 cntp: *mut usize,
2968 ) -> *mut *const rd_kafka_ConfigResource_t;
2969}
2970unsafe extern "C" {
2971 pub fn rd_kafka_IncrementalAlterConfigs(
2972 rk: *mut rd_kafka_t,
2973 configs: *mut *mut rd_kafka_ConfigResource_t,
2974 config_cnt: usize,
2975 options: *const rd_kafka_AdminOptions_t,
2976 rkqu: *mut rd_kafka_queue_t,
2977 );
2978}
2979unsafe extern "C" {
2980 pub fn rd_kafka_IncrementalAlterConfigs_result_resources(
2981 result: *const rd_kafka_IncrementalAlterConfigs_result_t,
2982 cntp: *mut usize,
2983 ) -> *mut *const rd_kafka_ConfigResource_t;
2984}
2985unsafe extern "C" {
2986 pub fn rd_kafka_DescribeConfigs(
2987 rk: *mut rd_kafka_t,
2988 configs: *mut *mut rd_kafka_ConfigResource_t,
2989 config_cnt: usize,
2990 options: *const rd_kafka_AdminOptions_t,
2991 rkqu: *mut rd_kafka_queue_t,
2992 );
2993}
2994unsafe extern "C" {
2995 pub fn rd_kafka_DescribeConfigs_result_resources(
2996 result: *const rd_kafka_DescribeConfigs_result_t,
2997 cntp: *mut usize,
2998 ) -> *mut *const rd_kafka_ConfigResource_t;
2999}
3000#[repr(C)]
3001#[derive(Debug)]
3002pub struct rd_kafka_DeleteRecords_s {
3003 _unused: [u8; 0],
3004}
3005pub type rd_kafka_DeleteRecords_t = rd_kafka_DeleteRecords_s;
3006unsafe extern "C" {
3007 pub fn rd_kafka_DeleteRecords_new(
3008 before_offsets: *const rd_kafka_topic_partition_list_t,
3009 ) -> *mut rd_kafka_DeleteRecords_t;
3010}
3011unsafe extern "C" {
3012 pub fn rd_kafka_DeleteRecords_destroy(del_records: *mut rd_kafka_DeleteRecords_t);
3013}
3014unsafe extern "C" {
3015 pub fn rd_kafka_DeleteRecords_destroy_array(
3016 del_records: *mut *mut rd_kafka_DeleteRecords_t,
3017 del_record_cnt: usize,
3018 );
3019}
3020unsafe extern "C" {
3021 pub fn rd_kafka_DeleteRecords(
3022 rk: *mut rd_kafka_t,
3023 del_records: *mut *mut rd_kafka_DeleteRecords_t,
3024 del_record_cnt: usize,
3025 options: *const rd_kafka_AdminOptions_t,
3026 rkqu: *mut rd_kafka_queue_t,
3027 );
3028}
3029unsafe extern "C" {
3030 pub fn rd_kafka_DeleteRecords_result_offsets(
3031 result: *const rd_kafka_DeleteRecords_result_t,
3032 ) -> *const rd_kafka_topic_partition_list_t;
3033}
3034#[repr(C)]
3035#[derive(Debug)]
3036pub struct rd_kafka_TopicCollection_s {
3037 _unused: [u8; 0],
3038}
3039pub type rd_kafka_TopicCollection_t = rd_kafka_TopicCollection_s;
3040#[repr(C)]
3041#[derive(Debug)]
3042pub struct rd_kafka_TopicPartitionInfo_s {
3043 _unused: [u8; 0],
3044}
3045pub type rd_kafka_TopicPartitionInfo_t = rd_kafka_TopicPartitionInfo_s;
3046#[repr(C)]
3047#[derive(Debug)]
3048pub struct rd_kafka_TopicDescription_s {
3049 _unused: [u8; 0],
3050}
3051pub type rd_kafka_TopicDescription_t = rd_kafka_TopicDescription_s;
3052unsafe extern "C" {
3053 pub fn rd_kafka_TopicCollection_of_topic_names(
3054 topics: *mut *const c_char,
3055 topics_cnt: usize,
3056 ) -> *mut rd_kafka_TopicCollection_t;
3057}
3058unsafe extern "C" {
3059 pub fn rd_kafka_TopicCollection_destroy(topics: *mut rd_kafka_TopicCollection_t);
3060}
3061unsafe extern "C" {
3062 pub fn rd_kafka_DescribeTopics(
3063 rk: *mut rd_kafka_t,
3064 topics: *const rd_kafka_TopicCollection_t,
3065 options: *const rd_kafka_AdminOptions_t,
3066 rkqu: *mut rd_kafka_queue_t,
3067 );
3068}
3069unsafe extern "C" {
3070 pub fn rd_kafka_DescribeTopics_result_topics(
3071 result: *const rd_kafka_DescribeTopics_result_t,
3072 cntp: *mut usize,
3073 ) -> *mut *const rd_kafka_TopicDescription_t;
3074}
3075unsafe extern "C" {
3076 pub fn rd_kafka_TopicDescription_partitions(
3077 topicdesc: *const rd_kafka_TopicDescription_t,
3078 cntp: *mut usize,
3079 ) -> *mut *const rd_kafka_TopicPartitionInfo_t;
3080}
3081unsafe extern "C" {
3082 pub fn rd_kafka_TopicPartitionInfo_partition(
3083 partition: *const rd_kafka_TopicPartitionInfo_t,
3084 ) -> c_int;
3085}
3086unsafe extern "C" {
3087 pub fn rd_kafka_TopicPartitionInfo_leader(
3088 partition: *const rd_kafka_TopicPartitionInfo_t,
3089 ) -> *const rd_kafka_Node_t;
3090}
3091unsafe extern "C" {
3092 pub fn rd_kafka_TopicPartitionInfo_isr(
3093 partition: *const rd_kafka_TopicPartitionInfo_t,
3094 cntp: *mut usize,
3095 ) -> *mut *const rd_kafka_Node_t;
3096}
3097unsafe extern "C" {
3098 pub fn rd_kafka_TopicPartitionInfo_replicas(
3099 partition: *const rd_kafka_TopicPartitionInfo_t,
3100 cntp: *mut usize,
3101 ) -> *mut *const rd_kafka_Node_t;
3102}
3103unsafe extern "C" {
3104 pub fn rd_kafka_TopicDescription_authorized_operations(
3105 topicdesc: *const rd_kafka_TopicDescription_t,
3106 cntp: *mut usize,
3107 ) -> *const rd_kafka_AclOperation_t;
3108}
3109unsafe extern "C" {
3110 pub fn rd_kafka_TopicDescription_name(
3111 topicdesc: *const rd_kafka_TopicDescription_t,
3112 ) -> *const c_char;
3113}
3114unsafe extern "C" {
3115 pub fn rd_kafka_TopicDescription_topic_id(
3116 topicdesc: *const rd_kafka_TopicDescription_t,
3117 ) -> *const rd_kafka_Uuid_t;
3118}
3119unsafe extern "C" {
3120 pub fn rd_kafka_TopicDescription_is_internal(
3121 topicdesc: *const rd_kafka_TopicDescription_t,
3122 ) -> c_int;
3123}
3124unsafe extern "C" {
3125 pub fn rd_kafka_TopicDescription_error(
3126 topicdesc: *const rd_kafka_TopicDescription_t,
3127 ) -> *const rd_kafka_error_t;
3128}
3129unsafe extern "C" {
3130 pub fn rd_kafka_DescribeCluster(
3131 rk: *mut rd_kafka_t,
3132 options: *const rd_kafka_AdminOptions_t,
3133 rkqu: *mut rd_kafka_queue_t,
3134 );
3135}
3136unsafe extern "C" {
3137 pub fn rd_kafka_DescribeCluster_result_nodes(
3138 result: *const rd_kafka_DescribeCluster_result_t,
3139 cntp: *mut usize,
3140 ) -> *mut *const rd_kafka_Node_t;
3141}
3142unsafe extern "C" {
3143 pub fn rd_kafka_DescribeCluster_result_authorized_operations(
3144 result: *const rd_kafka_DescribeCluster_result_t,
3145 cntp: *mut usize,
3146 ) -> *const rd_kafka_AclOperation_t;
3147}
3148unsafe extern "C" {
3149 pub fn rd_kafka_DescribeCluster_result_controller(
3150 result: *const rd_kafka_DescribeCluster_result_t,
3151 ) -> *const rd_kafka_Node_t;
3152}
3153unsafe extern "C" {
3154 pub fn rd_kafka_DescribeCluster_result_cluster_id(
3155 result: *const rd_kafka_DescribeCluster_result_t,
3156 ) -> *const c_char;
3157}
3158#[repr(C)]
3159#[derive(Debug)]
3160pub struct rd_kafka_ConsumerGroupListing_s {
3161 _unused: [u8; 0],
3162}
3163pub type rd_kafka_ConsumerGroupListing_t = rd_kafka_ConsumerGroupListing_s;
3164#[repr(C)]
3165#[derive(Debug)]
3166pub struct rd_kafka_ListConsumerGroupsResult_s {
3167 _unused: [u8; 0],
3168}
3169pub type rd_kafka_ListConsumerGroupsResult_t = rd_kafka_ListConsumerGroupsResult_s;
3170unsafe extern "C" {
3171 pub fn rd_kafka_ListConsumerGroups(
3172 rk: *mut rd_kafka_t,
3173 options: *const rd_kafka_AdminOptions_t,
3174 rkqu: *mut rd_kafka_queue_t,
3175 );
3176}
3177unsafe extern "C" {
3178 pub fn rd_kafka_ConsumerGroupListing_group_id(
3179 grplist: *const rd_kafka_ConsumerGroupListing_t,
3180 ) -> *const c_char;
3181}
3182unsafe extern "C" {
3183 pub fn rd_kafka_ConsumerGroupListing_is_simple_consumer_group(
3184 grplist: *const rd_kafka_ConsumerGroupListing_t,
3185 ) -> c_int;
3186}
3187unsafe extern "C" {
3188 pub fn rd_kafka_ConsumerGroupListing_state(
3189 grplist: *const rd_kafka_ConsumerGroupListing_t,
3190 ) -> rd_kafka_consumer_group_state_t;
3191}
3192unsafe extern "C" {
3193 pub fn rd_kafka_ConsumerGroupListing_type(
3194 grplist: *const rd_kafka_ConsumerGroupListing_t,
3195 ) -> rd_kafka_consumer_group_type_t;
3196}
3197unsafe extern "C" {
3198 pub fn rd_kafka_ListConsumerGroups_result_valid(
3199 result: *const rd_kafka_ListConsumerGroups_result_t,
3200 cntp: *mut usize,
3201 ) -> *mut *const rd_kafka_ConsumerGroupListing_t;
3202}
3203unsafe extern "C" {
3204 pub fn rd_kafka_ListConsumerGroups_result_errors(
3205 result: *const rd_kafka_ListConsumerGroups_result_t,
3206 cntp: *mut usize,
3207 ) -> *mut *const rd_kafka_error_t;
3208}
3209#[repr(C)]
3210#[derive(Debug)]
3211pub struct rd_kafka_ConsumerGroupDescription_s {
3212 _unused: [u8; 0],
3213}
3214pub type rd_kafka_ConsumerGroupDescription_t = rd_kafka_ConsumerGroupDescription_s;
3215#[repr(C)]
3216#[derive(Debug)]
3217pub struct rd_kafka_MemberDescription_s {
3218 _unused: [u8; 0],
3219}
3220pub type rd_kafka_MemberDescription_t = rd_kafka_MemberDescription_s;
3221#[repr(C)]
3222#[derive(Debug)]
3223pub struct rd_kafka_MemberAssignment_s {
3224 _unused: [u8; 0],
3225}
3226pub type rd_kafka_MemberAssignment_t = rd_kafka_MemberAssignment_s;
3227unsafe extern "C" {
3228 pub fn rd_kafka_DescribeConsumerGroups(
3229 rk: *mut rd_kafka_t,
3230 groups: *mut *const c_char,
3231 groups_cnt: usize,
3232 options: *const rd_kafka_AdminOptions_t,
3233 rkqu: *mut rd_kafka_queue_t,
3234 );
3235}
3236unsafe extern "C" {
3237 pub fn rd_kafka_DescribeConsumerGroups_result_groups(
3238 result: *const rd_kafka_DescribeConsumerGroups_result_t,
3239 cntp: *mut usize,
3240 ) -> *mut *const rd_kafka_ConsumerGroupDescription_t;
3241}
3242unsafe extern "C" {
3243 pub fn rd_kafka_ConsumerGroupDescription_group_id(
3244 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3245 ) -> *const c_char;
3246}
3247unsafe extern "C" {
3248 pub fn rd_kafka_ConsumerGroupDescription_error(
3249 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3250 ) -> *const rd_kafka_error_t;
3251}
3252unsafe extern "C" {
3253 pub fn rd_kafka_ConsumerGroupDescription_is_simple_consumer_group(
3254 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3255 ) -> c_int;
3256}
3257unsafe extern "C" {
3258 pub fn rd_kafka_ConsumerGroupDescription_partition_assignor(
3259 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3260 ) -> *const c_char;
3261}
3262unsafe extern "C" {
3263 pub fn rd_kafka_ConsumerGroupDescription_authorized_operations(
3264 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3265 cntp: *mut usize,
3266 ) -> *const rd_kafka_AclOperation_t;
3267}
3268unsafe extern "C" {
3269 pub fn rd_kafka_ConsumerGroupDescription_state(
3270 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3271 ) -> rd_kafka_consumer_group_state_t;
3272}
3273unsafe extern "C" {
3274 pub fn rd_kafka_ConsumerGroupDescription_coordinator(
3275 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3276 ) -> *const rd_kafka_Node_t;
3277}
3278unsafe extern "C" {
3279 pub fn rd_kafka_ConsumerGroupDescription_type(
3280 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3281 ) -> rd_kafka_consumer_group_type_t;
3282}
3283unsafe extern "C" {
3284 pub fn rd_kafka_ConsumerGroupDescription_member_count(
3285 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3286 ) -> usize;
3287}
3288unsafe extern "C" {
3289 pub fn rd_kafka_ConsumerGroupDescription_member(
3290 grpdesc: *const rd_kafka_ConsumerGroupDescription_t,
3291 idx: usize,
3292 ) -> *const rd_kafka_MemberDescription_t;
3293}
3294unsafe extern "C" {
3295 pub fn rd_kafka_MemberDescription_client_id(
3296 member: *const rd_kafka_MemberDescription_t,
3297 ) -> *const c_char;
3298}
3299unsafe extern "C" {
3300 pub fn rd_kafka_MemberDescription_group_instance_id(
3301 member: *const rd_kafka_MemberDescription_t,
3302 ) -> *const c_char;
3303}
3304unsafe extern "C" {
3305 pub fn rd_kafka_MemberDescription_consumer_id(
3306 member: *const rd_kafka_MemberDescription_t,
3307 ) -> *const c_char;
3308}
3309unsafe extern "C" {
3310 pub fn rd_kafka_MemberDescription_host(
3311 member: *const rd_kafka_MemberDescription_t,
3312 ) -> *const c_char;
3313}
3314unsafe extern "C" {
3315 pub fn rd_kafka_MemberDescription_assignment(
3316 member: *const rd_kafka_MemberDescription_t,
3317 ) -> *const rd_kafka_MemberAssignment_t;
3318}
3319unsafe extern "C" {
3320 pub fn rd_kafka_MemberAssignment_partitions(
3321 assignment: *const rd_kafka_MemberAssignment_t,
3322 ) -> *const rd_kafka_topic_partition_list_t;
3323}
3324unsafe extern "C" {
3325 pub fn rd_kafka_MemberDescription_target_assignment(
3326 member: *const rd_kafka_MemberDescription_t,
3327 ) -> *const rd_kafka_MemberAssignment_t;
3328}
3329#[repr(C)]
3330#[derive(Debug)]
3331pub struct rd_kafka_DeleteGroup_s {
3332 _unused: [u8; 0],
3333}
3334pub type rd_kafka_DeleteGroup_t = rd_kafka_DeleteGroup_s;
3335unsafe extern "C" {
3336 pub fn rd_kafka_DeleteGroup_new(group: *const c_char) -> *mut rd_kafka_DeleteGroup_t;
3337}
3338unsafe extern "C" {
3339 pub fn rd_kafka_DeleteGroup_destroy(del_group: *mut rd_kafka_DeleteGroup_t);
3340}
3341unsafe extern "C" {
3342 pub fn rd_kafka_DeleteGroup_destroy_array(
3343 del_groups: *mut *mut rd_kafka_DeleteGroup_t,
3344 del_group_cnt: usize,
3345 );
3346}
3347unsafe extern "C" {
3348 pub fn rd_kafka_DeleteGroups(
3349 rk: *mut rd_kafka_t,
3350 del_groups: *mut *mut rd_kafka_DeleteGroup_t,
3351 del_group_cnt: usize,
3352 options: *const rd_kafka_AdminOptions_t,
3353 rkqu: *mut rd_kafka_queue_t,
3354 );
3355}
3356unsafe extern "C" {
3357 pub fn rd_kafka_DeleteGroups_result_groups(
3358 result: *const rd_kafka_DeleteGroups_result_t,
3359 cntp: *mut usize,
3360 ) -> *mut *const rd_kafka_group_result_t;
3361}
3362#[repr(C)]
3363#[derive(Debug)]
3364pub struct rd_kafka_ListConsumerGroupOffsets_s {
3365 _unused: [u8; 0],
3366}
3367pub type rd_kafka_ListConsumerGroupOffsets_t = rd_kafka_ListConsumerGroupOffsets_s;
3368unsafe extern "C" {
3369 pub fn rd_kafka_ListConsumerGroupOffsets_new(
3370 group_id: *const c_char,
3371 partitions: *const rd_kafka_topic_partition_list_t,
3372 ) -> *mut rd_kafka_ListConsumerGroupOffsets_t;
3373}
3374unsafe extern "C" {
3375 pub fn rd_kafka_ListConsumerGroupOffsets_destroy(
3376 list_grpoffsets: *mut rd_kafka_ListConsumerGroupOffsets_t,
3377 );
3378}
3379unsafe extern "C" {
3380 pub fn rd_kafka_ListConsumerGroupOffsets_destroy_array(
3381 list_grpoffsets: *mut *mut rd_kafka_ListConsumerGroupOffsets_t,
3382 list_grpoffset_cnt: usize,
3383 );
3384}
3385unsafe extern "C" {
3386 pub fn rd_kafka_ListConsumerGroupOffsets(
3387 rk: *mut rd_kafka_t,
3388 list_grpoffsets: *mut *mut rd_kafka_ListConsumerGroupOffsets_t,
3389 list_grpoffsets_cnt: usize,
3390 options: *const rd_kafka_AdminOptions_t,
3391 rkqu: *mut rd_kafka_queue_t,
3392 );
3393}
3394unsafe extern "C" {
3395 pub fn rd_kafka_ListConsumerGroupOffsets_result_groups(
3396 result: *const rd_kafka_ListConsumerGroupOffsets_result_t,
3397 cntp: *mut usize,
3398 ) -> *mut *const rd_kafka_group_result_t;
3399}
3400#[repr(C)]
3401#[derive(Debug)]
3402pub struct rd_kafka_AlterConsumerGroupOffsets_s {
3403 _unused: [u8; 0],
3404}
3405pub type rd_kafka_AlterConsumerGroupOffsets_t = rd_kafka_AlterConsumerGroupOffsets_s;
3406unsafe extern "C" {
3407 pub fn rd_kafka_AlterConsumerGroupOffsets_new(
3408 group_id: *const c_char,
3409 partitions: *const rd_kafka_topic_partition_list_t,
3410 ) -> *mut rd_kafka_AlterConsumerGroupOffsets_t;
3411}
3412unsafe extern "C" {
3413 pub fn rd_kafka_AlterConsumerGroupOffsets_destroy(
3414 alter_grpoffsets: *mut rd_kafka_AlterConsumerGroupOffsets_t,
3415 );
3416}
3417unsafe extern "C" {
3418 pub fn rd_kafka_AlterConsumerGroupOffsets_destroy_array(
3419 alter_grpoffsets: *mut *mut rd_kafka_AlterConsumerGroupOffsets_t,
3420 alter_grpoffset_cnt: usize,
3421 );
3422}
3423unsafe extern "C" {
3424 pub fn rd_kafka_AlterConsumerGroupOffsets(
3425 rk: *mut rd_kafka_t,
3426 alter_grpoffsets: *mut *mut rd_kafka_AlterConsumerGroupOffsets_t,
3427 alter_grpoffsets_cnt: usize,
3428 options: *const rd_kafka_AdminOptions_t,
3429 rkqu: *mut rd_kafka_queue_t,
3430 );
3431}
3432unsafe extern "C" {
3433 pub fn rd_kafka_AlterConsumerGroupOffsets_result_groups(
3434 result: *const rd_kafka_AlterConsumerGroupOffsets_result_t,
3435 cntp: *mut usize,
3436 ) -> *mut *const rd_kafka_group_result_t;
3437}
3438#[repr(C)]
3439#[derive(Debug)]
3440pub struct rd_kafka_DeleteConsumerGroupOffsets_s {
3441 _unused: [u8; 0],
3442}
3443pub type rd_kafka_DeleteConsumerGroupOffsets_t = rd_kafka_DeleteConsumerGroupOffsets_s;
3444unsafe extern "C" {
3445 pub fn rd_kafka_DeleteConsumerGroupOffsets_new(
3446 group: *const c_char,
3447 partitions: *const rd_kafka_topic_partition_list_t,
3448 ) -> *mut rd_kafka_DeleteConsumerGroupOffsets_t;
3449}
3450unsafe extern "C" {
3451 pub fn rd_kafka_DeleteConsumerGroupOffsets_destroy(
3452 del_grpoffsets: *mut rd_kafka_DeleteConsumerGroupOffsets_t,
3453 );
3454}
3455unsafe extern "C" {
3456 pub fn rd_kafka_DeleteConsumerGroupOffsets_destroy_array(
3457 del_grpoffsets: *mut *mut rd_kafka_DeleteConsumerGroupOffsets_t,
3458 del_grpoffset_cnt: usize,
3459 );
3460}
3461unsafe extern "C" {
3462 pub fn rd_kafka_DeleteConsumerGroupOffsets(
3463 rk: *mut rd_kafka_t,
3464 del_grpoffsets: *mut *mut rd_kafka_DeleteConsumerGroupOffsets_t,
3465 del_grpoffsets_cnt: usize,
3466 options: *const rd_kafka_AdminOptions_t,
3467 rkqu: *mut rd_kafka_queue_t,
3468 );
3469}
3470unsafe extern "C" {
3471 pub fn rd_kafka_DeleteConsumerGroupOffsets_result_groups(
3472 result: *const rd_kafka_DeleteConsumerGroupOffsets_result_t,
3473 cntp: *mut usize,
3474 ) -> *mut *const rd_kafka_group_result_t;
3475}
3476#[repr(i32)]
3477#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3478pub enum rd_kafka_OffsetSpec_t {
3479 RD_KAFKA_OFFSET_SPEC_MAX_TIMESTAMP = -3,
3480 RD_KAFKA_OFFSET_SPEC_EARLIEST = -2,
3481 RD_KAFKA_OFFSET_SPEC_LATEST = -1,
3482}
3483#[repr(C)]
3484#[derive(Debug)]
3485pub struct rd_kafka_ListOffsetsResultInfo_s {
3486 _unused: [u8; 0],
3487}
3488pub type rd_kafka_ListOffsetsResultInfo_t = rd_kafka_ListOffsetsResultInfo_s;
3489unsafe extern "C" {
3490 pub fn rd_kafka_ListOffsetsResultInfo_topic_partition(
3491 result_info: *const rd_kafka_ListOffsetsResultInfo_t,
3492 ) -> *const rd_kafka_topic_partition_t;
3493}
3494unsafe extern "C" {
3495 pub fn rd_kafka_ListOffsetsResultInfo_timestamp(
3496 result_info: *const rd_kafka_ListOffsetsResultInfo_t,
3497 ) -> i64;
3498}
3499unsafe extern "C" {
3500 pub fn rd_kafka_ListOffsets_result_infos(
3501 result: *const rd_kafka_ListOffsets_result_t,
3502 cntp: *mut usize,
3503 ) -> *mut *const rd_kafka_ListOffsetsResultInfo_t;
3504}
3505unsafe extern "C" {
3506 pub fn rd_kafka_ListOffsets(
3507 rk: *mut rd_kafka_t,
3508 topic_partitions: *mut rd_kafka_topic_partition_list_t,
3509 options: *const rd_kafka_AdminOptions_t,
3510 rkqu: *mut rd_kafka_queue_t,
3511 );
3512}
3513#[repr(u32)]
3514#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3515pub enum rd_kafka_ScramMechanism_t {
3516 RD_KAFKA_SCRAM_MECHANISM_UNKNOWN = 0,
3517 RD_KAFKA_SCRAM_MECHANISM_SHA_256 = 1,
3518 RD_KAFKA_SCRAM_MECHANISM_SHA_512 = 2,
3519 RD_KAFKA_SCRAM_MECHANISM__CNT = 3,
3520}
3521#[repr(C)]
3522#[derive(Debug)]
3523pub struct rd_kafka_ScramCredentialInfo_s {
3524 _unused: [u8; 0],
3525}
3526pub type rd_kafka_ScramCredentialInfo_t = rd_kafka_ScramCredentialInfo_s;
3527unsafe extern "C" {
3528 pub fn rd_kafka_ScramCredentialInfo_mechanism(
3529 scram_credential_info: *const rd_kafka_ScramCredentialInfo_t,
3530 ) -> rd_kafka_ScramMechanism_t;
3531}
3532unsafe extern "C" {
3533 pub fn rd_kafka_ScramCredentialInfo_iterations(
3534 scram_credential_info: *const rd_kafka_ScramCredentialInfo_t,
3535 ) -> i32;
3536}
3537#[repr(C)]
3538#[derive(Debug)]
3539pub struct rd_kafka_UserScramCredentialsDescription_s {
3540 _unused: [u8; 0],
3541}
3542pub type rd_kafka_UserScramCredentialsDescription_t = rd_kafka_UserScramCredentialsDescription_s;
3543unsafe extern "C" {
3544 pub fn rd_kafka_UserScramCredentialsDescription_user(
3545 description: *const rd_kafka_UserScramCredentialsDescription_t,
3546 ) -> *const c_char;
3547}
3548unsafe extern "C" {
3549 pub fn rd_kafka_UserScramCredentialsDescription_error(
3550 description: *const rd_kafka_UserScramCredentialsDescription_t,
3551 ) -> *const rd_kafka_error_t;
3552}
3553unsafe extern "C" {
3554 pub fn rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count(
3555 description: *const rd_kafka_UserScramCredentialsDescription_t,
3556 ) -> usize;
3557}
3558unsafe extern "C" {
3559 pub fn rd_kafka_UserScramCredentialsDescription_scramcredentialinfo(
3560 description: *const rd_kafka_UserScramCredentialsDescription_t,
3561 idx: usize,
3562 ) -> *const rd_kafka_ScramCredentialInfo_t;
3563}
3564unsafe extern "C" {
3565 pub fn rd_kafka_DescribeUserScramCredentials_result_descriptions(
3566 result: *const rd_kafka_DescribeUserScramCredentials_result_t,
3567 cntp: *mut usize,
3568 ) -> *mut *const rd_kafka_UserScramCredentialsDescription_t;
3569}
3570unsafe extern "C" {
3571 pub fn rd_kafka_DescribeUserScramCredentials(
3572 rk: *mut rd_kafka_t,
3573 users: *mut *const c_char,
3574 user_cnt: usize,
3575 options: *const rd_kafka_AdminOptions_t,
3576 rkqu: *mut rd_kafka_queue_t,
3577 );
3578}
3579#[repr(C)]
3580#[derive(Debug)]
3581pub struct rd_kafka_UserScramCredentialAlteration_s {
3582 _unused: [u8; 0],
3583}
3584pub type rd_kafka_UserScramCredentialAlteration_t = rd_kafka_UserScramCredentialAlteration_s;
3585unsafe extern "C" {
3586 pub fn rd_kafka_UserScramCredentialUpsertion_new(
3587 username: *const c_char,
3588 mechanism: rd_kafka_ScramMechanism_t,
3589 iterations: i32,
3590 password: *const ::std::os::raw::c_uchar,
3591 password_size: usize,
3592 salt: *const ::std::os::raw::c_uchar,
3593 salt_size: usize,
3594 ) -> *mut rd_kafka_UserScramCredentialAlteration_t;
3595}
3596unsafe extern "C" {
3597 pub fn rd_kafka_UserScramCredentialDeletion_new(
3598 username: *const c_char,
3599 mechanism: rd_kafka_ScramMechanism_t,
3600 ) -> *mut rd_kafka_UserScramCredentialAlteration_t;
3601}
3602unsafe extern "C" {
3603 pub fn rd_kafka_UserScramCredentialAlteration_destroy(
3604 alteration: *mut rd_kafka_UserScramCredentialAlteration_t,
3605 );
3606}
3607unsafe extern "C" {
3608 pub fn rd_kafka_UserScramCredentialAlteration_destroy_array(
3609 alterations: *mut *mut rd_kafka_UserScramCredentialAlteration_t,
3610 alteration_cnt: usize,
3611 );
3612}
3613#[repr(C)]
3614#[derive(Debug)]
3615pub struct rd_kafka_AlterUserScramCredentials_result_response_s {
3616 _unused: [u8; 0],
3617}
3618pub type rd_kafka_AlterUserScramCredentials_result_response_t =
3619 rd_kafka_AlterUserScramCredentials_result_response_s;
3620unsafe extern "C" {
3621 pub fn rd_kafka_AlterUserScramCredentials_result_response_user(
3622 response: *const rd_kafka_AlterUserScramCredentials_result_response_t,
3623 ) -> *const c_char;
3624}
3625unsafe extern "C" {
3626 pub fn rd_kafka_AlterUserScramCredentials_result_response_error(
3627 response: *const rd_kafka_AlterUserScramCredentials_result_response_t,
3628 ) -> *const rd_kafka_error_t;
3629}
3630unsafe extern "C" {
3631 pub fn rd_kafka_AlterUserScramCredentials_result_responses(
3632 result: *const rd_kafka_AlterUserScramCredentials_result_t,
3633 cntp: *mut usize,
3634 ) -> *mut *const rd_kafka_AlterUserScramCredentials_result_response_t;
3635}
3636unsafe extern "C" {
3637 pub fn rd_kafka_AlterUserScramCredentials(
3638 rk: *mut rd_kafka_t,
3639 alterations: *mut *mut rd_kafka_UserScramCredentialAlteration_t,
3640 alteration_cnt: usize,
3641 options: *const rd_kafka_AdminOptions_t,
3642 rkqu: *mut rd_kafka_queue_t,
3643 );
3644}
3645#[repr(C)]
3646#[derive(Debug)]
3647pub struct rd_kafka_AclBinding_s {
3648 _unused: [u8; 0],
3649}
3650pub type rd_kafka_AclBinding_t = rd_kafka_AclBinding_s;
3651pub type rd_kafka_AclBindingFilter_t = rd_kafka_AclBinding_t;
3652unsafe extern "C" {
3653 pub fn rd_kafka_acl_result_error(
3654 aclres: *const rd_kafka_acl_result_t,
3655 ) -> *const rd_kafka_error_t;
3656}
3657unsafe extern "C" {
3658 pub fn rd_kafka_AclOperation_name(acl_operation: rd_kafka_AclOperation_t) -> *const c_char;
3659}
3660#[repr(u32)]
3661#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3662pub enum rd_kafka_AclPermissionType_t {
3663 RD_KAFKA_ACL_PERMISSION_TYPE_UNKNOWN = 0,
3664 RD_KAFKA_ACL_PERMISSION_TYPE_ANY = 1,
3665 RD_KAFKA_ACL_PERMISSION_TYPE_DENY = 2,
3666 RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW = 3,
3667 RD_KAFKA_ACL_PERMISSION_TYPE__CNT = 4,
3668}
3669unsafe extern "C" {
3670 pub fn rd_kafka_AclPermissionType_name(
3671 acl_permission_type: rd_kafka_AclPermissionType_t,
3672 ) -> *const c_char;
3673}
3674unsafe extern "C" {
3675 pub fn rd_kafka_AclBinding_new(
3676 restype: rd_kafka_ResourceType_t,
3677 name: *const c_char,
3678 resource_pattern_type: rd_kafka_ResourcePatternType_t,
3679 principal: *const c_char,
3680 host: *const c_char,
3681 operation: rd_kafka_AclOperation_t,
3682 permission_type: rd_kafka_AclPermissionType_t,
3683 errstr: *mut c_char,
3684 errstr_size: usize,
3685 ) -> *mut rd_kafka_AclBinding_t;
3686}
3687unsafe extern "C" {
3688 pub fn rd_kafka_AclBindingFilter_new(
3689 restype: rd_kafka_ResourceType_t,
3690 name: *const c_char,
3691 resource_pattern_type: rd_kafka_ResourcePatternType_t,
3692 principal: *const c_char,
3693 host: *const c_char,
3694 operation: rd_kafka_AclOperation_t,
3695 permission_type: rd_kafka_AclPermissionType_t,
3696 errstr: *mut c_char,
3697 errstr_size: usize,
3698 ) -> *mut rd_kafka_AclBindingFilter_t;
3699}
3700unsafe extern "C" {
3701 pub fn rd_kafka_AclBinding_restype(
3702 acl: *const rd_kafka_AclBinding_t,
3703 ) -> rd_kafka_ResourceType_t;
3704}
3705unsafe extern "C" {
3706 pub fn rd_kafka_AclBinding_name(acl: *const rd_kafka_AclBinding_t) -> *const c_char;
3707}
3708unsafe extern "C" {
3709 pub fn rd_kafka_AclBinding_principal(acl: *const rd_kafka_AclBinding_t) -> *const c_char;
3710}
3711unsafe extern "C" {
3712 pub fn rd_kafka_AclBinding_host(acl: *const rd_kafka_AclBinding_t) -> *const c_char;
3713}
3714unsafe extern "C" {
3715 pub fn rd_kafka_AclBinding_operation(
3716 acl: *const rd_kafka_AclBinding_t,
3717 ) -> rd_kafka_AclOperation_t;
3718}
3719unsafe extern "C" {
3720 pub fn rd_kafka_AclBinding_permission_type(
3721 acl: *const rd_kafka_AclBinding_t,
3722 ) -> rd_kafka_AclPermissionType_t;
3723}
3724unsafe extern "C" {
3725 pub fn rd_kafka_AclBinding_resource_pattern_type(
3726 acl: *const rd_kafka_AclBinding_t,
3727 ) -> rd_kafka_ResourcePatternType_t;
3728}
3729unsafe extern "C" {
3730 pub fn rd_kafka_AclBinding_error(acl: *const rd_kafka_AclBinding_t) -> *const rd_kafka_error_t;
3731}
3732unsafe extern "C" {
3733 pub fn rd_kafka_AclBinding_destroy(acl_binding: *mut rd_kafka_AclBinding_t);
3734}
3735unsafe extern "C" {
3736 pub fn rd_kafka_AclBinding_destroy_array(
3737 acl_bindings: *mut *mut rd_kafka_AclBinding_t,
3738 acl_bindings_cnt: usize,
3739 );
3740}
3741unsafe extern "C" {
3742 pub fn rd_kafka_CreateAcls_result_acls(
3743 result: *const rd_kafka_CreateAcls_result_t,
3744 cntp: *mut usize,
3745 ) -> *mut *const rd_kafka_acl_result_t;
3746}
3747unsafe extern "C" {
3748 pub fn rd_kafka_CreateAcls(
3749 rk: *mut rd_kafka_t,
3750 new_acls: *mut *mut rd_kafka_AclBinding_t,
3751 new_acls_cnt: usize,
3752 options: *const rd_kafka_AdminOptions_t,
3753 rkqu: *mut rd_kafka_queue_t,
3754 );
3755}
3756unsafe extern "C" {
3757 pub fn rd_kafka_DescribeAcls_result_acls(
3758 result: *const rd_kafka_DescribeAcls_result_t,
3759 cntp: *mut usize,
3760 ) -> *mut *const rd_kafka_AclBinding_t;
3761}
3762unsafe extern "C" {
3763 pub fn rd_kafka_DescribeAcls(
3764 rk: *mut rd_kafka_t,
3765 acl_filter: *mut rd_kafka_AclBindingFilter_t,
3766 options: *const rd_kafka_AdminOptions_t,
3767 rkqu: *mut rd_kafka_queue_t,
3768 );
3769}
3770#[repr(C)]
3771#[derive(Debug)]
3772pub struct rd_kafka_DeleteAcls_result_response_s {
3773 _unused: [u8; 0],
3774}
3775pub type rd_kafka_DeleteAcls_result_response_t = rd_kafka_DeleteAcls_result_response_s;
3776unsafe extern "C" {
3777 pub fn rd_kafka_DeleteAcls_result_responses(
3778 result: *const rd_kafka_DeleteAcls_result_t,
3779 cntp: *mut usize,
3780 ) -> *mut *const rd_kafka_DeleteAcls_result_response_t;
3781}
3782unsafe extern "C" {
3783 pub fn rd_kafka_DeleteAcls_result_response_error(
3784 result_response: *const rd_kafka_DeleteAcls_result_response_t,
3785 ) -> *const rd_kafka_error_t;
3786}
3787unsafe extern "C" {
3788 pub fn rd_kafka_DeleteAcls_result_response_matching_acls(
3789 result_response: *const rd_kafka_DeleteAcls_result_response_t,
3790 matching_acls_cntp: *mut usize,
3791 ) -> *mut *const rd_kafka_AclBinding_t;
3792}
3793unsafe extern "C" {
3794 pub fn rd_kafka_DeleteAcls(
3795 rk: *mut rd_kafka_t,
3796 del_acls: *mut *mut rd_kafka_AclBindingFilter_t,
3797 del_acls_cnt: usize,
3798 options: *const rd_kafka_AdminOptions_t,
3799 rkqu: *mut rd_kafka_queue_t,
3800 );
3801}
3802#[repr(C)]
3803#[derive(Debug)]
3804pub struct rd_kafka_ElectLeaders_s {
3805 _unused: [u8; 0],
3806}
3807pub type rd_kafka_ElectLeaders_t = rd_kafka_ElectLeaders_s;
3808#[repr(u32)]
3809#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3810pub enum rd_kafka_ElectionType_t {
3811 RD_KAFKA_ELECTION_TYPE_PREFERRED = 0,
3812 RD_KAFKA_ELECTION_TYPE_UNCLEAN = 1,
3813}
3814unsafe extern "C" {
3815 pub fn rd_kafka_ElectLeaders_new(
3816 election_type: rd_kafka_ElectionType_t,
3817 partitions: *mut rd_kafka_topic_partition_list_t,
3818 ) -> *mut rd_kafka_ElectLeaders_t;
3819}
3820unsafe extern "C" {
3821 pub fn rd_kafka_ElectLeaders_destroy(elect_leaders: *mut rd_kafka_ElectLeaders_t);
3822}
3823unsafe extern "C" {
3824 pub fn rd_kafka_ElectLeaders(
3825 rk: *mut rd_kafka_t,
3826 elect_leaders: *mut rd_kafka_ElectLeaders_t,
3827 options: *const rd_kafka_AdminOptions_t,
3828 rkqu: *mut rd_kafka_queue_t,
3829 );
3830}
3831unsafe extern "C" {
3832 pub fn rd_kafka_ElectLeaders_result_partitions(
3833 result: *const rd_kafka_ElectLeaders_result_t,
3834 cntp: *mut usize,
3835 ) -> *mut *const rd_kafka_topic_partition_result_t;
3836}
3837unsafe extern "C" {
3838 pub fn rd_kafka_oauthbearer_set_token(
3839 rk: *mut rd_kafka_t,
3840 token_value: *const c_char,
3841 md_lifetime_ms: i64,
3842 md_principal_name: *const c_char,
3843 extensions: *mut *const c_char,
3844 extension_size: usize,
3845 errstr: *mut c_char,
3846 errstr_size: usize,
3847 ) -> rd_kafka_resp_err_t;
3848}
3849unsafe extern "C" {
3850 pub fn rd_kafka_oauthbearer_set_token_failure(
3851 rk: *mut rd_kafka_t,
3852 errstr: *const c_char,
3853 ) -> rd_kafka_resp_err_t;
3854}
3855unsafe extern "C" {
3856 pub fn rd_kafka_init_transactions(
3857 rk: *mut rd_kafka_t,
3858 timeout_ms: c_int,
3859 ) -> *mut rd_kafka_error_t;
3860}
3861unsafe extern "C" {
3862 pub fn rd_kafka_begin_transaction(rk: *mut rd_kafka_t) -> *mut rd_kafka_error_t;
3863}
3864unsafe extern "C" {
3865 pub fn rd_kafka_send_offsets_to_transaction(
3866 rk: *mut rd_kafka_t,
3867 offsets: *const rd_kafka_topic_partition_list_t,
3868 cgmetadata: *const rd_kafka_consumer_group_metadata_t,
3869 timeout_ms: c_int,
3870 ) -> *mut rd_kafka_error_t;
3871}
3872unsafe extern "C" {
3873 pub fn rd_kafka_commit_transaction(
3874 rk: *mut rd_kafka_t,
3875 timeout_ms: c_int,
3876 ) -> *mut rd_kafka_error_t;
3877}
3878unsafe extern "C" {
3879 pub fn rd_kafka_abort_transaction(
3880 rk: *mut rd_kafka_t,
3881 timeout_ms: c_int,
3882 ) -> *mut rd_kafka_error_t;
3883}