libzmq_sys/
bindings.rs

1/* automatically generated by rust-bindgen */
2
3pub const ZMQ_VERSION_MAJOR: u32 = 4;
4pub const ZMQ_VERSION_MINOR: u32 = 3;
5pub const ZMQ_VERSION_PATCH: u32 = 2;
6pub const ZMQ_DEFINED_STDINT: u32 = 1;
7pub const ZMQ_HAUSNUMERO: u32 = 156384712;
8pub const ZMQ_IO_THREADS: u32 = 1;
9pub const ZMQ_MAX_SOCKETS: u32 = 2;
10pub const ZMQ_SOCKET_LIMIT: u32 = 3;
11pub const ZMQ_THREAD_PRIORITY: u32 = 3;
12pub const ZMQ_THREAD_SCHED_POLICY: u32 = 4;
13pub const ZMQ_MAX_MSGSZ: u32 = 5;
14pub const ZMQ_MSG_T_SIZE: u32 = 6;
15pub const ZMQ_THREAD_AFFINITY_CPU_ADD: u32 = 7;
16pub const ZMQ_THREAD_AFFINITY_CPU_REMOVE: u32 = 8;
17pub const ZMQ_THREAD_NAME_PREFIX: u32 = 9;
18pub const ZMQ_IO_THREADS_DFLT: u32 = 1;
19pub const ZMQ_MAX_SOCKETS_DFLT: u32 = 1023;
20pub const ZMQ_THREAD_PRIORITY_DFLT: i32 = -1;
21pub const ZMQ_THREAD_SCHED_POLICY_DFLT: i32 = -1;
22pub const ZMQ_PAIR: u32 = 0;
23pub const ZMQ_PUB: u32 = 1;
24pub const ZMQ_SUB: u32 = 2;
25pub const ZMQ_REQ: u32 = 3;
26pub const ZMQ_REP: u32 = 4;
27pub const ZMQ_DEALER: u32 = 5;
28pub const ZMQ_ROUTER: u32 = 6;
29pub const ZMQ_PULL: u32 = 7;
30pub const ZMQ_PUSH: u32 = 8;
31pub const ZMQ_XPUB: u32 = 9;
32pub const ZMQ_XSUB: u32 = 10;
33pub const ZMQ_STREAM: u32 = 11;
34pub const ZMQ_XREQ: u32 = 5;
35pub const ZMQ_XREP: u32 = 6;
36pub const ZMQ_AFFINITY: u32 = 4;
37pub const ZMQ_ROUTING_ID: u32 = 5;
38pub const ZMQ_SUBSCRIBE: u32 = 6;
39pub const ZMQ_UNSUBSCRIBE: u32 = 7;
40pub const ZMQ_RATE: u32 = 8;
41pub const ZMQ_RECOVERY_IVL: u32 = 9;
42pub const ZMQ_SNDBUF: u32 = 11;
43pub const ZMQ_RCVBUF: u32 = 12;
44pub const ZMQ_RCVMORE: u32 = 13;
45pub const ZMQ_FD: u32 = 14;
46pub const ZMQ_EVENTS: u32 = 15;
47pub const ZMQ_TYPE: u32 = 16;
48pub const ZMQ_LINGER: u32 = 17;
49pub const ZMQ_RECONNECT_IVL: u32 = 18;
50pub const ZMQ_BACKLOG: u32 = 19;
51pub const ZMQ_RECONNECT_IVL_MAX: u32 = 21;
52pub const ZMQ_MAXMSGSIZE: u32 = 22;
53pub const ZMQ_SNDHWM: u32 = 23;
54pub const ZMQ_RCVHWM: u32 = 24;
55pub const ZMQ_MULTICAST_HOPS: u32 = 25;
56pub const ZMQ_RCVTIMEO: u32 = 27;
57pub const ZMQ_SNDTIMEO: u32 = 28;
58pub const ZMQ_LAST_ENDPOINT: u32 = 32;
59pub const ZMQ_ROUTER_MANDATORY: u32 = 33;
60pub const ZMQ_TCP_KEEPALIVE: u32 = 34;
61pub const ZMQ_TCP_KEEPALIVE_CNT: u32 = 35;
62pub const ZMQ_TCP_KEEPALIVE_IDLE: u32 = 36;
63pub const ZMQ_TCP_KEEPALIVE_INTVL: u32 = 37;
64pub const ZMQ_IMMEDIATE: u32 = 39;
65pub const ZMQ_XPUB_VERBOSE: u32 = 40;
66pub const ZMQ_ROUTER_RAW: u32 = 41;
67pub const ZMQ_IPV6: u32 = 42;
68pub const ZMQ_MECHANISM: u32 = 43;
69pub const ZMQ_PLAIN_SERVER: u32 = 44;
70pub const ZMQ_PLAIN_USERNAME: u32 = 45;
71pub const ZMQ_PLAIN_PASSWORD: u32 = 46;
72pub const ZMQ_CURVE_SERVER: u32 = 47;
73pub const ZMQ_CURVE_PUBLICKEY: u32 = 48;
74pub const ZMQ_CURVE_SECRETKEY: u32 = 49;
75pub const ZMQ_CURVE_SERVERKEY: u32 = 50;
76pub const ZMQ_PROBE_ROUTER: u32 = 51;
77pub const ZMQ_REQ_CORRELATE: u32 = 52;
78pub const ZMQ_REQ_RELAXED: u32 = 53;
79pub const ZMQ_CONFLATE: u32 = 54;
80pub const ZMQ_ZAP_DOMAIN: u32 = 55;
81pub const ZMQ_ROUTER_HANDOVER: u32 = 56;
82pub const ZMQ_TOS: u32 = 57;
83pub const ZMQ_CONNECT_ROUTING_ID: u32 = 61;
84pub const ZMQ_GSSAPI_SERVER: u32 = 62;
85pub const ZMQ_GSSAPI_PRINCIPAL: u32 = 63;
86pub const ZMQ_GSSAPI_SERVICE_PRINCIPAL: u32 = 64;
87pub const ZMQ_GSSAPI_PLAINTEXT: u32 = 65;
88pub const ZMQ_HANDSHAKE_IVL: u32 = 66;
89pub const ZMQ_SOCKS_PROXY: u32 = 68;
90pub const ZMQ_XPUB_NODROP: u32 = 69;
91pub const ZMQ_BLOCKY: u32 = 70;
92pub const ZMQ_XPUB_MANUAL: u32 = 71;
93pub const ZMQ_XPUB_WELCOME_MSG: u32 = 72;
94pub const ZMQ_STREAM_NOTIFY: u32 = 73;
95pub const ZMQ_INVERT_MATCHING: u32 = 74;
96pub const ZMQ_HEARTBEAT_IVL: u32 = 75;
97pub const ZMQ_HEARTBEAT_TTL: u32 = 76;
98pub const ZMQ_HEARTBEAT_TIMEOUT: u32 = 77;
99pub const ZMQ_XPUB_VERBOSER: u32 = 78;
100pub const ZMQ_CONNECT_TIMEOUT: u32 = 79;
101pub const ZMQ_TCP_MAXRT: u32 = 80;
102pub const ZMQ_THREAD_SAFE: u32 = 81;
103pub const ZMQ_MULTICAST_MAXTPDU: u32 = 84;
104pub const ZMQ_VMCI_BUFFER_SIZE: u32 = 85;
105pub const ZMQ_VMCI_BUFFER_MIN_SIZE: u32 = 86;
106pub const ZMQ_VMCI_BUFFER_MAX_SIZE: u32 = 87;
107pub const ZMQ_VMCI_CONNECT_TIMEOUT: u32 = 88;
108pub const ZMQ_USE_FD: u32 = 89;
109pub const ZMQ_GSSAPI_PRINCIPAL_NAMETYPE: u32 = 90;
110pub const ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE: u32 = 91;
111pub const ZMQ_BINDTODEVICE: u32 = 92;
112pub const ZMQ_MORE: u32 = 1;
113pub const ZMQ_SHARED: u32 = 3;
114pub const ZMQ_DONTWAIT: u32 = 1;
115pub const ZMQ_SNDMORE: u32 = 2;
116pub const ZMQ_NULL: u32 = 0;
117pub const ZMQ_PLAIN: u32 = 1;
118pub const ZMQ_CURVE: u32 = 2;
119pub const ZMQ_GSSAPI: u32 = 3;
120pub const ZMQ_GROUP_MAX_LENGTH: u32 = 15;
121pub const ZMQ_IDENTITY: u32 = 5;
122pub const ZMQ_CONNECT_RID: u32 = 61;
123pub const ZMQ_TCP_ACCEPT_FILTER: u32 = 38;
124pub const ZMQ_IPC_FILTER_PID: u32 = 58;
125pub const ZMQ_IPC_FILTER_UID: u32 = 59;
126pub const ZMQ_IPC_FILTER_GID: u32 = 60;
127pub const ZMQ_IPV4ONLY: u32 = 31;
128pub const ZMQ_DELAY_ATTACH_ON_CONNECT: u32 = 39;
129pub const ZMQ_NOBLOCK: u32 = 1;
130pub const ZMQ_FAIL_UNROUTABLE: u32 = 33;
131pub const ZMQ_ROUTER_BEHAVIOR: u32 = 33;
132pub const ZMQ_SRCFD: u32 = 2;
133pub const ZMQ_GSSAPI_NT_HOSTBASED: u32 = 0;
134pub const ZMQ_GSSAPI_NT_USER_NAME: u32 = 1;
135pub const ZMQ_GSSAPI_NT_KRB5_PRINCIPAL: u32 = 2;
136pub const ZMQ_EVENT_CONNECTED: u32 = 1;
137pub const ZMQ_EVENT_CONNECT_DELAYED: u32 = 2;
138pub const ZMQ_EVENT_CONNECT_RETRIED: u32 = 4;
139pub const ZMQ_EVENT_LISTENING: u32 = 8;
140pub const ZMQ_EVENT_BIND_FAILED: u32 = 16;
141pub const ZMQ_EVENT_ACCEPTED: u32 = 32;
142pub const ZMQ_EVENT_ACCEPT_FAILED: u32 = 64;
143pub const ZMQ_EVENT_CLOSED: u32 = 128;
144pub const ZMQ_EVENT_CLOSE_FAILED: u32 = 256;
145pub const ZMQ_EVENT_DISCONNECTED: u32 = 512;
146pub const ZMQ_EVENT_MONITOR_STOPPED: u32 = 1024;
147pub const ZMQ_EVENT_ALL: u32 = 65535;
148pub const ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL: u32 = 2048;
149pub const ZMQ_EVENT_HANDSHAKE_SUCCEEDED: u32 = 4096;
150pub const ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL: u32 = 8192;
151pub const ZMQ_EVENT_HANDSHAKE_FAILED_AUTH: u32 = 16384;
152pub const ZMQ_PROTOCOL_ERROR_ZMTP_UNSPECIFIED: u32 = 268435456;
153pub const ZMQ_PROTOCOL_ERROR_ZMTP_UNEXPECTED_COMMAND: u32 = 268435457;
154pub const ZMQ_PROTOCOL_ERROR_ZMTP_INVALID_SEQUENCE: u32 = 268435458;
155pub const ZMQ_PROTOCOL_ERROR_ZMTP_KEY_EXCHANGE: u32 = 268435459;
156pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_UNSPECIFIED: u32 =
157    268435473;
158pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_MESSAGE: u32 = 268435474;
159pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_HELLO: u32 = 268435475;
160pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_INITIATE: u32 = 268435476;
161pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_ERROR: u32 = 268435477;
162pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_READY: u32 = 268435478;
163pub const ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_WELCOME: u32 = 268435479;
164pub const ZMQ_PROTOCOL_ERROR_ZMTP_INVALID_METADATA: u32 = 268435480;
165pub const ZMQ_PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC: u32 = 285212673;
166pub const ZMQ_PROTOCOL_ERROR_ZMTP_MECHANISM_MISMATCH: u32 = 285212674;
167pub const ZMQ_PROTOCOL_ERROR_ZAP_UNSPECIFIED: u32 = 536870912;
168pub const ZMQ_PROTOCOL_ERROR_ZAP_MALFORMED_REPLY: u32 = 536870913;
169pub const ZMQ_PROTOCOL_ERROR_ZAP_BAD_REQUEST_ID: u32 = 536870914;
170pub const ZMQ_PROTOCOL_ERROR_ZAP_BAD_VERSION: u32 = 536870915;
171pub const ZMQ_PROTOCOL_ERROR_ZAP_INVALID_STATUS_CODE: u32 = 536870916;
172pub const ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA: u32 = 536870917;
173pub const ZMQ_POLLIN: u32 = 1;
174pub const ZMQ_POLLOUT: u32 = 2;
175pub const ZMQ_POLLERR: u32 = 4;
176pub const ZMQ_POLLPRI: u32 = 8;
177pub const ZMQ_POLLITEMS_DFLT: u32 = 16;
178pub const ZMQ_HAS_CAPABILITIES: u32 = 1;
179pub const ZMQ_STREAMER: u32 = 1;
180pub const ZMQ_FORWARDER: u32 = 2;
181pub const ZMQ_QUEUE: u32 = 3;
182pub const ZMQ_SERVER: u32 = 12;
183pub const ZMQ_CLIENT: u32 = 13;
184pub const ZMQ_RADIO: u32 = 14;
185pub const ZMQ_DISH: u32 = 15;
186pub const ZMQ_GATHER: u32 = 16;
187pub const ZMQ_SCATTER: u32 = 17;
188pub const ZMQ_DGRAM: u32 = 18;
189pub const ZMQ_ZAP_ENFORCE_DOMAIN: u32 = 93;
190pub const ZMQ_LOOPBACK_FASTPATH: u32 = 94;
191pub const ZMQ_METADATA: u32 = 95;
192pub const ZMQ_MULTICAST_LOOP: u32 = 96;
193pub const ZMQ_ROUTER_NOTIFY: u32 = 97;
194pub const ZMQ_XPUB_MANUAL_LAST_VALUE: u32 = 98;
195pub const ZMQ_SOCKS_USERNAME: u32 = 99;
196pub const ZMQ_SOCKS_PASSWORD: u32 = 100;
197pub const ZMQ_IN_BATCH_SIZE: u32 = 101;
198pub const ZMQ_OUT_BATCH_SIZE: u32 = 102;
199pub const ZMQ_ZERO_COPY_RECV: u32 = 10;
200pub const ZMQ_MSG_PROPERTY_ROUTING_ID: &'static [u8; 11usize] = b"Routing-Id\0";
201pub const ZMQ_MSG_PROPERTY_SOCKET_TYPE: &'static [u8; 12usize] =
202    b"Socket-Type\0";
203pub const ZMQ_MSG_PROPERTY_USER_ID: &'static [u8; 8usize] = b"User-Id\0";
204pub const ZMQ_MSG_PROPERTY_PEER_ADDRESS: &'static [u8; 13usize] =
205    b"Peer-Address\0";
206pub const ZMQ_NOTIFY_CONNECT: u32 = 1;
207pub const ZMQ_NOTIFY_DISCONNECT: u32 = 2;
208pub const ZMQ_EVENT_PIPES_STATS: u32 = 65536;
209pub const ZMQ_CURRENT_EVENT_VERSION: u32 = 1;
210pub const ZMQ_CURRENT_EVENT_VERSION_DRAFT: u32 = 2;
211pub const ZMQ_EVENT_ALL_V1: u32 = 65535;
212pub const ZMQ_EVENT_ALL_V2: u32 = 131071;
213pub type __uint8_t = ::std::os::raw::c_uchar;
214pub type __uint32_t = ::std::os::raw::c_uint;
215pub type __uint64_t = ::std::os::raw::c_ulong;
216extern "C" {
217    pub fn zmq_errno() -> ::std::os::raw::c_int;
218}
219extern "C" {
220    pub fn zmq_strerror(
221        errnum_: ::std::os::raw::c_int,
222    ) -> *const ::std::os::raw::c_char;
223}
224extern "C" {
225    pub fn zmq_version(
226        major_: *mut ::std::os::raw::c_int,
227        minor_: *mut ::std::os::raw::c_int,
228        patch_: *mut ::std::os::raw::c_int,
229    );
230}
231extern "C" {
232    pub fn zmq_ctx_new() -> *mut ::std::os::raw::c_void;
233}
234extern "C" {
235    pub fn zmq_ctx_term(
236        context_: *mut ::std::os::raw::c_void,
237    ) -> ::std::os::raw::c_int;
238}
239extern "C" {
240    pub fn zmq_ctx_shutdown(
241        context_: *mut ::std::os::raw::c_void,
242    ) -> ::std::os::raw::c_int;
243}
244extern "C" {
245    pub fn zmq_ctx_set(
246        context_: *mut ::std::os::raw::c_void,
247        option_: ::std::os::raw::c_int,
248        optval_: ::std::os::raw::c_int,
249    ) -> ::std::os::raw::c_int;
250}
251extern "C" {
252    pub fn zmq_ctx_get(
253        context_: *mut ::std::os::raw::c_void,
254        option_: ::std::os::raw::c_int,
255    ) -> ::std::os::raw::c_int;
256}
257extern "C" {
258    pub fn zmq_init(
259        io_threads_: ::std::os::raw::c_int,
260    ) -> *mut ::std::os::raw::c_void;
261}
262extern "C" {
263    pub fn zmq_term(
264        context_: *mut ::std::os::raw::c_void,
265    ) -> ::std::os::raw::c_int;
266}
267extern "C" {
268    pub fn zmq_ctx_destroy(
269        context_: *mut ::std::os::raw::c_void,
270    ) -> ::std::os::raw::c_int;
271}
272#[repr(C)]
273#[repr(align(8))]
274#[derive(Copy, Clone)]
275pub struct zmq_msg_t {
276    pub __: [::std::os::raw::c_uchar; 64usize],
277}
278#[test]
279fn bindgen_test_layout_zmq_msg_t() {
280    assert_eq!(
281        ::std::mem::size_of::<zmq_msg_t>(),
282        64usize,
283        concat!("Size of: ", stringify!(zmq_msg_t))
284    );
285    assert_eq!(
286        ::std::mem::align_of::<zmq_msg_t>(),
287        8usize,
288        concat!("Alignment of ", stringify!(zmq_msg_t))
289    );
290    assert_eq!(
291        unsafe {
292            &(*(::std::ptr::null::<zmq_msg_t>())).__ as *const _ as usize
293        },
294        0usize,
295        concat!(
296            "Offset of field: ",
297            stringify!(zmq_msg_t),
298            "::",
299            stringify!(__)
300        )
301    );
302}
303impl Default for zmq_msg_t {
304    fn default() -> Self {
305        unsafe { ::std::mem::zeroed() }
306    }
307}
308pub type zmq_free_fn = ::std::option::Option<
309    unsafe extern "C" fn(
310        data_: *mut ::std::os::raw::c_void,
311        hint_: *mut ::std::os::raw::c_void,
312    ),
313>;
314extern "C" {
315    pub fn zmq_msg_init(msg_: *mut zmq_msg_t) -> ::std::os::raw::c_int;
316}
317extern "C" {
318    pub fn zmq_msg_init_size(
319        msg_: *mut zmq_msg_t,
320        size_: usize,
321    ) -> ::std::os::raw::c_int;
322}
323extern "C" {
324    pub fn zmq_msg_init_data(
325        msg_: *mut zmq_msg_t,
326        data_: *mut ::std::os::raw::c_void,
327        size_: usize,
328        ffn_: zmq_free_fn,
329        hint_: *mut ::std::os::raw::c_void,
330    ) -> ::std::os::raw::c_int;
331}
332extern "C" {
333    pub fn zmq_msg_send(
334        msg_: *mut zmq_msg_t,
335        s_: *mut ::std::os::raw::c_void,
336        flags_: ::std::os::raw::c_int,
337    ) -> ::std::os::raw::c_int;
338}
339extern "C" {
340    pub fn zmq_msg_recv(
341        msg_: *mut zmq_msg_t,
342        s_: *mut ::std::os::raw::c_void,
343        flags_: ::std::os::raw::c_int,
344    ) -> ::std::os::raw::c_int;
345}
346extern "C" {
347    pub fn zmq_msg_close(msg_: *mut zmq_msg_t) -> ::std::os::raw::c_int;
348}
349extern "C" {
350    pub fn zmq_msg_move(
351        dest_: *mut zmq_msg_t,
352        src_: *mut zmq_msg_t,
353    ) -> ::std::os::raw::c_int;
354}
355extern "C" {
356    pub fn zmq_msg_copy(
357        dest_: *mut zmq_msg_t,
358        src_: *mut zmq_msg_t,
359    ) -> ::std::os::raw::c_int;
360}
361extern "C" {
362    pub fn zmq_msg_data(msg_: *mut zmq_msg_t) -> *mut ::std::os::raw::c_void;
363}
364extern "C" {
365    pub fn zmq_msg_size(msg_: *const zmq_msg_t) -> usize;
366}
367extern "C" {
368    pub fn zmq_msg_more(msg_: *const zmq_msg_t) -> ::std::os::raw::c_int;
369}
370extern "C" {
371    pub fn zmq_msg_get(
372        msg_: *const zmq_msg_t,
373        property_: ::std::os::raw::c_int,
374    ) -> ::std::os::raw::c_int;
375}
376extern "C" {
377    pub fn zmq_msg_set(
378        msg_: *mut zmq_msg_t,
379        property_: ::std::os::raw::c_int,
380        optval_: ::std::os::raw::c_int,
381    ) -> ::std::os::raw::c_int;
382}
383extern "C" {
384    pub fn zmq_msg_gets(
385        msg_: *const zmq_msg_t,
386        property_: *const ::std::os::raw::c_char,
387    ) -> *const ::std::os::raw::c_char;
388}
389extern "C" {
390    pub fn zmq_socket(
391        arg1: *mut ::std::os::raw::c_void,
392        type_: ::std::os::raw::c_int,
393    ) -> *mut ::std::os::raw::c_void;
394}
395extern "C" {
396    pub fn zmq_close(s_: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
397}
398extern "C" {
399    pub fn zmq_setsockopt(
400        s_: *mut ::std::os::raw::c_void,
401        option_: ::std::os::raw::c_int,
402        optval_: *const ::std::os::raw::c_void,
403        optvallen_: usize,
404    ) -> ::std::os::raw::c_int;
405}
406extern "C" {
407    pub fn zmq_getsockopt(
408        s_: *mut ::std::os::raw::c_void,
409        option_: ::std::os::raw::c_int,
410        optval_: *mut ::std::os::raw::c_void,
411        optvallen_: *mut usize,
412    ) -> ::std::os::raw::c_int;
413}
414extern "C" {
415    pub fn zmq_bind(
416        s_: *mut ::std::os::raw::c_void,
417        addr_: *const ::std::os::raw::c_char,
418    ) -> ::std::os::raw::c_int;
419}
420extern "C" {
421    pub fn zmq_connect(
422        s_: *mut ::std::os::raw::c_void,
423        addr_: *const ::std::os::raw::c_char,
424    ) -> ::std::os::raw::c_int;
425}
426extern "C" {
427    pub fn zmq_unbind(
428        s_: *mut ::std::os::raw::c_void,
429        addr_: *const ::std::os::raw::c_char,
430    ) -> ::std::os::raw::c_int;
431}
432extern "C" {
433    pub fn zmq_disconnect(
434        s_: *mut ::std::os::raw::c_void,
435        addr_: *const ::std::os::raw::c_char,
436    ) -> ::std::os::raw::c_int;
437}
438extern "C" {
439    pub fn zmq_send(
440        s_: *mut ::std::os::raw::c_void,
441        buf_: *const ::std::os::raw::c_void,
442        len_: usize,
443        flags_: ::std::os::raw::c_int,
444    ) -> ::std::os::raw::c_int;
445}
446extern "C" {
447    pub fn zmq_send_const(
448        s_: *mut ::std::os::raw::c_void,
449        buf_: *const ::std::os::raw::c_void,
450        len_: usize,
451        flags_: ::std::os::raw::c_int,
452    ) -> ::std::os::raw::c_int;
453}
454extern "C" {
455    pub fn zmq_recv(
456        s_: *mut ::std::os::raw::c_void,
457        buf_: *mut ::std::os::raw::c_void,
458        len_: usize,
459        flags_: ::std::os::raw::c_int,
460    ) -> ::std::os::raw::c_int;
461}
462extern "C" {
463    pub fn zmq_socket_monitor(
464        s_: *mut ::std::os::raw::c_void,
465        addr_: *const ::std::os::raw::c_char,
466        events_: ::std::os::raw::c_int,
467    ) -> ::std::os::raw::c_int;
468}
469#[repr(C)]
470#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
471pub struct zmq_pollitem_t {
472    pub socket: *mut ::std::os::raw::c_void,
473    pub fd: ::std::os::raw::c_int,
474    pub events: ::std::os::raw::c_short,
475    pub revents: ::std::os::raw::c_short,
476}
477#[test]
478fn bindgen_test_layout_zmq_pollitem_t() {
479    assert_eq!(
480        ::std::mem::size_of::<zmq_pollitem_t>(),
481        16usize,
482        concat!("Size of: ", stringify!(zmq_pollitem_t))
483    );
484    assert_eq!(
485        ::std::mem::align_of::<zmq_pollitem_t>(),
486        8usize,
487        concat!("Alignment of ", stringify!(zmq_pollitem_t))
488    );
489    assert_eq!(
490        unsafe {
491            &(*(::std::ptr::null::<zmq_pollitem_t>())).socket as *const _
492                as usize
493        },
494        0usize,
495        concat!(
496            "Offset of field: ",
497            stringify!(zmq_pollitem_t),
498            "::",
499            stringify!(socket)
500        )
501    );
502    assert_eq!(
503        unsafe {
504            &(*(::std::ptr::null::<zmq_pollitem_t>())).fd as *const _ as usize
505        },
506        8usize,
507        concat!(
508            "Offset of field: ",
509            stringify!(zmq_pollitem_t),
510            "::",
511            stringify!(fd)
512        )
513    );
514    assert_eq!(
515        unsafe {
516            &(*(::std::ptr::null::<zmq_pollitem_t>())).events as *const _
517                as usize
518        },
519        12usize,
520        concat!(
521            "Offset of field: ",
522            stringify!(zmq_pollitem_t),
523            "::",
524            stringify!(events)
525        )
526    );
527    assert_eq!(
528        unsafe {
529            &(*(::std::ptr::null::<zmq_pollitem_t>())).revents as *const _
530                as usize
531        },
532        14usize,
533        concat!(
534            "Offset of field: ",
535            stringify!(zmq_pollitem_t),
536            "::",
537            stringify!(revents)
538        )
539    );
540}
541impl Default for zmq_pollitem_t {
542    fn default() -> Self {
543        unsafe { ::std::mem::zeroed() }
544    }
545}
546extern "C" {
547    pub fn zmq_poll(
548        items_: *mut zmq_pollitem_t,
549        nitems_: ::std::os::raw::c_int,
550        timeout_: ::std::os::raw::c_long,
551    ) -> ::std::os::raw::c_int;
552}
553extern "C" {
554    pub fn zmq_proxy(
555        frontend_: *mut ::std::os::raw::c_void,
556        backend_: *mut ::std::os::raw::c_void,
557        capture_: *mut ::std::os::raw::c_void,
558    ) -> ::std::os::raw::c_int;
559}
560extern "C" {
561    pub fn zmq_proxy_steerable(
562        frontend_: *mut ::std::os::raw::c_void,
563        backend_: *mut ::std::os::raw::c_void,
564        capture_: *mut ::std::os::raw::c_void,
565        control_: *mut ::std::os::raw::c_void,
566    ) -> ::std::os::raw::c_int;
567}
568extern "C" {
569    pub fn zmq_has(
570        capability_: *const ::std::os::raw::c_char,
571    ) -> ::std::os::raw::c_int;
572}
573extern "C" {
574    pub fn zmq_device(
575        type_: ::std::os::raw::c_int,
576        frontend_: *mut ::std::os::raw::c_void,
577        backend_: *mut ::std::os::raw::c_void,
578    ) -> ::std::os::raw::c_int;
579}
580extern "C" {
581    pub fn zmq_sendmsg(
582        s_: *mut ::std::os::raw::c_void,
583        msg_: *mut zmq_msg_t,
584        flags_: ::std::os::raw::c_int,
585    ) -> ::std::os::raw::c_int;
586}
587extern "C" {
588    pub fn zmq_recvmsg(
589        s_: *mut ::std::os::raw::c_void,
590        msg_: *mut zmq_msg_t,
591        flags_: ::std::os::raw::c_int,
592    ) -> ::std::os::raw::c_int;
593}
594#[repr(C)]
595#[derive(Debug, Copy, Clone)]
596pub struct iovec {
597    _unused: [u8; 0],
598}
599extern "C" {
600    pub fn zmq_sendiov(
601        s_: *mut ::std::os::raw::c_void,
602        iov_: *mut iovec,
603        count_: usize,
604        flags_: ::std::os::raw::c_int,
605    ) -> ::std::os::raw::c_int;
606}
607extern "C" {
608    pub fn zmq_recviov(
609        s_: *mut ::std::os::raw::c_void,
610        iov_: *mut iovec,
611        count_: *mut usize,
612        flags_: ::std::os::raw::c_int,
613    ) -> ::std::os::raw::c_int;
614}
615extern "C" {
616    pub fn zmq_z85_encode(
617        dest_: *mut ::std::os::raw::c_char,
618        data_: *const u8,
619        size_: usize,
620    ) -> *mut ::std::os::raw::c_char;
621}
622extern "C" {
623    pub fn zmq_z85_decode(
624        dest_: *mut u8,
625        string_: *const ::std::os::raw::c_char,
626    ) -> *mut u8;
627}
628extern "C" {
629    pub fn zmq_curve_keypair(
630        z85_public_key_: *mut ::std::os::raw::c_char,
631        z85_secret_key_: *mut ::std::os::raw::c_char,
632    ) -> ::std::os::raw::c_int;
633}
634extern "C" {
635    pub fn zmq_curve_public(
636        z85_public_key_: *mut ::std::os::raw::c_char,
637        z85_secret_key_: *const ::std::os::raw::c_char,
638    ) -> ::std::os::raw::c_int;
639}
640extern "C" {
641    pub fn zmq_atomic_counter_new() -> *mut ::std::os::raw::c_void;
642}
643extern "C" {
644    pub fn zmq_atomic_counter_set(
645        counter_: *mut ::std::os::raw::c_void,
646        value_: ::std::os::raw::c_int,
647    );
648}
649extern "C" {
650    pub fn zmq_atomic_counter_inc(
651        counter_: *mut ::std::os::raw::c_void,
652    ) -> ::std::os::raw::c_int;
653}
654extern "C" {
655    pub fn zmq_atomic_counter_dec(
656        counter_: *mut ::std::os::raw::c_void,
657    ) -> ::std::os::raw::c_int;
658}
659extern "C" {
660    pub fn zmq_atomic_counter_value(
661        counter_: *mut ::std::os::raw::c_void,
662    ) -> ::std::os::raw::c_int;
663}
664extern "C" {
665    pub fn zmq_atomic_counter_destroy(
666        counter_p_: *mut *mut ::std::os::raw::c_void,
667    );
668}
669pub type zmq_timer_fn = ::std::option::Option<
670    unsafe extern "C" fn(
671        timer_id: ::std::os::raw::c_int,
672        arg: *mut ::std::os::raw::c_void,
673    ),
674>;
675extern "C" {
676    pub fn zmq_timers_new() -> *mut ::std::os::raw::c_void;
677}
678extern "C" {
679    pub fn zmq_timers_destroy(
680        timers_p: *mut *mut ::std::os::raw::c_void,
681    ) -> ::std::os::raw::c_int;
682}
683extern "C" {
684    pub fn zmq_timers_add(
685        timers: *mut ::std::os::raw::c_void,
686        interval: usize,
687        handler: zmq_timer_fn,
688        arg: *mut ::std::os::raw::c_void,
689    ) -> ::std::os::raw::c_int;
690}
691extern "C" {
692    pub fn zmq_timers_cancel(
693        timers: *mut ::std::os::raw::c_void,
694        timer_id: ::std::os::raw::c_int,
695    ) -> ::std::os::raw::c_int;
696}
697extern "C" {
698    pub fn zmq_timers_set_interval(
699        timers: *mut ::std::os::raw::c_void,
700        timer_id: ::std::os::raw::c_int,
701        interval: usize,
702    ) -> ::std::os::raw::c_int;
703}
704extern "C" {
705    pub fn zmq_timers_reset(
706        timers: *mut ::std::os::raw::c_void,
707        timer_id: ::std::os::raw::c_int,
708    ) -> ::std::os::raw::c_int;
709}
710extern "C" {
711    pub fn zmq_timers_timeout(
712        timers: *mut ::std::os::raw::c_void,
713    ) -> ::std::os::raw::c_long;
714}
715extern "C" {
716    pub fn zmq_timers_execute(
717        timers: *mut ::std::os::raw::c_void,
718    ) -> ::std::os::raw::c_int;
719}
720extern "C" {
721    pub fn zmq_stopwatch_start() -> *mut ::std::os::raw::c_void;
722}
723extern "C" {
724    pub fn zmq_stopwatch_intermediate(
725        watch_: *mut ::std::os::raw::c_void,
726    ) -> ::std::os::raw::c_ulong;
727}
728extern "C" {
729    pub fn zmq_stopwatch_stop(
730        watch_: *mut ::std::os::raw::c_void,
731    ) -> ::std::os::raw::c_ulong;
732}
733extern "C" {
734    pub fn zmq_sleep(seconds_: ::std::os::raw::c_int);
735}
736pub type zmq_thread_fn = ::std::option::Option<
737    unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
738>;
739extern "C" {
740    pub fn zmq_threadstart(
741        func_: zmq_thread_fn,
742        arg_: *mut ::std::os::raw::c_void,
743    ) -> *mut ::std::os::raw::c_void;
744}
745extern "C" {
746    pub fn zmq_threadclose(thread_: *mut ::std::os::raw::c_void);
747}
748extern "C" {
749    pub fn zmq_join(
750        s: *mut ::std::os::raw::c_void,
751        group: *const ::std::os::raw::c_char,
752    ) -> ::std::os::raw::c_int;
753}
754extern "C" {
755    pub fn zmq_leave(
756        s: *mut ::std::os::raw::c_void,
757        group: *const ::std::os::raw::c_char,
758    ) -> ::std::os::raw::c_int;
759}
760extern "C" {
761    pub fn zmq_msg_set_routing_id(
762        msg: *mut zmq_msg_t,
763        routing_id: u32,
764    ) -> ::std::os::raw::c_int;
765}
766extern "C" {
767    pub fn zmq_msg_routing_id(msg: *mut zmq_msg_t) -> u32;
768}
769extern "C" {
770    pub fn zmq_msg_set_group(
771        msg: *mut zmq_msg_t,
772        group: *const ::std::os::raw::c_char,
773    ) -> ::std::os::raw::c_int;
774}
775extern "C" {
776    pub fn zmq_msg_group(msg: *mut zmq_msg_t) -> *const ::std::os::raw::c_char;
777}
778pub type zmq_fd_t = ::std::os::raw::c_int;
779#[repr(C)]
780#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
781pub struct zmq_poller_event_t {
782    pub socket: *mut ::std::os::raw::c_void,
783    pub fd: zmq_fd_t,
784    pub user_data: *mut ::std::os::raw::c_void,
785    pub events: ::std::os::raw::c_short,
786}
787#[test]
788fn bindgen_test_layout_zmq_poller_event_t() {
789    assert_eq!(
790        ::std::mem::size_of::<zmq_poller_event_t>(),
791        32usize,
792        concat!("Size of: ", stringify!(zmq_poller_event_t))
793    );
794    assert_eq!(
795        ::std::mem::align_of::<zmq_poller_event_t>(),
796        8usize,
797        concat!("Alignment of ", stringify!(zmq_poller_event_t))
798    );
799    assert_eq!(
800        unsafe {
801            &(*(::std::ptr::null::<zmq_poller_event_t>())).socket as *const _
802                as usize
803        },
804        0usize,
805        concat!(
806            "Offset of field: ",
807            stringify!(zmq_poller_event_t),
808            "::",
809            stringify!(socket)
810        )
811    );
812    assert_eq!(
813        unsafe {
814            &(*(::std::ptr::null::<zmq_poller_event_t>())).fd as *const _
815                as usize
816        },
817        8usize,
818        concat!(
819            "Offset of field: ",
820            stringify!(zmq_poller_event_t),
821            "::",
822            stringify!(fd)
823        )
824    );
825    assert_eq!(
826        unsafe {
827            &(*(::std::ptr::null::<zmq_poller_event_t>())).user_data as *const _
828                as usize
829        },
830        16usize,
831        concat!(
832            "Offset of field: ",
833            stringify!(zmq_poller_event_t),
834            "::",
835            stringify!(user_data)
836        )
837    );
838    assert_eq!(
839        unsafe {
840            &(*(::std::ptr::null::<zmq_poller_event_t>())).events as *const _
841                as usize
842        },
843        24usize,
844        concat!(
845            "Offset of field: ",
846            stringify!(zmq_poller_event_t),
847            "::",
848            stringify!(events)
849        )
850    );
851}
852impl Default for zmq_poller_event_t {
853    fn default() -> Self {
854        unsafe { ::std::mem::zeroed() }
855    }
856}
857extern "C" {
858    pub fn zmq_poller_new() -> *mut ::std::os::raw::c_void;
859}
860extern "C" {
861    pub fn zmq_poller_destroy(
862        poller_p: *mut *mut ::std::os::raw::c_void,
863    ) -> ::std::os::raw::c_int;
864}
865extern "C" {
866    pub fn zmq_poller_add(
867        poller: *mut ::std::os::raw::c_void,
868        socket: *mut ::std::os::raw::c_void,
869        user_data: *mut ::std::os::raw::c_void,
870        events: ::std::os::raw::c_short,
871    ) -> ::std::os::raw::c_int;
872}
873extern "C" {
874    pub fn zmq_poller_modify(
875        poller: *mut ::std::os::raw::c_void,
876        socket: *mut ::std::os::raw::c_void,
877        events: ::std::os::raw::c_short,
878    ) -> ::std::os::raw::c_int;
879}
880extern "C" {
881    pub fn zmq_poller_remove(
882        poller: *mut ::std::os::raw::c_void,
883        socket: *mut ::std::os::raw::c_void,
884    ) -> ::std::os::raw::c_int;
885}
886extern "C" {
887    pub fn zmq_poller_wait(
888        poller: *mut ::std::os::raw::c_void,
889        event: *mut zmq_poller_event_t,
890        timeout: ::std::os::raw::c_long,
891    ) -> ::std::os::raw::c_int;
892}
893extern "C" {
894    pub fn zmq_poller_wait_all(
895        poller: *mut ::std::os::raw::c_void,
896        events: *mut zmq_poller_event_t,
897        n_events: ::std::os::raw::c_int,
898        timeout: ::std::os::raw::c_long,
899    ) -> ::std::os::raw::c_int;
900}
901extern "C" {
902    pub fn zmq_poller_fd(
903        poller: *mut ::std::os::raw::c_void,
904        fd: *mut zmq_fd_t,
905    ) -> ::std::os::raw::c_int;
906}
907extern "C" {
908    pub fn zmq_poller_add_fd(
909        poller: *mut ::std::os::raw::c_void,
910        fd: zmq_fd_t,
911        user_data: *mut ::std::os::raw::c_void,
912        events: ::std::os::raw::c_short,
913    ) -> ::std::os::raw::c_int;
914}
915extern "C" {
916    pub fn zmq_poller_modify_fd(
917        poller: *mut ::std::os::raw::c_void,
918        fd: zmq_fd_t,
919        events: ::std::os::raw::c_short,
920    ) -> ::std::os::raw::c_int;
921}
922extern "C" {
923    pub fn zmq_poller_remove_fd(
924        poller: *mut ::std::os::raw::c_void,
925        fd: zmq_fd_t,
926    ) -> ::std::os::raw::c_int;
927}
928extern "C" {
929    pub fn zmq_socket_get_peer_state(
930        socket: *mut ::std::os::raw::c_void,
931        routing_id: *const ::std::os::raw::c_void,
932        routing_id_size: usize,
933    ) -> ::std::os::raw::c_int;
934}
935extern "C" {
936    pub fn zmq_socket_monitor_versioned(
937        s_: *mut ::std::os::raw::c_void,
938        addr_: *const ::std::os::raw::c_char,
939        events_: u64,
940        event_version_: ::std::os::raw::c_int,
941        type_: ::std::os::raw::c_int,
942    ) -> ::std::os::raw::c_int;
943}
944extern "C" {
945    pub fn zmq_socket_monitor_pipes_stats(
946        s: *mut ::std::os::raw::c_void,
947    ) -> ::std::os::raw::c_int;
948}