1extern crate libc;
2
3#[cfg(unix)]
4mod unix;
5#[cfg(unix)]
6pub use crate::unix::RawFd;
7
8#[cfg(windows)]
9mod windows;
10#[cfg(windows)]
11pub use windows::RawFd;
12
13pub mod errno;
14
15pub use crate::ffi::{
16 ZMQ_HAUSNUMERO,
24 ZMQ_IO_THREADS,
25 ZMQ_MAX_SOCKETS,
26 ZMQ_SOCKET_LIMIT,
27 ZMQ_THREAD_PRIORITY,
28 ZMQ_THREAD_SCHED_POLICY,
29 ZMQ_MAX_MSGSZ,
30 ZMQ_MSG_T_SIZE,
31 ZMQ_THREAD_AFFINITY_CPU_ADD,
32 ZMQ_THREAD_AFFINITY_CPU_REMOVE,
33 ZMQ_THREAD_NAME_PREFIX,
34 ZMQ_IO_THREADS_DFLT,
35 ZMQ_MAX_SOCKETS_DFLT,
36 ZMQ_THREAD_PRIORITY_DFLT,
37 ZMQ_THREAD_SCHED_POLICY_DFLT,
38 ZMQ_PAIR,
39 ZMQ_PUB,
40 ZMQ_SUB,
41 ZMQ_REQ,
42 ZMQ_REP,
43 ZMQ_DEALER,
44 ZMQ_ROUTER,
45 ZMQ_PULL,
46 ZMQ_PUSH,
47 ZMQ_XPUB,
48 ZMQ_XSUB,
49 ZMQ_STREAM,
50 ZMQ_AFFINITY,
51 ZMQ_ROUTING_ID,
52 ZMQ_SUBSCRIBE,
53 ZMQ_UNSUBSCRIBE,
54 ZMQ_RATE,
55 ZMQ_RECOVERY_IVL,
56 ZMQ_SNDBUF,
57 ZMQ_RCVBUF,
58 ZMQ_RCVMORE,
59 ZMQ_FD,
60 ZMQ_EVENTS,
61 ZMQ_TYPE,
62 ZMQ_LINGER,
63 ZMQ_RECONNECT_IVL,
64 ZMQ_BACKLOG,
65 ZMQ_RECONNECT_IVL_MAX,
66 ZMQ_MAXMSGSIZE,
67 ZMQ_SNDHWM,
68 ZMQ_RCVHWM,
69 ZMQ_MULTICAST_HOPS,
70 ZMQ_RCVTIMEO,
71 ZMQ_SNDTIMEO,
72 ZMQ_LAST_ENDPOINT,
73 ZMQ_ROUTER_MANDATORY,
74 ZMQ_TCP_KEEPALIVE,
75 ZMQ_TCP_KEEPALIVE_CNT,
76 ZMQ_TCP_KEEPALIVE_IDLE,
77 ZMQ_TCP_KEEPALIVE_INTVL,
78 ZMQ_IMMEDIATE,
79 ZMQ_XPUB_VERBOSE,
80 ZMQ_ROUTER_RAW,
81 ZMQ_IPV6,
82 ZMQ_MECHANISM,
83 ZMQ_PLAIN_SERVER,
84 ZMQ_PLAIN_USERNAME,
85 ZMQ_PLAIN_PASSWORD,
86 ZMQ_CURVE_SERVER,
87 ZMQ_CURVE_PUBLICKEY,
88 ZMQ_CURVE_SECRETKEY,
89 ZMQ_CURVE_SERVERKEY,
90 ZMQ_PROBE_ROUTER,
91 ZMQ_REQ_CORRELATE,
92 ZMQ_REQ_RELAXED,
93 ZMQ_CONFLATE,
94 ZMQ_ZAP_DOMAIN,
95 ZMQ_ROUTER_HANDOVER,
96 ZMQ_TOS,
97 ZMQ_CONNECT_ROUTING_ID,
98 ZMQ_GSSAPI_SERVER,
99 ZMQ_GSSAPI_PRINCIPAL,
100 ZMQ_GSSAPI_SERVICE_PRINCIPAL,
101 ZMQ_GSSAPI_PLAINTEXT,
102 ZMQ_HANDSHAKE_IVL,
103 ZMQ_SOCKS_PROXY,
104 ZMQ_XPUB_NODROP,
105 ZMQ_BLOCKY,
106 ZMQ_XPUB_MANUAL,
107 ZMQ_XPUB_WELCOME_MSG,
108 ZMQ_STREAM_NOTIFY,
109 ZMQ_INVERT_MATCHING,
110 ZMQ_HEARTBEAT_IVL,
111 ZMQ_HEARTBEAT_TTL,
112 ZMQ_HEARTBEAT_TIMEOUT,
113 ZMQ_XPUB_VERBOSER,
114 ZMQ_CONNECT_TIMEOUT,
115 ZMQ_TCP_MAXRT,
116 ZMQ_THREAD_SAFE,
117 ZMQ_MULTICAST_MAXTPDU,
118 ZMQ_VMCI_BUFFER_SIZE,
119 ZMQ_VMCI_BUFFER_MIN_SIZE,
120 ZMQ_VMCI_BUFFER_MAX_SIZE,
121 ZMQ_VMCI_CONNECT_TIMEOUT,
122 ZMQ_USE_FD,
123 ZMQ_GSSAPI_PRINCIPAL_NAMETYPE,
124 ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE,
125 ZMQ_BINDTODEVICE,
126 ZMQ_MORE,
127 ZMQ_SHARED,
128 ZMQ_DONTWAIT,
129 ZMQ_SNDMORE,
130 ZMQ_NULL,
131 ZMQ_PLAIN,
132 ZMQ_CURVE,
133 ZMQ_GSSAPI,
134 ZMQ_GROUP_MAX_LENGTH,
135 ZMQ_EVENT_CONNECTED,
136 ZMQ_EVENT_CONNECT_DELAYED,
137 ZMQ_EVENT_CONNECT_RETRIED,
138 ZMQ_EVENT_LISTENING,
139 ZMQ_EVENT_BIND_FAILED,
140 ZMQ_EVENT_ACCEPTED,
141 ZMQ_EVENT_ACCEPT_FAILED,
142 ZMQ_EVENT_CLOSED,
143 ZMQ_EVENT_CLOSE_FAILED,
144 ZMQ_EVENT_DISCONNECTED,
145 ZMQ_EVENT_MONITOR_STOPPED,
146 ZMQ_EVENT_ALL,
147 ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL,
148 ZMQ_EVENT_HANDSHAKE_SUCCEEDED,
149 ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL,
150 ZMQ_EVENT_HANDSHAKE_FAILED_AUTH,
151 ZMQ_PROTOCOL_ERROR_ZMTP_UNSPECIFIED,
152 ZMQ_PROTOCOL_ERROR_ZMTP_UNEXPECTED_COMMAND,
153 ZMQ_PROTOCOL_ERROR_ZMTP_INVALID_SEQUENCE,
154 ZMQ_PROTOCOL_ERROR_ZMTP_KEY_EXCHANGE,
155 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_UNSPECIFIED,
156 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_MESSAGE,
157 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_HELLO,
158 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_INITIATE,
159 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_ERROR,
160 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_READY,
161 ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_WELCOME,
162 ZMQ_PROTOCOL_ERROR_ZMTP_INVALID_METADATA,
163 ZMQ_PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC,
164 ZMQ_PROTOCOL_ERROR_ZMTP_MECHANISM_MISMATCH,
165 ZMQ_PROTOCOL_ERROR_ZAP_UNSPECIFIED,
166 ZMQ_PROTOCOL_ERROR_ZAP_MALFORMED_REPLY,
167 ZMQ_PROTOCOL_ERROR_ZAP_BAD_REQUEST_ID,
168 ZMQ_PROTOCOL_ERROR_ZAP_BAD_VERSION,
169 ZMQ_PROTOCOL_ERROR_ZAP_INVALID_STATUS_CODE,
170 ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA,
171
172 ZMQ_POLLIN,
176 ZMQ_POLLOUT,
177 ZMQ_POLLERR,
178 ZMQ_POLLPRI,
179
180 ZMQ_POLLITEMS_DFLT,
181
182 zmq_msg_t,
184 zmq_free_fn,
185
186 zmq_pollitem_t,
190 zmq_version,
191 zmq_errno,
192 zmq_strerror,
193 zmq_ctx_new,
194 zmq_ctx_term,
195 zmq_ctx_shutdown,
196 zmq_ctx_set,
197 zmq_ctx_get,
198 zmq_msg_init,
199 zmq_msg_init_size,
200 zmq_msg_init_data,
201 zmq_msg_send,
202 zmq_msg_recv,
203 zmq_msg_close,
204 zmq_msg_move,
205 zmq_msg_copy,
206 zmq_msg_data,
207 zmq_msg_size,
208 zmq_msg_more,
209 zmq_msg_get,
210 zmq_msg_set,
211 zmq_msg_gets,
212 zmq_socket,
213 zmq_close,
214 zmq_setsockopt,
215 zmq_getsockopt,
216 zmq_bind,
217 zmq_connect,
218 zmq_unbind,
219 zmq_disconnect,
220 zmq_send,
221 zmq_send_const,
222 zmq_recv,
223 zmq_socket_monitor,
224 zmq_sendmsg,
225 zmq_recvmsg,
226 zmq_sendiov,
227 zmq_recviov,
228 zmq_poll,
229 zmq_proxy,
230 zmq_proxy_steerable,
231 zmq_has,
232 zmq_device,
233 zmq_z85_encode,
234 zmq_z85_decode,
235 zmq_curve_keypair,
236};
237
238#[allow(non_camel_case_types)]
239#[allow(dead_code)]
240#[allow(clippy::unreadable_literal)]
241mod ffi;