nng_c_sys/
lib.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3#![no_std]
4#![allow(non_upper_case_globals)]
5#![allow(non_camel_case_types)]
6#![allow(non_snake_case)]
7
8pub const NNG_OPT_SOCKNAME: &[u8] = b"socket-name\0";
9pub const NNG_OPT_RAW: &[u8] = b"raw\0";
10pub const NNG_OPT_PROTO: &[u8] = b"protocol\0";
11pub const NNG_OPT_PROTONAME: &[u8] = b"protocol-name\0";
12pub const NNG_OPT_PEER: &[u8] = b"peer\0";
13pub const NNG_OPT_PEERNAME: &[u8] = b"peer-name\0";
14pub const NNG_OPT_RECVBUF: &[u8] = b"recv-buffer\0";
15pub const NNG_OPT_SENDBUF: &[u8] = b"send-buffer\0";
16pub const NNG_OPT_RECVFD: &[u8] = b"recv-fd\0";
17pub const NNG_OPT_SENDFD: &[u8] = b"send-fd\0";
18pub const NNG_OPT_RECVTIMEO: &[u8] = b"recv-timeout\0";
19pub const NNG_OPT_SENDTIMEO: &[u8] = b"send-timeout\0";
20pub const NNG_OPT_LOCADDR: &[u8] = b"local-address\0";
21pub const NNG_OPT_REMADDR: &[u8] = b"remote-address\0";
22pub const NNG_OPT_URL: &[u8] = b"url\0";
23pub const NNG_OPT_MAXTTL: &[u8] = b"ttl-max\0";
24pub const NNG_OPT_RECVMAXSZ: &[u8] = b"recv-size-max\0";
25pub const NNG_OPT_RECONNMINT: &[u8] = b"reconnect-time-min\0";
26pub const NNG_OPT_RECONNMAXT: &[u8] = b"reconnect-time-max\0";
27pub const NNG_OPT_PEER_GID: &[u8] = b"ipc:peer-gid\0";
28pub const NNG_OPT_PEER_PID: &[u8] = b"ipc:peer-pid\0";
29pub const NNG_OPT_PEER_UID: &[u8] = b"ipc:peer-uid\0";
30pub const NNG_OPT_PEER_ZONEID: &[u8] = b"ipc:peer-zoneid\0";
31
32pub const NNG_OPT_SUB_SUBSCRIBE: &[u8] = b"sub:subscribe\0";
33pub const NNG_OPT_SUB_UNSUBSCRIBE: &[u8] = b"sub:unsubscribe\0";
34pub const NNG_OPT_SUB_PREFNEW: &[u8] = b"sub:prefnew\0";
35
36pub const NNG_OPT_PAIR1_POLY: &[u8] = b"pair1:polyamorous\0";
37
38pub const NNG_OPT_REQ_RESENDTIME: &[u8] = b"req:resend-time\0";
39pub const NNG_OPT_REQ_RESENDTICK: &[u8] = b"req:resend-tick\0";
40
41pub const NNG_OPT_SURVEYOR_SURVEYTIME: &[u8] = b"surveyor:survey-time\0";
42
43pub const NNG_OPT_TLS_AUTH_MODE: &[u8] = b"tls-authmode\0";
44pub const NNG_OPT_TLS_CA_FILE: &[u8] = b"tls-ca-file\0";
45pub const NNG_OPT_TLS_CERT_KEY_FILE: &[u8] = b"tls-cert-key-file\0";
46pub const NNG_OPT_TLS_CONFIG: &[u8] = b"tls-config\0";
47pub const NNG_OPT_TLS_SERVER_NAME: &[u8] = b"tls-server-name\0";
48pub const NNG_OPT_TLS_VERIFIED: &[u8] = b"tls-verified\0";
49pub const NNG_OPT_TLS_PEER_CN: &[u8] = b"tls-peer-cn\0";
50pub const NNG_OPT_TLS_PEER_ALT_NAMES: &[u8] = b"tls-peer-alt-names\0";
51
52pub const NNG_FLAG_ALLOC: core::ffi::c_int = 1;
53pub const NNG_FLAG_NONBLOCK: core::ffi::c_int = 2;
54
55pub type nng_ctx = nng_ctx_s;
56pub type nng_dialer = nng_dialer_s;
57pub type nng_listener = nng_listener_s;
58pub type nng_pipe = nng_pipe_s;
59pub type nng_socket = nng_socket_s;
60pub type nng_duration = i32;
61pub type nng_time = u64;
62pub type nng_sockaddr_ipc = nng_sockaddr_path;
63pub type nng_pipe_cb = ::core::option::Option<
64    unsafe extern "C" fn(arg1: nng_pipe, arg2: nng_pipe_ev::Type, arg3: *mut core::ffi::c_void),
65>;
66pub type nng_aio_cancelfn = ::core::option::Option<
67    unsafe extern "C" fn(arg1: *mut nng_aio, arg2: *mut core::ffi::c_void, arg3: core::ffi::c_int),
68>;
69pub type nng_init_parameter = core::ffi::c_int;
70pub type nng_logger = ::core::option::Option<
71    unsafe extern "C" fn(
72        level: nng_log_level::Type,
73        facility: nng_log_facility::Type,
74        msgid: *const core::ffi::c_char,
75        msg: *const core::ffi::c_char,
76    ),
77>;
78#[repr(C)]
79#[derive(Debug, Copy, Clone)]
80pub struct nng_ctx_s {
81    pub id: u32,
82}
83#[repr(C)]
84#[derive(Debug, Copy, Clone)]
85pub struct nng_dialer_s {
86    pub id: u32,
87}
88#[repr(C)]
89#[derive(Debug, Copy, Clone)]
90pub struct nng_listener_s {
91    pub id: u32,
92}
93#[repr(C)]
94#[derive(Debug, Copy, Clone)]
95pub struct nng_pipe_s {
96    pub id: u32,
97}
98#[repr(C)]
99#[derive(Debug, Copy, Clone)]
100pub struct nng_socket_s {
101    pub id: u32,
102}
103#[repr(C)]
104#[derive(Debug, Copy, Clone)]
105pub struct nng_msg {
106    _unused: [u8; 0],
107}
108#[repr(C)]
109#[derive(Debug, Copy, Clone)]
110pub struct nng_stat {
111    _unused: [u8; 0],
112}
113#[repr(C)]
114#[derive(Debug, Copy, Clone)]
115pub struct nng_aio {
116    _unused: [u8; 0],
117}
118#[repr(C)]
119#[derive(Debug, Copy, Clone)]
120pub struct nng_sockaddr_inproc {
121    pub sa_family: u16,
122    pub sa_name: [core::ffi::c_char; 128usize],
123}
124#[repr(C)]
125#[derive(Debug, Copy, Clone)]
126pub struct nng_sockaddr_path {
127    pub sa_family: u16,
128    pub sa_path: [core::ffi::c_char; 128usize],
129}
130#[repr(C)]
131#[derive(Debug, Copy, Clone)]
132pub struct nng_sockaddr_in6 {
133    pub sa_family: u16,
134    pub sa_port: u16,
135    pub sa_addr: [u8; 16usize],
136    pub sa_scope: u32,
137}
138#[repr(C)]
139#[derive(Debug, Copy, Clone)]
140pub struct nng_sockaddr_in {
141    pub sa_family: u16,
142    pub sa_port: u16,
143    pub sa_addr: u32,
144}
145#[repr(C)]
146#[derive(Debug, Copy, Clone)]
147pub struct nng_sockaddr_zt {
148    pub sa_family: u16,
149    pub sa_nwid: u64,
150    pub sa_nodeid: u64,
151    pub sa_port: u32,
152}
153#[repr(C)]
154#[derive(Debug, Copy, Clone)]
155pub struct nng_sockaddr_abstract {
156    pub sa_family: u16,
157    pub sa_len: u16,
158    pub sa_name: [u8; 107usize],
159}
160#[repr(C)]
161#[derive(Debug, Copy, Clone)]
162pub struct nng_sockaddr_storage {
163    pub sa_family: u16,
164    pub sa_pad: [u64; 16usize],
165}
166#[repr(C)]
167#[derive(Debug, Copy, Clone)]
168pub struct nng_iov {
169    pub iov_buf: *mut core::ffi::c_void,
170    pub iov_len: usize,
171}
172#[repr(C)]
173#[derive(Debug, Copy, Clone)]
174pub struct nng_url {
175    pub u_rawurl: *mut core::ffi::c_char,
176    pub u_scheme: *mut core::ffi::c_char,
177    pub u_userinfo: *mut core::ffi::c_char,
178    pub u_host: *mut core::ffi::c_char,
179    pub u_hostname: *mut core::ffi::c_char,
180    pub u_port: *mut core::ffi::c_char,
181    pub u_path: *mut core::ffi::c_char,
182    pub u_query: *mut core::ffi::c_char,
183    pub u_fragment: *mut core::ffi::c_char,
184    pub u_requri: *mut core::ffi::c_char,
185}
186#[repr(C)]
187#[derive(Debug, Copy, Clone)]
188pub struct nng_stream {
189    _unused: [u8; 0],
190}
191#[repr(C)]
192#[derive(Debug, Copy, Clone)]
193pub struct nng_stream_dialer {
194    _unused: [u8; 0],
195}
196#[repr(C)]
197#[derive(Debug, Copy, Clone)]
198pub struct nng_stream_listener {
199    _unused: [u8; 0],
200}
201#[repr(C)]
202#[derive(Debug, Copy, Clone)]
203pub struct nng_udp {
204    _unused: [u8; 0],
205}
206#[repr(C)]
207#[derive(Debug, Copy, Clone)]
208pub struct nng_thread {
209    _unused: [u8; 0],
210}
211#[repr(C)]
212#[derive(Debug, Copy, Clone)]
213pub struct nng_mtx {
214    _unused: [u8; 0],
215}
216#[repr(C)]
217#[derive(Debug, Copy, Clone)]
218pub struct nng_cv {
219    _unused: [u8; 0],
220}
221#[repr(C)]
222#[derive(Debug, Copy, Clone)]
223pub struct nng_tls_config {
224    _unused: [u8; 0],
225}
226#[repr(C)]
227#[derive(Debug, Copy, Clone)]
228pub struct nng_http_req {
229    _unused: [u8; 0],
230}
231#[repr(C)]
232#[derive(Debug, Copy, Clone)]
233pub struct nng_http_res {
234    _unused: [u8; 0],
235}
236#[repr(C)]
237#[derive(Debug, Copy, Clone)]
238pub struct nng_http_conn {
239    _unused: [u8; 0],
240}
241#[repr(C)]
242#[derive(Debug, Copy, Clone)]
243pub struct nng_http_handler {
244    _unused: [u8; 0],
245}
246#[repr(C)]
247#[derive(Debug, Copy, Clone)]
248pub struct nng_http_server {
249    _unused: [u8; 0],
250}
251#[repr(C)]
252#[derive(Debug, Copy, Clone)]
253pub struct nng_http_client {
254    _unused: [u8; 0],
255}
256#[repr(C)]
257#[derive(Copy, Clone)]
258pub union nng_sockaddr {
259    pub s_family: u16,
260    pub s_ipc: nng_sockaddr_ipc,
261    pub s_inproc: nng_sockaddr_inproc,
262    pub s_in6: nng_sockaddr_in6,
263    pub s_in: nng_sockaddr_in,
264    pub s_zt: nng_sockaddr_zt,
265    pub s_abstract: nng_sockaddr_abstract,
266    pub s_storage: nng_sockaddr_storage,
267}
268pub mod nng_sockaddr_family {
269    pub type Type = core::ffi::c_int;
270    pub const NNG_AF_UNSPEC: Type = 0;
271    pub const NNG_AF_INPROC: Type = 1;
272    pub const NNG_AF_IPC: Type = 2;
273    pub const NNG_AF_INET: Type = 3;
274    pub const NNG_AF_INET6: Type = 4;
275    pub const NNG_AF_ZT: Type = 5;
276    pub const NNG_AF_ABSTRACT: Type = 6;
277}
278pub mod nng_pipe_ev {
279    pub type Type = core::ffi::c_int;
280    pub const NNG_PIPE_EV_ADD_PRE: Type = 0;
281    pub const NNG_PIPE_EV_ADD_POST: Type = 1;
282    pub const NNG_PIPE_EV_REM_POST: Type = 2;
283    pub const NNG_PIPE_EV_NUM: Type = 3;
284}
285pub mod nng_stat_type_enum {
286    pub type Type = core::ffi::c_int;
287    pub const NNG_STAT_SCOPE: Type = 0;
288    pub const NNG_STAT_LEVEL: Type = 1;
289    pub const NNG_STAT_COUNTER: Type = 2;
290    pub const NNG_STAT_STRING: Type = 3;
291    pub const NNG_STAT_BOOLEAN: Type = 4;
292    pub const NNG_STAT_ID: Type = 5;
293}
294pub mod nng_unit_enum {
295    pub type Type = core::ffi::c_int;
296    pub const NNG_UNIT_NONE: Type = 0;
297    pub const NNG_UNIT_BYTES: Type = 1;
298    pub const NNG_UNIT_MESSAGES: Type = 2;
299    pub const NNG_UNIT_MILLIS: Type = 3;
300    pub const NNG_UNIT_EVENTS: Type = 4;
301}
302pub mod nng_errno_enum {
303    pub type Type = core::ffi::c_int;
304    pub const NNG_EINTR: Type = 1;
305    pub const NNG_ENOMEM: Type = 2;
306    pub const NNG_EINVAL: Type = 3;
307    pub const NNG_EBUSY: Type = 4;
308    pub const NNG_ETIMEDOUT: Type = 5;
309    pub const NNG_ECONNREFUSED: Type = 6;
310    pub const NNG_ECLOSED: Type = 7;
311    pub const NNG_EAGAIN: Type = 8;
312    pub const NNG_ENOTSUP: Type = 9;
313    pub const NNG_EADDRINUSE: Type = 10;
314    pub const NNG_ESTATE: Type = 11;
315    pub const NNG_ENOENT: Type = 12;
316    pub const NNG_EPROTO: Type = 13;
317    pub const NNG_EUNREACHABLE: Type = 14;
318    pub const NNG_EADDRINVAL: Type = 15;
319    pub const NNG_EPERM: Type = 16;
320    pub const NNG_EMSGSIZE: Type = 17;
321    pub const NNG_ECONNABORTED: Type = 18;
322    pub const NNG_ECONNRESET: Type = 19;
323    pub const NNG_ECANCELED: Type = 20;
324    pub const NNG_ENOFILES: Type = 21;
325    pub const NNG_ENOSPC: Type = 22;
326    pub const NNG_EEXIST: Type = 23;
327    pub const NNG_EREADONLY: Type = 24;
328    pub const NNG_EWRITEONLY: Type = 25;
329    pub const NNG_ECRYPTO: Type = 26;
330    pub const NNG_EPEERAUTH: Type = 27;
331    pub const NNG_ENOARG: Type = 28;
332    pub const NNG_EAMBIGUOUS: Type = 29;
333    pub const NNG_EBADTYPE: Type = 30;
334    pub const NNG_ECONNSHUT: Type = 31;
335    pub const NNG_EINTERNAL: Type = 1000;
336    pub const NNG_ESYSERR: Type = 268435456;
337    pub const NNG_ETRANERR: Type = 536870912;
338}
339pub mod nng_log_level {
340    pub type Type = core::ffi::c_int;
341    pub const NNG_LOG_NONE: Type = 0;
342    pub const NNG_LOG_ERR: Type = 3;
343    pub const NNG_LOG_WARN: Type = 4;
344    pub const NNG_LOG_NOTICE: Type = 5;
345    pub const NNG_LOG_INFO: Type = 6;
346    pub const NNG_LOG_DEBUG: Type = 7;
347}
348pub mod nng_log_facility {
349    pub type Type = core::ffi::c_int;
350    pub const NNG_LOG_USER: Type = 1;
351    pub const NNG_LOG_DAEMON: Type = 3;
352    pub const NNG_LOG_AUTH: Type = 10;
353    pub const NNG_LOG_LOCAL0: Type = 16;
354    pub const NNG_LOG_LOCAL1: Type = 17;
355    pub const NNG_LOG_LOCAL2: Type = 18;
356    pub const NNG_LOG_LOCAL3: Type = 19;
357    pub const NNG_LOG_LOCAL4: Type = 20;
358    pub const NNG_LOG_LOCAL5: Type = 21;
359    pub const NNG_LOG_LOCAL6: Type = 22;
360    pub const NNG_LOG_LOCAL7: Type = 23;
361}
362pub mod nng_http_status {
363    pub type Type = core::ffi::c_int;
364    pub const NNG_HTTP_STATUS_CONTINUE: Type = 100;
365    pub const NNG_HTTP_STATUS_SWITCHING: Type = 101;
366    pub const NNG_HTTP_STATUS_PROCESSING: Type = 102;
367    pub const NNG_HTTP_STATUS_OK: Type = 200;
368    pub const NNG_HTTP_STATUS_CREATED: Type = 201;
369    pub const NNG_HTTP_STATUS_ACCEPTED: Type = 202;
370    pub const NNG_HTTP_STATUS_NOT_AUTHORITATIVE: Type = 203;
371    pub const NNG_HTTP_STATUS_NO_CONTENT: Type = 204;
372    pub const NNG_HTTP_STATUS_RESET_CONTENT: Type = 205;
373    pub const NNG_HTTP_STATUS_PARTIAL_CONTENT: Type = 206;
374    pub const NNG_HTTP_STATUS_MULTI_STATUS: Type = 207;
375    pub const NNG_HTTP_STATUS_ALREADY_REPORTED: Type = 208;
376    pub const NNG_HTTP_STATUS_IM_USED: Type = 226;
377    pub const NNG_HTTP_STATUS_MULTIPLE_CHOICES: Type = 300;
378    pub const NNG_HTTP_STATUS_STATUS_MOVED_PERMANENTLY: Type = 301;
379    pub const NNG_HTTP_STATUS_FOUND: Type = 302;
380    pub const NNG_HTTP_STATUS_SEE_OTHER: Type = 303;
381    pub const NNG_HTTP_STATUS_NOT_MODIFIED: Type = 304;
382    pub const NNG_HTTP_STATUS_USE_PROXY: Type = 305;
383    pub const NNG_HTTP_STATUS_TEMPORARY_REDIRECT: Type = 307;
384    pub const NNG_HTTP_STATUS_PERMANENT_REDIRECT: Type = 308;
385    pub const NNG_HTTP_STATUS_BAD_REQUEST: Type = 400;
386    pub const NNG_HTTP_STATUS_UNAUTHORIZED: Type = 401;
387    pub const NNG_HTTP_STATUS_PAYMENT_REQUIRED: Type = 402;
388    pub const NNG_HTTP_STATUS_FORBIDDEN: Type = 403;
389    pub const NNG_HTTP_STATUS_NOT_FOUND: Type = 404;
390    pub const NNG_HTTP_STATUS_METHOD_NOT_ALLOWED: Type = 405;
391    pub const NNG_HTTP_STATUS_NOT_ACCEPTABLE: Type = 406;
392    pub const NNG_HTTP_STATUS_PROXY_AUTH_REQUIRED: Type = 407;
393    pub const NNG_HTTP_STATUS_REQUEST_TIMEOUT: Type = 408;
394    pub const NNG_HTTP_STATUS_CONFLICT: Type = 409;
395    pub const NNG_HTTP_STATUS_GONE: Type = 410;
396    pub const NNG_HTTP_STATUS_LENGTH_REQUIRED: Type = 411;
397    pub const NNG_HTTP_STATUS_PRECONDITION_FAILED: Type = 412;
398    pub const NNG_HTTP_STATUS_PAYLOAD_TOO_LARGE: Type = 413;
399    pub const NNG_HTTP_STATUS_ENTITY_TOO_LONG: Type = 414;
400    pub const NNG_HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: Type = 415;
401    pub const NNG_HTTP_STATUS_RANGE_NOT_SATISFIABLE: Type = 416;
402    pub const NNG_HTTP_STATUS_EXPECTATION_FAILED: Type = 417;
403    pub const NNG_HTTP_STATUS_TEAPOT: Type = 418;
404    pub const NNG_HTTP_STATUS_UNPROCESSABLE_ENTITY: Type = 422;
405    pub const NNG_HTTP_STATUS_LOCKED: Type = 423;
406    pub const NNG_HTTP_STATUS_FAILED_DEPENDENCY: Type = 424;
407    pub const NNG_HTTP_STATUS_UPGRADE_REQUIRED: Type = 426;
408    pub const NNG_HTTP_STATUS_PRECONDITION_REQUIRED: Type = 428;
409    pub const NNG_HTTP_STATUS_TOO_MANY_REQUESTS: Type = 429;
410    pub const NNG_HTTP_STATUS_HEADERS_TOO_LARGE: Type = 431;
411    pub const NNG_HTTP_STATUS_UNAVAIL_LEGAL_REASONS: Type = 451;
412    pub const NNG_HTTP_STATUS_INTERNAL_SERVER_ERROR: Type = 500;
413    pub const NNG_HTTP_STATUS_NOT_IMPLEMENTED: Type = 501;
414    pub const NNG_HTTP_STATUS_BAD_GATEWAY: Type = 502;
415    pub const NNG_HTTP_STATUS_SERVICE_UNAVAILABLE: Type = 503;
416    pub const NNG_HTTP_STATUS_GATEWAY_TIMEOUT: Type = 504;
417    pub const NNG_HTTP_STATUS_HTTP_VERSION_NOT_SUPP: Type = 505;
418    pub const NNG_HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: Type = 506;
419    pub const NNG_HTTP_STATUS_INSUFFICIENT_STORAGE: Type = 507;
420    pub const NNG_HTTP_STATUS_LOOP_DETECTED: Type = 508;
421    pub const NNG_HTTP_STATUS_NOT_EXTENDED: Type = 510;
422    pub const NNG_HTTP_STATUS_NETWORK_AUTH_REQUIRED: Type = 511;
423}
424pub mod nng_tls_mode {
425    pub type Type = core::ffi::c_int;
426    pub const NNG_TLS_MODE_CLIENT: Type = 0;
427    pub const NNG_TLS_MODE_SERVER: Type = 1;
428}
429pub mod nng_tls_auth_mode {
430    pub type Type = core::ffi::c_int;
431    pub const NNG_TLS_AUTH_MODE_NONE: Type = 0;
432    pub const NNG_TLS_AUTH_MODE_OPTIONAL: Type = 1;
433    pub const NNG_TLS_AUTH_MODE_REQUIRED: Type = 2;
434}
435pub mod nng_tls_version {
436    pub type Type = core::ffi::c_int;
437    pub const NNG_TLS_1_0: Type = 769;
438    pub const NNG_TLS_1_1: Type = 770;
439    pub const NNG_TLS_1_2: Type = 771;
440    pub const NNG_TLS_1_3: Type = 772;
441}
442unsafe extern "C" {
443    pub fn nng_fini();
444    pub fn nng_close(arg1: nng_socket) -> core::ffi::c_int;
445    pub fn nng_socket_close(arg1: nng_socket) -> core::ffi::c_int;
446    pub fn nng_socket_id(arg1: nng_socket) -> core::ffi::c_int;
447    pub fn nng_socket_set(
448        arg1: nng_socket,
449        arg2: *const core::ffi::c_char,
450        arg3: *const core::ffi::c_void,
451        arg4: usize,
452    ) -> core::ffi::c_int;
453    pub fn nng_socket_set_bool(
454        arg1: nng_socket,
455        arg2: *const core::ffi::c_char,
456        arg3: bool,
457    ) -> core::ffi::c_int;
458    pub fn nng_socket_set_int(
459        arg1: nng_socket,
460        arg2: *const core::ffi::c_char,
461        arg3: core::ffi::c_int,
462    ) -> core::ffi::c_int;
463    pub fn nng_socket_set_size(
464        arg1: nng_socket,
465        arg2: *const core::ffi::c_char,
466        arg3: usize,
467    ) -> core::ffi::c_int;
468    pub fn nng_socket_set_uint64(
469        arg1: nng_socket,
470        arg2: *const core::ffi::c_char,
471        arg3: u64,
472    ) -> core::ffi::c_int;
473    pub fn nng_socket_set_string(
474        arg1: nng_socket,
475        arg2: *const core::ffi::c_char,
476        arg3: *const core::ffi::c_char,
477    ) -> core::ffi::c_int;
478    pub fn nng_socket_set_ptr(
479        arg1: nng_socket,
480        arg2: *const core::ffi::c_char,
481        arg3: *mut core::ffi::c_void,
482    ) -> core::ffi::c_int;
483    pub fn nng_socket_set_ms(
484        arg1: nng_socket,
485        arg2: *const core::ffi::c_char,
486        arg3: nng_duration,
487    ) -> core::ffi::c_int;
488    pub fn nng_socket_set_addr(
489        arg1: nng_socket,
490        arg2: *const core::ffi::c_char,
491        arg3: *const nng_sockaddr,
492    ) -> core::ffi::c_int;
493    pub fn nng_socket_get(
494        arg1: nng_socket,
495        arg2: *const core::ffi::c_char,
496        arg3: *mut core::ffi::c_void,
497        arg4: *mut usize,
498    ) -> core::ffi::c_int;
499    pub fn nng_socket_get_bool(
500        arg1: nng_socket,
501        arg2: *const core::ffi::c_char,
502        arg3: *mut bool,
503    ) -> core::ffi::c_int;
504    pub fn nng_socket_get_int(
505        arg1: nng_socket,
506        arg2: *const core::ffi::c_char,
507        arg3: *mut core::ffi::c_int,
508    ) -> core::ffi::c_int;
509    pub fn nng_socket_get_size(
510        arg1: nng_socket,
511        arg2: *const core::ffi::c_char,
512        arg3: *mut usize,
513    ) -> core::ffi::c_int;
514    pub fn nng_socket_get_uint64(
515        arg1: nng_socket,
516        arg2: *const core::ffi::c_char,
517        arg3: *mut u64,
518    ) -> core::ffi::c_int;
519    pub fn nng_socket_get_string(
520        arg1: nng_socket,
521        arg2: *const core::ffi::c_char,
522        arg3: *mut *mut core::ffi::c_char,
523    ) -> core::ffi::c_int;
524    pub fn nng_socket_get_ptr(
525        arg1: nng_socket,
526        arg2: *const core::ffi::c_char,
527        arg3: *mut *mut core::ffi::c_void,
528    ) -> core::ffi::c_int;
529    pub fn nng_socket_get_ms(
530        arg1: nng_socket,
531        arg2: *const core::ffi::c_char,
532        arg3: *mut nng_duration,
533    ) -> core::ffi::c_int;
534    pub fn nng_socket_get_addr(
535        arg1: nng_socket,
536        arg2: *const core::ffi::c_char,
537        arg3: *mut nng_sockaddr,
538    ) -> core::ffi::c_int;
539    pub fn nng_socket_proto_id(id: nng_socket, arg1: *mut u16) -> core::ffi::c_int;
540    pub fn nng_socket_peer_id(id: nng_socket, arg1: *mut u16) -> core::ffi::c_int;
541    pub fn nng_socket_proto_name(
542        id: nng_socket,
543        arg1: *mut *const core::ffi::c_char,
544    ) -> core::ffi::c_int;
545    pub fn nng_socket_peer_name(
546        id: nng_socket,
547        arg1: *mut *const core::ffi::c_char,
548    ) -> core::ffi::c_int;
549    pub fn nng_socket_raw(arg1: nng_socket, arg2: *mut bool) -> core::ffi::c_int;
550    pub fn nng_str_sockaddr(
551        sa: *const nng_sockaddr,
552        buf: *mut core::ffi::c_char,
553        bufsz: usize,
554    ) -> *const core::ffi::c_char;
555    pub fn nng_pipe_notify(
556        arg1: nng_socket,
557        arg2: nng_pipe_ev::Type,
558        arg3: nng_pipe_cb,
559        arg4: *mut core::ffi::c_void,
560    ) -> core::ffi::c_int;
561    pub fn nng_listen(
562        arg1: nng_socket,
563        arg2: *const core::ffi::c_char,
564        arg3: *mut nng_listener,
565        arg4: core::ffi::c_int,
566    ) -> core::ffi::c_int;
567    pub fn nng_dial(
568        arg1: nng_socket,
569        arg2: *const core::ffi::c_char,
570        arg3: *mut nng_dialer,
571        arg4: core::ffi::c_int,
572    ) -> core::ffi::c_int;
573    pub fn nng_dialer_create(
574        arg1: *mut nng_dialer,
575        arg2: nng_socket,
576        arg3: *const core::ffi::c_char,
577    ) -> core::ffi::c_int;
578    pub fn nng_listener_create(
579        arg1: *mut nng_listener,
580        arg2: nng_socket,
581        arg3: *const core::ffi::c_char,
582    ) -> core::ffi::c_int;
583    pub fn nng_dialer_start(arg1: nng_dialer, arg2: core::ffi::c_int) -> core::ffi::c_int;
584    pub fn nng_listener_start(arg1: nng_listener, arg2: core::ffi::c_int) -> core::ffi::c_int;
585    pub fn nng_dialer_close(arg1: nng_dialer) -> core::ffi::c_int;
586    pub fn nng_listener_close(arg1: nng_listener) -> core::ffi::c_int;
587    pub fn nng_dialer_id(arg1: nng_dialer) -> core::ffi::c_int;
588    pub fn nng_listener_id(arg1: nng_listener) -> core::ffi::c_int;
589    pub fn nng_dialer_set(
590        arg1: nng_dialer,
591        arg2: *const core::ffi::c_char,
592        arg3: *const core::ffi::c_void,
593        arg4: usize,
594    ) -> core::ffi::c_int;
595    pub fn nng_dialer_set_bool(
596        arg1: nng_dialer,
597        arg2: *const core::ffi::c_char,
598        arg3: bool,
599    ) -> core::ffi::c_int;
600    pub fn nng_dialer_set_int(
601        arg1: nng_dialer,
602        arg2: *const core::ffi::c_char,
603        arg3: core::ffi::c_int,
604    ) -> core::ffi::c_int;
605    pub fn nng_dialer_set_size(
606        arg1: nng_dialer,
607        arg2: *const core::ffi::c_char,
608        arg3: usize,
609    ) -> core::ffi::c_int;
610    pub fn nng_dialer_set_uint64(
611        arg1: nng_dialer,
612        arg2: *const core::ffi::c_char,
613        arg3: u64,
614    ) -> core::ffi::c_int;
615    pub fn nng_dialer_set_string(
616        arg1: nng_dialer,
617        arg2: *const core::ffi::c_char,
618        arg3: *const core::ffi::c_char,
619    ) -> core::ffi::c_int;
620    pub fn nng_dialer_set_ptr(
621        arg1: nng_dialer,
622        arg2: *const core::ffi::c_char,
623        arg3: *mut core::ffi::c_void,
624    ) -> core::ffi::c_int;
625    pub fn nng_dialer_set_ms(
626        arg1: nng_dialer,
627        arg2: *const core::ffi::c_char,
628        arg3: nng_duration,
629    ) -> core::ffi::c_int;
630    pub fn nng_dialer_set_addr(
631        arg1: nng_dialer,
632        arg2: *const core::ffi::c_char,
633        arg3: *const nng_sockaddr,
634    ) -> core::ffi::c_int;
635    pub fn nng_dialer_get(
636        arg1: nng_dialer,
637        arg2: *const core::ffi::c_char,
638        arg3: *mut core::ffi::c_void,
639        arg4: *mut usize,
640    ) -> core::ffi::c_int;
641    pub fn nng_dialer_get_bool(
642        arg1: nng_dialer,
643        arg2: *const core::ffi::c_char,
644        arg3: *mut bool,
645    ) -> core::ffi::c_int;
646    pub fn nng_dialer_get_int(
647        arg1: nng_dialer,
648        arg2: *const core::ffi::c_char,
649        arg3: *mut core::ffi::c_int,
650    ) -> core::ffi::c_int;
651    pub fn nng_dialer_get_size(
652        arg1: nng_dialer,
653        arg2: *const core::ffi::c_char,
654        arg3: *mut usize,
655    ) -> core::ffi::c_int;
656    pub fn nng_dialer_get_uint64(
657        arg1: nng_dialer,
658        arg2: *const core::ffi::c_char,
659        arg3: *mut u64,
660    ) -> core::ffi::c_int;
661    pub fn nng_dialer_get_string(
662        arg1: nng_dialer,
663        arg2: *const core::ffi::c_char,
664        arg3: *mut *mut core::ffi::c_char,
665    ) -> core::ffi::c_int;
666    pub fn nng_dialer_get_ptr(
667        arg1: nng_dialer,
668        arg2: *const core::ffi::c_char,
669        arg3: *mut *mut core::ffi::c_void,
670    ) -> core::ffi::c_int;
671    pub fn nng_dialer_get_ms(
672        arg1: nng_dialer,
673        arg2: *const core::ffi::c_char,
674        arg3: *mut nng_duration,
675    ) -> core::ffi::c_int;
676    pub fn nng_dialer_get_addr(
677        arg1: nng_dialer,
678        arg2: *const core::ffi::c_char,
679        arg3: *mut nng_sockaddr,
680    ) -> core::ffi::c_int;
681    pub fn nng_listener_set(
682        arg1: nng_listener,
683        arg2: *const core::ffi::c_char,
684        arg3: *const core::ffi::c_void,
685        arg4: usize,
686    ) -> core::ffi::c_int;
687    pub fn nng_listener_set_bool(
688        arg1: nng_listener,
689        arg2: *const core::ffi::c_char,
690        arg3: bool,
691    ) -> core::ffi::c_int;
692    pub fn nng_listener_set_int(
693        arg1: nng_listener,
694        arg2: *const core::ffi::c_char,
695        arg3: core::ffi::c_int,
696    ) -> core::ffi::c_int;
697    pub fn nng_listener_set_size(
698        arg1: nng_listener,
699        arg2: *const core::ffi::c_char,
700        arg3: usize,
701    ) -> core::ffi::c_int;
702    pub fn nng_listener_set_uint64(
703        arg1: nng_listener,
704        arg2: *const core::ffi::c_char,
705        arg3: u64,
706    ) -> core::ffi::c_int;
707    pub fn nng_listener_set_string(
708        arg1: nng_listener,
709        arg2: *const core::ffi::c_char,
710        arg3: *const core::ffi::c_char,
711    ) -> core::ffi::c_int;
712    pub fn nng_listener_set_ptr(
713        arg1: nng_listener,
714        arg2: *const core::ffi::c_char,
715        arg3: *mut core::ffi::c_void,
716    ) -> core::ffi::c_int;
717    pub fn nng_listener_set_ms(
718        arg1: nng_listener,
719        arg2: *const core::ffi::c_char,
720        arg3: nng_duration,
721    ) -> core::ffi::c_int;
722    pub fn nng_listener_set_addr(
723        arg1: nng_listener,
724        arg2: *const core::ffi::c_char,
725        arg3: *const nng_sockaddr,
726    ) -> core::ffi::c_int;
727    pub fn nng_listener_get(
728        arg1: nng_listener,
729        arg2: *const core::ffi::c_char,
730        arg3: *mut core::ffi::c_void,
731        arg4: *mut usize,
732    ) -> core::ffi::c_int;
733    pub fn nng_listener_get_bool(
734        arg1: nng_listener,
735        arg2: *const core::ffi::c_char,
736        arg3: *mut bool,
737    ) -> core::ffi::c_int;
738    pub fn nng_listener_get_int(
739        arg1: nng_listener,
740        arg2: *const core::ffi::c_char,
741        arg3: *mut core::ffi::c_int,
742    ) -> core::ffi::c_int;
743    pub fn nng_listener_get_size(
744        arg1: nng_listener,
745        arg2: *const core::ffi::c_char,
746        arg3: *mut usize,
747    ) -> core::ffi::c_int;
748    pub fn nng_listener_get_uint64(
749        arg1: nng_listener,
750        arg2: *const core::ffi::c_char,
751        arg3: *mut u64,
752    ) -> core::ffi::c_int;
753    pub fn nng_listener_get_string(
754        arg1: nng_listener,
755        arg2: *const core::ffi::c_char,
756        arg3: *mut *mut core::ffi::c_char,
757    ) -> core::ffi::c_int;
758    pub fn nng_listener_get_ptr(
759        arg1: nng_listener,
760        arg2: *const core::ffi::c_char,
761        arg3: *mut *mut core::ffi::c_void,
762    ) -> core::ffi::c_int;
763    pub fn nng_listener_get_ms(
764        arg1: nng_listener,
765        arg2: *const core::ffi::c_char,
766        arg3: *mut nng_duration,
767    ) -> core::ffi::c_int;
768    pub fn nng_listener_get_addr(
769        arg1: nng_listener,
770        arg2: *const core::ffi::c_char,
771        arg3: *mut nng_sockaddr,
772    ) -> core::ffi::c_int;
773    pub fn nng_strerror(arg1: core::ffi::c_int) -> *const core::ffi::c_char;
774    pub fn nng_send(
775        arg1: nng_socket,
776        arg2: *mut core::ffi::c_void,
777        arg3: usize,
778        arg4: core::ffi::c_int,
779    ) -> core::ffi::c_int;
780    pub fn nng_recv(
781        arg1: nng_socket,
782        arg2: *mut core::ffi::c_void,
783        arg3: *mut usize,
784        arg4: core::ffi::c_int,
785    ) -> core::ffi::c_int;
786    pub fn nng_sendmsg(
787        arg1: nng_socket,
788        arg2: *mut nng_msg,
789        arg3: core::ffi::c_int,
790    ) -> core::ffi::c_int;
791    pub fn nng_recvmsg(
792        arg1: nng_socket,
793        arg2: *mut *mut nng_msg,
794        arg3: core::ffi::c_int,
795    ) -> core::ffi::c_int;
796    pub fn nng_sock_send(arg1: nng_socket, arg2: *mut nng_aio);
797    pub fn nng_send_aio(arg1: nng_socket, arg2: *mut nng_aio);
798    pub fn nng_sock_recv(arg1: nng_socket, arg2: *mut nng_aio);
799    pub fn nng_recv_aio(arg1: nng_socket, arg2: *mut nng_aio);
800    pub fn nng_ctx_open(arg1: *mut nng_ctx, arg2: nng_socket) -> core::ffi::c_int;
801    pub fn nng_ctx_close(arg1: nng_ctx) -> core::ffi::c_int;
802    pub fn nng_ctx_id(arg1: nng_ctx) -> core::ffi::c_int;
803    pub fn nng_ctx_recv(arg1: nng_ctx, arg2: *mut nng_aio);
804    pub fn nng_ctx_recvmsg(
805        arg1: nng_ctx,
806        arg2: *mut *mut nng_msg,
807        arg3: core::ffi::c_int,
808    ) -> core::ffi::c_int;
809    pub fn nng_ctx_send(arg1: nng_ctx, arg2: *mut nng_aio);
810    pub fn nng_ctx_sendmsg(
811        arg1: nng_ctx,
812        arg2: *mut nng_msg,
813        arg3: core::ffi::c_int,
814    ) -> core::ffi::c_int;
815    pub fn nng_ctx_get(
816        arg1: nng_ctx,
817        arg2: *const core::ffi::c_char,
818        arg3: *mut core::ffi::c_void,
819        arg4: *mut usize,
820    ) -> core::ffi::c_int;
821    pub fn nng_ctx_get_bool(
822        arg1: nng_ctx,
823        arg2: *const core::ffi::c_char,
824        arg3: *mut bool,
825    ) -> core::ffi::c_int;
826    pub fn nng_ctx_get_int(
827        arg1: nng_ctx,
828        arg2: *const core::ffi::c_char,
829        arg3: *mut core::ffi::c_int,
830    ) -> core::ffi::c_int;
831    pub fn nng_ctx_get_size(
832        arg1: nng_ctx,
833        arg2: *const core::ffi::c_char,
834        arg3: *mut usize,
835    ) -> core::ffi::c_int;
836    pub fn nng_ctx_get_uint64(
837        arg1: nng_ctx,
838        arg2: *const core::ffi::c_char,
839        arg3: *mut u64,
840    ) -> core::ffi::c_int;
841    pub fn nng_ctx_get_string(
842        arg1: nng_ctx,
843        arg2: *const core::ffi::c_char,
844        arg3: *mut *mut core::ffi::c_char,
845    ) -> core::ffi::c_int;
846    pub fn nng_ctx_get_ptr(
847        arg1: nng_ctx,
848        arg2: *const core::ffi::c_char,
849        arg3: *mut *mut core::ffi::c_void,
850    ) -> core::ffi::c_int;
851    pub fn nng_ctx_get_ms(
852        arg1: nng_ctx,
853        arg2: *const core::ffi::c_char,
854        arg3: *mut nng_duration,
855    ) -> core::ffi::c_int;
856    pub fn nng_ctx_set(
857        arg1: nng_ctx,
858        arg2: *const core::ffi::c_char,
859        arg3: *const core::ffi::c_void,
860        arg4: usize,
861    ) -> core::ffi::c_int;
862    pub fn nng_ctx_set_bool(
863        arg1: nng_ctx,
864        arg2: *const core::ffi::c_char,
865        arg3: bool,
866    ) -> core::ffi::c_int;
867    pub fn nng_ctx_set_int(
868        arg1: nng_ctx,
869        arg2: *const core::ffi::c_char,
870        arg3: core::ffi::c_int,
871    ) -> core::ffi::c_int;
872    pub fn nng_ctx_set_size(
873        arg1: nng_ctx,
874        arg2: *const core::ffi::c_char,
875        arg3: usize,
876    ) -> core::ffi::c_int;
877    pub fn nng_ctx_set_uint64(
878        arg1: nng_ctx,
879        arg2: *const core::ffi::c_char,
880        arg3: u64,
881    ) -> core::ffi::c_int;
882    pub fn nng_ctx_set_string(
883        arg1: nng_ctx,
884        arg2: *const core::ffi::c_char,
885        arg3: *const core::ffi::c_char,
886    ) -> core::ffi::c_int;
887    pub fn nng_ctx_set_ptr(
888        arg1: nng_ctx,
889        arg2: *const core::ffi::c_char,
890        arg3: *mut core::ffi::c_void,
891    ) -> core::ffi::c_int;
892    pub fn nng_ctx_set_ms(
893        arg1: nng_ctx,
894        arg2: *const core::ffi::c_char,
895        arg3: nng_duration,
896    ) -> core::ffi::c_int;
897    pub fn nng_alloc(arg1: usize) -> *mut core::ffi::c_void;
898    pub fn nng_free(arg1: *mut core::ffi::c_void, arg2: usize);
899    pub fn nng_strdup(arg1: *const core::ffi::c_char) -> *mut core::ffi::c_char;
900    pub fn nng_strfree(arg1: *mut core::ffi::c_char);
901    pub fn nng_aio_alloc(
902        arg1: *mut *mut nng_aio,
903        arg2: ::core::option::Option<unsafe extern "C" fn(arg1: *mut core::ffi::c_void)>,
904        arg3: *mut core::ffi::c_void,
905    ) -> core::ffi::c_int;
906    pub fn nng_aio_free(arg1: *mut nng_aio);
907    pub fn nng_aio_reap(arg1: *mut nng_aio);
908    pub fn nng_aio_stop(arg1: *mut nng_aio);
909    pub fn nng_aio_result(arg1: *mut nng_aio) -> core::ffi::c_int;
910    pub fn nng_aio_count(arg1: *mut nng_aio) -> usize;
911    pub fn nng_aio_cancel(arg1: *mut nng_aio);
912    pub fn nng_aio_abort(arg1: *mut nng_aio, arg2: core::ffi::c_int);
913    pub fn nng_aio_wait(arg1: *mut nng_aio);
914    pub fn nng_aio_busy(arg1: *mut nng_aio) -> bool;
915    pub fn nng_aio_set_msg(arg1: *mut nng_aio, arg2: *mut nng_msg);
916    pub fn nng_aio_get_msg(arg1: *mut nng_aio) -> *mut nng_msg;
917    pub fn nng_aio_set_input(
918        arg1: *mut nng_aio,
919        arg2: core::ffi::c_uint,
920        arg3: *mut core::ffi::c_void,
921    ) -> core::ffi::c_int;
922    pub fn nng_aio_get_input(arg1: *mut nng_aio, arg2: core::ffi::c_uint)
923        -> *mut core::ffi::c_void;
924    pub fn nng_aio_set_output(
925        arg1: *mut nng_aio,
926        arg2: core::ffi::c_uint,
927        arg3: *mut core::ffi::c_void,
928    ) -> core::ffi::c_int;
929    pub fn nng_aio_get_output(
930        arg1: *mut nng_aio,
931        arg2: core::ffi::c_uint,
932    ) -> *mut core::ffi::c_void;
933    pub fn nng_aio_set_timeout(arg1: *mut nng_aio, arg2: nng_duration);
934    pub fn nng_aio_set_expire(arg1: *mut nng_aio, arg2: nng_time);
935    pub fn nng_aio_set_iov(
936        arg1: *mut nng_aio,
937        arg2: core::ffi::c_uint,
938        arg3: *const nng_iov,
939    ) -> core::ffi::c_int;
940    pub fn nng_aio_begin(arg1: *mut nng_aio) -> bool;
941    pub fn nng_aio_finish(arg1: *mut nng_aio, arg2: core::ffi::c_int);
942    pub fn nng_aio_defer(arg1: *mut nng_aio, arg2: nng_aio_cancelfn, arg3: *mut core::ffi::c_void);
943    pub fn nng_sleep_aio(arg1: nng_duration, arg2: *mut nng_aio);
944    pub fn nng_msg_alloc(arg1: *mut *mut nng_msg, arg2: usize) -> core::ffi::c_int;
945    pub fn nng_msg_free(arg1: *mut nng_msg);
946    pub fn nng_msg_realloc(arg1: *mut nng_msg, arg2: usize) -> core::ffi::c_int;
947    pub fn nng_msg_reserve(arg1: *mut nng_msg, arg2: usize) -> core::ffi::c_int;
948    pub fn nng_msg_capacity(arg1: *mut nng_msg) -> usize;
949    pub fn nng_msg_header(arg1: *mut nng_msg) -> *mut core::ffi::c_void;
950    pub fn nng_msg_header_len(arg1: *const nng_msg) -> usize;
951    pub fn nng_msg_body(arg1: *mut nng_msg) -> *mut core::ffi::c_void;
952    pub fn nng_msg_len(arg1: *const nng_msg) -> usize;
953    pub fn nng_msg_append(
954        arg1: *mut nng_msg,
955        arg2: *const core::ffi::c_void,
956        arg3: usize,
957    ) -> core::ffi::c_int;
958    pub fn nng_msg_insert(
959        arg1: *mut nng_msg,
960        arg2: *const core::ffi::c_void,
961        arg3: usize,
962    ) -> core::ffi::c_int;
963    pub fn nng_msg_trim(arg1: *mut nng_msg, arg2: usize) -> core::ffi::c_int;
964    pub fn nng_msg_chop(arg1: *mut nng_msg, arg2: usize) -> core::ffi::c_int;
965    pub fn nng_msg_header_append(
966        arg1: *mut nng_msg,
967        arg2: *const core::ffi::c_void,
968        arg3: usize,
969    ) -> core::ffi::c_int;
970    pub fn nng_msg_header_insert(
971        arg1: *mut nng_msg,
972        arg2: *const core::ffi::c_void,
973        arg3: usize,
974    ) -> core::ffi::c_int;
975    pub fn nng_msg_header_trim(arg1: *mut nng_msg, arg2: usize) -> core::ffi::c_int;
976    pub fn nng_msg_header_chop(arg1: *mut nng_msg, arg2: usize) -> core::ffi::c_int;
977    pub fn nng_msg_header_append_u16(arg1: *mut nng_msg, arg2: u16) -> core::ffi::c_int;
978    pub fn nng_msg_header_append_u32(arg1: *mut nng_msg, arg2: u32) -> core::ffi::c_int;
979    pub fn nng_msg_header_append_u64(arg1: *mut nng_msg, arg2: u64) -> core::ffi::c_int;
980    pub fn nng_msg_header_insert_u16(arg1: *mut nng_msg, arg2: u16) -> core::ffi::c_int;
981    pub fn nng_msg_header_insert_u32(arg1: *mut nng_msg, arg2: u32) -> core::ffi::c_int;
982    pub fn nng_msg_header_insert_u64(arg1: *mut nng_msg, arg2: u64) -> core::ffi::c_int;
983    pub fn nng_msg_header_chop_u16(arg1: *mut nng_msg, arg2: *mut u16) -> core::ffi::c_int;
984    pub fn nng_msg_header_chop_u32(arg1: *mut nng_msg, arg2: *mut u32) -> core::ffi::c_int;
985    pub fn nng_msg_header_chop_u64(arg1: *mut nng_msg, arg2: *mut u64) -> core::ffi::c_int;
986    pub fn nng_msg_header_trim_u16(arg1: *mut nng_msg, arg2: *mut u16) -> core::ffi::c_int;
987    pub fn nng_msg_header_trim_u32(arg1: *mut nng_msg, arg2: *mut u32) -> core::ffi::c_int;
988    pub fn nng_msg_header_trim_u64(arg1: *mut nng_msg, arg2: *mut u64) -> core::ffi::c_int;
989    pub fn nng_msg_append_u16(arg1: *mut nng_msg, arg2: u16) -> core::ffi::c_int;
990    pub fn nng_msg_append_u32(arg1: *mut nng_msg, arg2: u32) -> core::ffi::c_int;
991    pub fn nng_msg_append_u64(arg1: *mut nng_msg, arg2: u64) -> core::ffi::c_int;
992    pub fn nng_msg_insert_u16(arg1: *mut nng_msg, arg2: u16) -> core::ffi::c_int;
993    pub fn nng_msg_insert_u32(arg1: *mut nng_msg, arg2: u32) -> core::ffi::c_int;
994    pub fn nng_msg_insert_u64(arg1: *mut nng_msg, arg2: u64) -> core::ffi::c_int;
995    pub fn nng_msg_chop_u16(arg1: *mut nng_msg, arg2: *mut u16) -> core::ffi::c_int;
996    pub fn nng_msg_chop_u32(arg1: *mut nng_msg, arg2: *mut u32) -> core::ffi::c_int;
997    pub fn nng_msg_chop_u64(arg1: *mut nng_msg, arg2: *mut u64) -> core::ffi::c_int;
998    pub fn nng_msg_trim_u16(arg1: *mut nng_msg, arg2: *mut u16) -> core::ffi::c_int;
999    pub fn nng_msg_trim_u32(arg1: *mut nng_msg, arg2: *mut u32) -> core::ffi::c_int;
1000    pub fn nng_msg_trim_u64(arg1: *mut nng_msg, arg2: *mut u64) -> core::ffi::c_int;
1001    pub fn nng_msg_dup(arg1: *mut *mut nng_msg, arg2: *const nng_msg) -> core::ffi::c_int;
1002    pub fn nng_msg_clear(arg1: *mut nng_msg);
1003    pub fn nng_msg_header_clear(arg1: *mut nng_msg);
1004    pub fn nng_msg_set_pipe(arg1: *mut nng_msg, arg2: nng_pipe);
1005    pub fn nng_msg_get_pipe(arg1: *const nng_msg) -> nng_pipe;
1006    pub fn nng_pipe_get(
1007        arg1: nng_pipe,
1008        arg2: *const core::ffi::c_char,
1009        arg3: *mut core::ffi::c_void,
1010        arg4: *mut usize,
1011    ) -> core::ffi::c_int;
1012    pub fn nng_pipe_get_bool(
1013        arg1: nng_pipe,
1014        arg2: *const core::ffi::c_char,
1015        arg3: *mut bool,
1016    ) -> core::ffi::c_int;
1017    pub fn nng_pipe_get_int(
1018        arg1: nng_pipe,
1019        arg2: *const core::ffi::c_char,
1020        arg3: *mut core::ffi::c_int,
1021    ) -> core::ffi::c_int;
1022    pub fn nng_pipe_get_ms(
1023        arg1: nng_pipe,
1024        arg2: *const core::ffi::c_char,
1025        arg3: *mut nng_duration,
1026    ) -> core::ffi::c_int;
1027    pub fn nng_pipe_get_size(
1028        arg1: nng_pipe,
1029        arg2: *const core::ffi::c_char,
1030        arg3: *mut usize,
1031    ) -> core::ffi::c_int;
1032    pub fn nng_pipe_get_uint64(
1033        arg1: nng_pipe,
1034        arg2: *const core::ffi::c_char,
1035        arg3: *mut u64,
1036    ) -> core::ffi::c_int;
1037    pub fn nng_pipe_get_string(
1038        arg1: nng_pipe,
1039        arg2: *const core::ffi::c_char,
1040        arg3: *mut *mut core::ffi::c_char,
1041    ) -> core::ffi::c_int;
1042    pub fn nng_pipe_get_ptr(
1043        arg1: nng_pipe,
1044        arg2: *const core::ffi::c_char,
1045        arg3: *mut *mut core::ffi::c_void,
1046    ) -> core::ffi::c_int;
1047    pub fn nng_pipe_get_addr(
1048        arg1: nng_pipe,
1049        arg2: *const core::ffi::c_char,
1050        arg3: *mut nng_sockaddr,
1051    ) -> core::ffi::c_int;
1052    pub fn nng_pipe_close(arg1: nng_pipe) -> core::ffi::c_int;
1053    pub fn nng_pipe_id(arg1: nng_pipe) -> core::ffi::c_int;
1054    pub fn nng_pipe_socket(arg1: nng_pipe) -> nng_socket;
1055    pub fn nng_pipe_dialer(arg1: nng_pipe) -> nng_dialer;
1056    pub fn nng_pipe_listener(arg1: nng_pipe) -> nng_listener;
1057    pub fn nng_stats_get(arg1: *mut *mut nng_stat) -> core::ffi::c_int;
1058    pub fn nng_stats_free(arg1: *mut nng_stat);
1059    pub fn nng_stats_dump(arg1: *mut nng_stat);
1060    pub fn nng_stat_next(arg1: *mut nng_stat) -> *mut nng_stat;
1061    pub fn nng_stat_child(arg1: *mut nng_stat) -> *mut nng_stat;
1062    pub fn nng_stat_name(arg1: *mut nng_stat) -> *const core::ffi::c_char;
1063    pub fn nng_stat_type(arg1: *mut nng_stat) -> core::ffi::c_int;
1064    pub fn nng_stat_find(arg1: *mut nng_stat, arg2: *const core::ffi::c_char) -> *mut nng_stat;
1065    pub fn nng_stat_find_socket(arg1: *mut nng_stat, arg2: nng_socket) -> *mut nng_stat;
1066    pub fn nng_stat_find_dialer(arg1: *mut nng_stat, arg2: nng_dialer) -> *mut nng_stat;
1067    pub fn nng_stat_find_listener(arg1: *mut nng_stat, arg2: nng_listener) -> *mut nng_stat;
1068    pub fn nng_stat_unit(arg1: *mut nng_stat) -> core::ffi::c_int;
1069    pub fn nng_stat_value(arg1: *mut nng_stat) -> u64;
1070    pub fn nng_stat_bool(arg1: *mut nng_stat) -> bool;
1071    pub fn nng_stat_string(arg1: *mut nng_stat) -> *const core::ffi::c_char;
1072    pub fn nng_stat_desc(arg1: *mut nng_stat) -> *const core::ffi::c_char;
1073    pub fn nng_stat_timestamp(arg1: *mut nng_stat) -> u64;
1074    pub fn nng_device(arg1: nng_socket, arg2: nng_socket) -> core::ffi::c_int;
1075    pub fn nng_device_aio(arg1: *mut nng_aio, arg2: nng_socket, arg3: nng_socket);
1076    pub fn nng_url_parse(
1077        arg1: *mut *mut nng_url,
1078        arg2: *const core::ffi::c_char,
1079    ) -> core::ffi::c_int;
1080    pub fn nng_url_free(arg1: *mut nng_url);
1081    pub fn nng_url_clone(arg1: *mut *mut nng_url, arg2: *const nng_url) -> core::ffi::c_int;
1082    pub fn nng_version() -> *const core::ffi::c_char;
1083    pub fn nng_stream_free(arg1: *mut nng_stream);
1084    pub fn nng_stream_close(arg1: *mut nng_stream);
1085    pub fn nng_stream_send(arg1: *mut nng_stream, arg2: *mut nng_aio);
1086    pub fn nng_stream_recv(arg1: *mut nng_stream, arg2: *mut nng_aio);
1087    pub fn nng_stream_get(
1088        arg1: *mut nng_stream,
1089        arg2: *const core::ffi::c_char,
1090        arg3: *mut core::ffi::c_void,
1091        arg4: *mut usize,
1092    ) -> core::ffi::c_int;
1093    pub fn nng_stream_get_bool(
1094        arg1: *mut nng_stream,
1095        arg2: *const core::ffi::c_char,
1096        arg3: *mut bool,
1097    ) -> core::ffi::c_int;
1098    pub fn nng_stream_get_int(
1099        arg1: *mut nng_stream,
1100        arg2: *const core::ffi::c_char,
1101        arg3: *mut core::ffi::c_int,
1102    ) -> core::ffi::c_int;
1103    pub fn nng_stream_get_ms(
1104        arg1: *mut nng_stream,
1105        arg2: *const core::ffi::c_char,
1106        arg3: *mut nng_duration,
1107    ) -> core::ffi::c_int;
1108    pub fn nng_stream_get_size(
1109        arg1: *mut nng_stream,
1110        arg2: *const core::ffi::c_char,
1111        arg3: *mut usize,
1112    ) -> core::ffi::c_int;
1113    pub fn nng_stream_get_uint64(
1114        arg1: *mut nng_stream,
1115        arg2: *const core::ffi::c_char,
1116        arg3: *mut u64,
1117    ) -> core::ffi::c_int;
1118    pub fn nng_stream_get_string(
1119        arg1: *mut nng_stream,
1120        arg2: *const core::ffi::c_char,
1121        arg3: *mut *mut core::ffi::c_char,
1122    ) -> core::ffi::c_int;
1123    pub fn nng_stream_get_ptr(
1124        arg1: *mut nng_stream,
1125        arg2: *const core::ffi::c_char,
1126        arg3: *mut *mut core::ffi::c_void,
1127    ) -> core::ffi::c_int;
1128    pub fn nng_stream_get_addr(
1129        arg1: *mut nng_stream,
1130        arg2: *const core::ffi::c_char,
1131        arg3: *mut nng_sockaddr,
1132    ) -> core::ffi::c_int;
1133    pub fn nng_stream_set(
1134        arg1: *mut nng_stream,
1135        arg2: *const core::ffi::c_char,
1136        arg3: *const core::ffi::c_void,
1137        arg4: usize,
1138    ) -> core::ffi::c_int;
1139    pub fn nng_stream_set_bool(
1140        arg1: *mut nng_stream,
1141        arg2: *const core::ffi::c_char,
1142        arg3: bool,
1143    ) -> core::ffi::c_int;
1144    pub fn nng_stream_set_int(
1145        arg1: *mut nng_stream,
1146        arg2: *const core::ffi::c_char,
1147        arg3: core::ffi::c_int,
1148    ) -> core::ffi::c_int;
1149    pub fn nng_stream_set_ms(
1150        arg1: *mut nng_stream,
1151        arg2: *const core::ffi::c_char,
1152        arg3: nng_duration,
1153    ) -> core::ffi::c_int;
1154    pub fn nng_stream_set_size(
1155        arg1: *mut nng_stream,
1156        arg2: *const core::ffi::c_char,
1157        arg3: usize,
1158    ) -> core::ffi::c_int;
1159    pub fn nng_stream_set_uint64(
1160        arg1: *mut nng_stream,
1161        arg2: *const core::ffi::c_char,
1162        arg3: u64,
1163    ) -> core::ffi::c_int;
1164    pub fn nng_stream_set_string(
1165        arg1: *mut nng_stream,
1166        arg2: *const core::ffi::c_char,
1167        arg3: *const core::ffi::c_char,
1168    ) -> core::ffi::c_int;
1169    pub fn nng_stream_set_ptr(
1170        arg1: *mut nng_stream,
1171        arg2: *const core::ffi::c_char,
1172        arg3: *mut core::ffi::c_void,
1173    ) -> core::ffi::c_int;
1174    pub fn nng_stream_dialer_alloc(
1175        arg1: *mut *mut nng_stream_dialer,
1176        arg2: *const core::ffi::c_char,
1177    ) -> core::ffi::c_int;
1178    pub fn nng_stream_dialer_alloc_url(
1179        arg1: *mut *mut nng_stream_dialer,
1180        arg2: *const nng_url,
1181    ) -> core::ffi::c_int;
1182    pub fn nng_stream_dialer_free(arg1: *mut nng_stream_dialer);
1183    pub fn nng_stream_dialer_close(arg1: *mut nng_stream_dialer);
1184    pub fn nng_stream_dialer_dial(arg1: *mut nng_stream_dialer, arg2: *mut nng_aio);
1185    pub fn nng_stream_dialer_set(
1186        arg1: *mut nng_stream_dialer,
1187        arg2: *const core::ffi::c_char,
1188        arg3: *const core::ffi::c_void,
1189        arg4: usize,
1190    ) -> core::ffi::c_int;
1191    pub fn nng_stream_dialer_get(
1192        arg1: *mut nng_stream_dialer,
1193        arg2: *const core::ffi::c_char,
1194        arg3: *mut core::ffi::c_void,
1195        arg4: *mut usize,
1196    ) -> core::ffi::c_int;
1197    pub fn nng_stream_dialer_get_bool(
1198        arg1: *mut nng_stream_dialer,
1199        arg2: *const core::ffi::c_char,
1200        arg3: *mut bool,
1201    ) -> core::ffi::c_int;
1202    pub fn nng_stream_dialer_get_int(
1203        arg1: *mut nng_stream_dialer,
1204        arg2: *const core::ffi::c_char,
1205        arg3: *mut core::ffi::c_int,
1206    ) -> core::ffi::c_int;
1207    pub fn nng_stream_dialer_get_ms(
1208        arg1: *mut nng_stream_dialer,
1209        arg2: *const core::ffi::c_char,
1210        arg3: *mut nng_duration,
1211    ) -> core::ffi::c_int;
1212    pub fn nng_stream_dialer_get_size(
1213        arg1: *mut nng_stream_dialer,
1214        arg2: *const core::ffi::c_char,
1215        arg3: *mut usize,
1216    ) -> core::ffi::c_int;
1217    pub fn nng_stream_dialer_get_uint64(
1218        arg1: *mut nng_stream_dialer,
1219        arg2: *const core::ffi::c_char,
1220        arg3: *mut u64,
1221    ) -> core::ffi::c_int;
1222    pub fn nng_stream_dialer_get_string(
1223        arg1: *mut nng_stream_dialer,
1224        arg2: *const core::ffi::c_char,
1225        arg3: *mut *mut core::ffi::c_char,
1226    ) -> core::ffi::c_int;
1227    pub fn nng_stream_dialer_get_ptr(
1228        arg1: *mut nng_stream_dialer,
1229        arg2: *const core::ffi::c_char,
1230        arg3: *mut *mut core::ffi::c_void,
1231    ) -> core::ffi::c_int;
1232    pub fn nng_stream_dialer_get_addr(
1233        arg1: *mut nng_stream_dialer,
1234        arg2: *const core::ffi::c_char,
1235        arg3: *mut nng_sockaddr,
1236    ) -> core::ffi::c_int;
1237    pub fn nng_stream_dialer_set_bool(
1238        arg1: *mut nng_stream_dialer,
1239        arg2: *const core::ffi::c_char,
1240        arg3: bool,
1241    ) -> core::ffi::c_int;
1242    pub fn nng_stream_dialer_set_int(
1243        arg1: *mut nng_stream_dialer,
1244        arg2: *const core::ffi::c_char,
1245        arg3: core::ffi::c_int,
1246    ) -> core::ffi::c_int;
1247    pub fn nng_stream_dialer_set_ms(
1248        arg1: *mut nng_stream_dialer,
1249        arg2: *const core::ffi::c_char,
1250        arg3: nng_duration,
1251    ) -> core::ffi::c_int;
1252    pub fn nng_stream_dialer_set_size(
1253        arg1: *mut nng_stream_dialer,
1254        arg2: *const core::ffi::c_char,
1255        arg3: usize,
1256    ) -> core::ffi::c_int;
1257    pub fn nng_stream_dialer_set_uint64(
1258        arg1: *mut nng_stream_dialer,
1259        arg2: *const core::ffi::c_char,
1260        arg3: u64,
1261    ) -> core::ffi::c_int;
1262    pub fn nng_stream_dialer_set_string(
1263        arg1: *mut nng_stream_dialer,
1264        arg2: *const core::ffi::c_char,
1265        arg3: *const core::ffi::c_char,
1266    ) -> core::ffi::c_int;
1267    pub fn nng_stream_dialer_set_ptr(
1268        arg1: *mut nng_stream_dialer,
1269        arg2: *const core::ffi::c_char,
1270        arg3: *mut core::ffi::c_void,
1271    ) -> core::ffi::c_int;
1272    pub fn nng_stream_dialer_set_addr(
1273        arg1: *mut nng_stream_dialer,
1274        arg2: *const core::ffi::c_char,
1275        arg3: *const nng_sockaddr,
1276    ) -> core::ffi::c_int;
1277    pub fn nng_stream_listener_alloc(
1278        arg1: *mut *mut nng_stream_listener,
1279        arg2: *const core::ffi::c_char,
1280    ) -> core::ffi::c_int;
1281    pub fn nng_stream_listener_alloc_url(
1282        arg1: *mut *mut nng_stream_listener,
1283        arg2: *const nng_url,
1284    ) -> core::ffi::c_int;
1285    pub fn nng_stream_listener_free(arg1: *mut nng_stream_listener);
1286    pub fn nng_stream_listener_close(arg1: *mut nng_stream_listener);
1287    pub fn nng_stream_listener_listen(arg1: *mut nng_stream_listener) -> core::ffi::c_int;
1288    pub fn nng_stream_listener_accept(arg1: *mut nng_stream_listener, arg2: *mut nng_aio);
1289    pub fn nng_stream_listener_set(
1290        arg1: *mut nng_stream_listener,
1291        arg2: *const core::ffi::c_char,
1292        arg3: *const core::ffi::c_void,
1293        arg4: usize,
1294    ) -> core::ffi::c_int;
1295    pub fn nng_stream_listener_get(
1296        arg1: *mut nng_stream_listener,
1297        arg2: *const core::ffi::c_char,
1298        arg3: *mut core::ffi::c_void,
1299        arg4: *mut usize,
1300    ) -> core::ffi::c_int;
1301    pub fn nng_stream_listener_get_bool(
1302        arg1: *mut nng_stream_listener,
1303        arg2: *const core::ffi::c_char,
1304        arg3: *mut bool,
1305    ) -> core::ffi::c_int;
1306    pub fn nng_stream_listener_get_int(
1307        arg1: *mut nng_stream_listener,
1308        arg2: *const core::ffi::c_char,
1309        arg3: *mut core::ffi::c_int,
1310    ) -> core::ffi::c_int;
1311    pub fn nng_stream_listener_get_ms(
1312        arg1: *mut nng_stream_listener,
1313        arg2: *const core::ffi::c_char,
1314        arg3: *mut nng_duration,
1315    ) -> core::ffi::c_int;
1316    pub fn nng_stream_listener_get_size(
1317        arg1: *mut nng_stream_listener,
1318        arg2: *const core::ffi::c_char,
1319        arg3: *mut usize,
1320    ) -> core::ffi::c_int;
1321    pub fn nng_stream_listener_get_uint64(
1322        arg1: *mut nng_stream_listener,
1323        arg2: *const core::ffi::c_char,
1324        arg3: *mut u64,
1325    ) -> core::ffi::c_int;
1326    pub fn nng_stream_listener_get_string(
1327        arg1: *mut nng_stream_listener,
1328        arg2: *const core::ffi::c_char,
1329        arg3: *mut *mut core::ffi::c_char,
1330    ) -> core::ffi::c_int;
1331    pub fn nng_stream_listener_get_ptr(
1332        arg1: *mut nng_stream_listener,
1333        arg2: *const core::ffi::c_char,
1334        arg3: *mut *mut core::ffi::c_void,
1335    ) -> core::ffi::c_int;
1336    pub fn nng_stream_listener_get_addr(
1337        arg1: *mut nng_stream_listener,
1338        arg2: *const core::ffi::c_char,
1339        arg3: *mut nng_sockaddr,
1340    ) -> core::ffi::c_int;
1341    pub fn nng_stream_listener_set_bool(
1342        arg1: *mut nng_stream_listener,
1343        arg2: *const core::ffi::c_char,
1344        arg3: bool,
1345    ) -> core::ffi::c_int;
1346    pub fn nng_stream_listener_set_int(
1347        arg1: *mut nng_stream_listener,
1348        arg2: *const core::ffi::c_char,
1349        arg3: core::ffi::c_int,
1350    ) -> core::ffi::c_int;
1351    pub fn nng_stream_listener_set_ms(
1352        arg1: *mut nng_stream_listener,
1353        arg2: *const core::ffi::c_char,
1354        arg3: nng_duration,
1355    ) -> core::ffi::c_int;
1356    pub fn nng_stream_listener_set_size(
1357        arg1: *mut nng_stream_listener,
1358        arg2: *const core::ffi::c_char,
1359        arg3: usize,
1360    ) -> core::ffi::c_int;
1361    pub fn nng_stream_listener_set_uint64(
1362        arg1: *mut nng_stream_listener,
1363        arg2: *const core::ffi::c_char,
1364        arg3: u64,
1365    ) -> core::ffi::c_int;
1366    pub fn nng_stream_listener_set_string(
1367        arg1: *mut nng_stream_listener,
1368        arg2: *const core::ffi::c_char,
1369        arg3: *const core::ffi::c_char,
1370    ) -> core::ffi::c_int;
1371    pub fn nng_stream_listener_set_ptr(
1372        arg1: *mut nng_stream_listener,
1373        arg2: *const core::ffi::c_char,
1374        arg3: *mut core::ffi::c_void,
1375    ) -> core::ffi::c_int;
1376    pub fn nng_stream_listener_set_addr(
1377        arg1: *mut nng_stream_listener,
1378        arg2: *const core::ffi::c_char,
1379        arg3: *const nng_sockaddr,
1380    ) -> core::ffi::c_int;
1381    pub fn nng_udp_open(udpp: *mut *mut nng_udp, sa: *mut nng_sockaddr) -> core::ffi::c_int;
1382    pub fn nng_udp_close(udp: *mut nng_udp);
1383    pub fn nng_udp_sockname(udp: *mut nng_udp, sa: *mut nng_sockaddr) -> core::ffi::c_int;
1384    pub fn nng_udp_send(udp: *mut nng_udp, aio: *mut nng_aio);
1385    pub fn nng_udp_recv(udp: *mut nng_udp, aio: *mut nng_aio);
1386    pub fn nng_udp_multicast_membership(
1387        udp: *mut nng_udp,
1388        sa: *mut nng_sockaddr,
1389        join: bool,
1390    ) -> core::ffi::c_int;
1391    pub fn nng_msg_getopt(
1392        arg1: *mut nng_msg,
1393        arg2: core::ffi::c_int,
1394        arg3: *mut core::ffi::c_void,
1395        arg4: *mut usize,
1396    ) -> core::ffi::c_int;
1397    pub fn nng_getopt(
1398        arg1: nng_socket,
1399        arg2: *const core::ffi::c_char,
1400        arg3: *mut core::ffi::c_void,
1401        arg4: *mut usize,
1402    ) -> core::ffi::c_int;
1403    pub fn nng_getopt_bool(
1404        arg1: nng_socket,
1405        arg2: *const core::ffi::c_char,
1406        arg3: *mut bool,
1407    ) -> core::ffi::c_int;
1408    pub fn nng_getopt_int(
1409        arg1: nng_socket,
1410        arg2: *const core::ffi::c_char,
1411        arg3: *mut core::ffi::c_int,
1412    ) -> core::ffi::c_int;
1413    pub fn nng_getopt_ms(
1414        arg1: nng_socket,
1415        arg2: *const core::ffi::c_char,
1416        arg3: *mut nng_duration,
1417    ) -> core::ffi::c_int;
1418    pub fn nng_getopt_size(
1419        arg1: nng_socket,
1420        arg2: *const core::ffi::c_char,
1421        arg3: *mut usize,
1422    ) -> core::ffi::c_int;
1423    pub fn nng_getopt_uint64(
1424        arg1: nng_socket,
1425        arg2: *const core::ffi::c_char,
1426        arg3: *mut u64,
1427    ) -> core::ffi::c_int;
1428    pub fn nng_getopt_ptr(
1429        arg1: nng_socket,
1430        arg2: *const core::ffi::c_char,
1431        arg3: *mut *mut core::ffi::c_void,
1432    ) -> core::ffi::c_int;
1433    pub fn nng_getopt_string(
1434        arg1: nng_socket,
1435        arg2: *const core::ffi::c_char,
1436        arg3: *mut *mut core::ffi::c_char,
1437    ) -> core::ffi::c_int;
1438    pub fn nng_setopt(
1439        arg1: nng_socket,
1440        arg2: *const core::ffi::c_char,
1441        arg3: *const core::ffi::c_void,
1442        arg4: usize,
1443    ) -> core::ffi::c_int;
1444    pub fn nng_setopt_bool(
1445        arg1: nng_socket,
1446        arg2: *const core::ffi::c_char,
1447        arg3: bool,
1448    ) -> core::ffi::c_int;
1449    pub fn nng_setopt_int(
1450        arg1: nng_socket,
1451        arg2: *const core::ffi::c_char,
1452        arg3: core::ffi::c_int,
1453    ) -> core::ffi::c_int;
1454    pub fn nng_setopt_ms(
1455        arg1: nng_socket,
1456        arg2: *const core::ffi::c_char,
1457        arg3: nng_duration,
1458    ) -> core::ffi::c_int;
1459    pub fn nng_setopt_size(
1460        arg1: nng_socket,
1461        arg2: *const core::ffi::c_char,
1462        arg3: usize,
1463    ) -> core::ffi::c_int;
1464    pub fn nng_setopt_uint64(
1465        arg1: nng_socket,
1466        arg2: *const core::ffi::c_char,
1467        arg3: u64,
1468    ) -> core::ffi::c_int;
1469    pub fn nng_setopt_string(
1470        arg1: nng_socket,
1471        arg2: *const core::ffi::c_char,
1472        arg3: *const core::ffi::c_char,
1473    ) -> core::ffi::c_int;
1474    pub fn nng_setopt_ptr(
1475        arg1: nng_socket,
1476        arg2: *const core::ffi::c_char,
1477        arg3: *mut core::ffi::c_void,
1478    ) -> core::ffi::c_int;
1479    pub fn nng_ctx_getopt(
1480        arg1: nng_ctx,
1481        arg2: *const core::ffi::c_char,
1482        arg3: *mut core::ffi::c_void,
1483        arg4: *mut usize,
1484    ) -> core::ffi::c_int;
1485    pub fn nng_ctx_getopt_bool(
1486        arg1: nng_ctx,
1487        arg2: *const core::ffi::c_char,
1488        arg3: *mut bool,
1489    ) -> core::ffi::c_int;
1490    pub fn nng_ctx_getopt_int(
1491        arg1: nng_ctx,
1492        arg2: *const core::ffi::c_char,
1493        arg3: *mut core::ffi::c_int,
1494    ) -> core::ffi::c_int;
1495    pub fn nng_ctx_getopt_ms(
1496        arg1: nng_ctx,
1497        arg2: *const core::ffi::c_char,
1498        arg3: *mut nng_duration,
1499    ) -> core::ffi::c_int;
1500    pub fn nng_ctx_getopt_size(
1501        arg1: nng_ctx,
1502        arg2: *const core::ffi::c_char,
1503        arg3: *mut usize,
1504    ) -> core::ffi::c_int;
1505    pub fn nng_ctx_setopt(
1506        arg1: nng_ctx,
1507        arg2: *const core::ffi::c_char,
1508        arg3: *const core::ffi::c_void,
1509        arg4: usize,
1510    ) -> core::ffi::c_int;
1511    pub fn nng_ctx_setopt_bool(
1512        arg1: nng_ctx,
1513        arg2: *const core::ffi::c_char,
1514        arg3: bool,
1515    ) -> core::ffi::c_int;
1516    pub fn nng_ctx_setopt_int(
1517        arg1: nng_ctx,
1518        arg2: *const core::ffi::c_char,
1519        arg3: core::ffi::c_int,
1520    ) -> core::ffi::c_int;
1521    pub fn nng_ctx_setopt_ms(
1522        arg1: nng_ctx,
1523        arg2: *const core::ffi::c_char,
1524        arg3: nng_duration,
1525    ) -> core::ffi::c_int;
1526    pub fn nng_ctx_setopt_size(
1527        arg1: nng_ctx,
1528        arg2: *const core::ffi::c_char,
1529        arg3: usize,
1530    ) -> core::ffi::c_int;
1531    pub fn nng_dialer_getopt(
1532        arg1: nng_dialer,
1533        arg2: *const core::ffi::c_char,
1534        arg3: *mut core::ffi::c_void,
1535        arg4: *mut usize,
1536    ) -> core::ffi::c_int;
1537    pub fn nng_dialer_getopt_bool(
1538        arg1: nng_dialer,
1539        arg2: *const core::ffi::c_char,
1540        arg3: *mut bool,
1541    ) -> core::ffi::c_int;
1542    pub fn nng_dialer_getopt_int(
1543        arg1: nng_dialer,
1544        arg2: *const core::ffi::c_char,
1545        arg3: *mut core::ffi::c_int,
1546    ) -> core::ffi::c_int;
1547    pub fn nng_dialer_getopt_ms(
1548        arg1: nng_dialer,
1549        arg2: *const core::ffi::c_char,
1550        arg3: *mut nng_duration,
1551    ) -> core::ffi::c_int;
1552    pub fn nng_dialer_getopt_size(
1553        arg1: nng_dialer,
1554        arg2: *const core::ffi::c_char,
1555        arg3: *mut usize,
1556    ) -> core::ffi::c_int;
1557    pub fn nng_dialer_getopt_sockaddr(
1558        arg1: nng_dialer,
1559        arg2: *const core::ffi::c_char,
1560        arg3: *mut nng_sockaddr,
1561    ) -> core::ffi::c_int;
1562    pub fn nng_dialer_getopt_uint64(
1563        arg1: nng_dialer,
1564        arg2: *const core::ffi::c_char,
1565        arg3: *mut u64,
1566    ) -> core::ffi::c_int;
1567    pub fn nng_dialer_getopt_ptr(
1568        arg1: nng_dialer,
1569        arg2: *const core::ffi::c_char,
1570        arg3: *mut *mut core::ffi::c_void,
1571    ) -> core::ffi::c_int;
1572    pub fn nng_dialer_getopt_string(
1573        arg1: nng_dialer,
1574        arg2: *const core::ffi::c_char,
1575        arg3: *mut *mut core::ffi::c_char,
1576    ) -> core::ffi::c_int;
1577    pub fn nng_dialer_setopt(
1578        arg1: nng_dialer,
1579        arg2: *const core::ffi::c_char,
1580        arg3: *const core::ffi::c_void,
1581        arg4: usize,
1582    ) -> core::ffi::c_int;
1583    pub fn nng_dialer_setopt_bool(
1584        arg1: nng_dialer,
1585        arg2: *const core::ffi::c_char,
1586        arg3: bool,
1587    ) -> core::ffi::c_int;
1588    pub fn nng_dialer_setopt_int(
1589        arg1: nng_dialer,
1590        arg2: *const core::ffi::c_char,
1591        arg3: core::ffi::c_int,
1592    ) -> core::ffi::c_int;
1593    pub fn nng_dialer_setopt_ms(
1594        arg1: nng_dialer,
1595        arg2: *const core::ffi::c_char,
1596        arg3: nng_duration,
1597    ) -> core::ffi::c_int;
1598    pub fn nng_dialer_setopt_size(
1599        arg1: nng_dialer,
1600        arg2: *const core::ffi::c_char,
1601        arg3: usize,
1602    ) -> core::ffi::c_int;
1603    pub fn nng_dialer_setopt_uint64(
1604        arg1: nng_dialer,
1605        arg2: *const core::ffi::c_char,
1606        arg3: u64,
1607    ) -> core::ffi::c_int;
1608    pub fn nng_dialer_setopt_ptr(
1609        arg1: nng_dialer,
1610        arg2: *const core::ffi::c_char,
1611        arg3: *mut core::ffi::c_void,
1612    ) -> core::ffi::c_int;
1613    pub fn nng_dialer_setopt_string(
1614        arg1: nng_dialer,
1615        arg2: *const core::ffi::c_char,
1616        arg3: *const core::ffi::c_char,
1617    ) -> core::ffi::c_int;
1618    pub fn nng_listener_getopt(
1619        arg1: nng_listener,
1620        arg2: *const core::ffi::c_char,
1621        arg3: *mut core::ffi::c_void,
1622        arg4: *mut usize,
1623    ) -> core::ffi::c_int;
1624    pub fn nng_listener_getopt_bool(
1625        arg1: nng_listener,
1626        arg2: *const core::ffi::c_char,
1627        arg3: *mut bool,
1628    ) -> core::ffi::c_int;
1629    pub fn nng_listener_getopt_int(
1630        arg1: nng_listener,
1631        arg2: *const core::ffi::c_char,
1632        arg3: *mut core::ffi::c_int,
1633    ) -> core::ffi::c_int;
1634    pub fn nng_listener_getopt_ms(
1635        arg1: nng_listener,
1636        arg2: *const core::ffi::c_char,
1637        arg3: *mut nng_duration,
1638    ) -> core::ffi::c_int;
1639    pub fn nng_listener_getopt_size(
1640        arg1: nng_listener,
1641        arg2: *const core::ffi::c_char,
1642        arg3: *mut usize,
1643    ) -> core::ffi::c_int;
1644    pub fn nng_listener_getopt_sockaddr(
1645        arg1: nng_listener,
1646        arg2: *const core::ffi::c_char,
1647        arg3: *mut nng_sockaddr,
1648    ) -> core::ffi::c_int;
1649    pub fn nng_listener_getopt_uint64(
1650        arg1: nng_listener,
1651        arg2: *const core::ffi::c_char,
1652        arg3: *mut u64,
1653    ) -> core::ffi::c_int;
1654    pub fn nng_listener_getopt_ptr(
1655        arg1: nng_listener,
1656        arg2: *const core::ffi::c_char,
1657        arg3: *mut *mut core::ffi::c_void,
1658    ) -> core::ffi::c_int;
1659    pub fn nng_listener_getopt_string(
1660        arg1: nng_listener,
1661        arg2: *const core::ffi::c_char,
1662        arg3: *mut *mut core::ffi::c_char,
1663    ) -> core::ffi::c_int;
1664    pub fn nng_listener_setopt(
1665        arg1: nng_listener,
1666        arg2: *const core::ffi::c_char,
1667        arg3: *const core::ffi::c_void,
1668        arg4: usize,
1669    ) -> core::ffi::c_int;
1670    pub fn nng_listener_setopt_bool(
1671        arg1: nng_listener,
1672        arg2: *const core::ffi::c_char,
1673        arg3: bool,
1674    ) -> core::ffi::c_int;
1675    pub fn nng_listener_setopt_int(
1676        arg1: nng_listener,
1677        arg2: *const core::ffi::c_char,
1678        arg3: core::ffi::c_int,
1679    ) -> core::ffi::c_int;
1680    pub fn nng_listener_setopt_ms(
1681        arg1: nng_listener,
1682        arg2: *const core::ffi::c_char,
1683        arg3: nng_duration,
1684    ) -> core::ffi::c_int;
1685    pub fn nng_listener_setopt_size(
1686        arg1: nng_listener,
1687        arg2: *const core::ffi::c_char,
1688        arg3: usize,
1689    ) -> core::ffi::c_int;
1690    pub fn nng_listener_setopt_uint64(
1691        arg1: nng_listener,
1692        arg2: *const core::ffi::c_char,
1693        arg3: u64,
1694    ) -> core::ffi::c_int;
1695    pub fn nng_listener_setopt_ptr(
1696        arg1: nng_listener,
1697        arg2: *const core::ffi::c_char,
1698        arg3: *mut core::ffi::c_void,
1699    ) -> core::ffi::c_int;
1700    pub fn nng_listener_setopt_string(
1701        arg1: nng_listener,
1702        arg2: *const core::ffi::c_char,
1703        arg3: *const core::ffi::c_char,
1704    ) -> core::ffi::c_int;
1705    pub fn nng_pipe_getopt(
1706        arg1: nng_pipe,
1707        arg2: *const core::ffi::c_char,
1708        arg3: *mut core::ffi::c_void,
1709        arg4: *mut usize,
1710    ) -> core::ffi::c_int;
1711    pub fn nng_pipe_getopt_bool(
1712        arg1: nng_pipe,
1713        arg2: *const core::ffi::c_char,
1714        arg3: *mut bool,
1715    ) -> core::ffi::c_int;
1716    pub fn nng_pipe_getopt_int(
1717        arg1: nng_pipe,
1718        arg2: *const core::ffi::c_char,
1719        arg3: *mut core::ffi::c_int,
1720    ) -> core::ffi::c_int;
1721    pub fn nng_pipe_getopt_ms(
1722        arg1: nng_pipe,
1723        arg2: *const core::ffi::c_char,
1724        arg3: *mut nng_duration,
1725    ) -> core::ffi::c_int;
1726    pub fn nng_pipe_getopt_size(
1727        arg1: nng_pipe,
1728        arg2: *const core::ffi::c_char,
1729        arg3: *mut usize,
1730    ) -> core::ffi::c_int;
1731    pub fn nng_pipe_getopt_sockaddr(
1732        arg1: nng_pipe,
1733        arg2: *const core::ffi::c_char,
1734        arg3: *mut nng_sockaddr,
1735    ) -> core::ffi::c_int;
1736    pub fn nng_pipe_getopt_uint64(
1737        arg1: nng_pipe,
1738        arg2: *const core::ffi::c_char,
1739        arg3: *mut u64,
1740    ) -> core::ffi::c_int;
1741    pub fn nng_pipe_getopt_ptr(
1742        arg1: nng_pipe,
1743        arg2: *const core::ffi::c_char,
1744        arg3: *mut *mut core::ffi::c_void,
1745    ) -> core::ffi::c_int;
1746    pub fn nng_pipe_getopt_string(
1747        arg1: nng_pipe,
1748        arg2: *const core::ffi::c_char,
1749        arg3: *mut *mut core::ffi::c_char,
1750    ) -> core::ffi::c_int;
1751    pub fn nng_closeall();
1752    pub fn nng_stream_set_addr(
1753        arg1: *mut nng_stream,
1754        arg2: *const core::ffi::c_char,
1755        arg3: *const nng_sockaddr,
1756    ) -> core::ffi::c_int;
1757    pub fn nng_ctx_get_addr(
1758        arg1: nng_ctx,
1759        arg2: *const core::ffi::c_char,
1760        arg3: *mut nng_sockaddr,
1761    ) -> core::ffi::c_int;
1762    pub fn nng_ctx_set_addr(
1763        arg1: nng_ctx,
1764        arg2: *const core::ffi::c_char,
1765        arg3: *const nng_sockaddr,
1766    ) -> core::ffi::c_int;
1767    pub fn nng_init_set_parameter(arg1: nng_init_parameter, arg2: u64);
1768    pub fn nng_null_logger(
1769        arg1: nng_log_level::Type,
1770        arg2: nng_log_facility::Type,
1771        arg3: *const core::ffi::c_char,
1772        arg4: *const core::ffi::c_char,
1773    );
1774    pub fn nng_stderr_logger(
1775        arg1: nng_log_level::Type,
1776        arg2: nng_log_facility::Type,
1777        arg3: *const core::ffi::c_char,
1778        arg4: *const core::ffi::c_char,
1779    );
1780    pub fn nng_system_logger(
1781        arg1: nng_log_level::Type,
1782        arg2: nng_log_facility::Type,
1783        arg3: *const core::ffi::c_char,
1784        arg4: *const core::ffi::c_char,
1785    );
1786    pub fn nng_log_set_facility(facility: nng_log_facility::Type);
1787    pub fn nng_log_set_level(level: nng_log_level::Type);
1788    pub fn nng_log_get_level() -> nng_log_level::Type;
1789    pub fn nng_log_set_logger(logger: nng_logger);
1790    pub fn nng_log_err(msgid: *const core::ffi::c_char, msg: *const core::ffi::c_char, ...);
1791    pub fn nng_log_warn(msgid: *const core::ffi::c_char, msg: *const core::ffi::c_char, ...);
1792    pub fn nng_log_notice(msgid: *const core::ffi::c_char, msg: *const core::ffi::c_char, ...);
1793    pub fn nng_log_info(msgid: *const core::ffi::c_char, msg: *const core::ffi::c_char, ...);
1794    pub fn nng_log_debug(msgid: *const core::ffi::c_char, msg: *const core::ffi::c_char, ...);
1795    pub fn nng_log_auth(
1796        level: nng_log_level::Type,
1797        msgid: *const core::ffi::c_char,
1798        msg: *const core::ffi::c_char,
1799        ...
1800    );
1801    pub fn nng_clock() -> nng_time;
1802    pub fn nng_msleep(arg1: nng_duration);
1803    pub fn nng_random() -> u32;
1804    pub fn nng_socket_pair(arg1: *mut core::ffi::c_int) -> core::ffi::c_int;
1805    pub fn nng_thread_create(
1806        arg1: *mut *mut nng_thread,
1807        arg2: ::core::option::Option<unsafe extern "C" fn(arg1: *mut core::ffi::c_void)>,
1808        arg3: *mut core::ffi::c_void,
1809    ) -> core::ffi::c_int;
1810    pub fn nng_thread_set_name(arg1: *mut nng_thread, arg2: *const core::ffi::c_char);
1811    pub fn nng_thread_destroy(arg1: *mut nng_thread);
1812    pub fn nng_mtx_alloc(arg1: *mut *mut nng_mtx) -> core::ffi::c_int;
1813    pub fn nng_mtx_free(arg1: *mut nng_mtx);
1814    pub fn nng_mtx_lock(arg1: *mut nng_mtx);
1815    pub fn nng_mtx_unlock(arg1: *mut nng_mtx);
1816    pub fn nng_cv_alloc(arg1: *mut *mut nng_cv, arg2: *mut nng_mtx) -> core::ffi::c_int;
1817    pub fn nng_cv_free(arg1: *mut nng_cv);
1818    pub fn nng_cv_wait(arg1: *mut nng_cv);
1819    pub fn nng_cv_until(arg1: *mut nng_cv, arg2: nng_time) -> core::ffi::c_int;
1820    pub fn nng_cv_wake(arg1: *mut nng_cv);
1821    pub fn nng_cv_wake1(arg1: *mut nng_cv);
1822    pub fn nng_dialer_get_url(arg1: nng_dialer, arg2: *mut *const nng_url) -> core::ffi::c_int;
1823    pub fn nng_listener_get_url(arg1: nng_listener, arg2: *mut *const nng_url) -> core::ffi::c_int;
1824    pub fn nng_bus0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1825    pub fn nng_bus0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1826    pub fn nng_pair0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1827    pub fn nng_pair0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1828    pub fn nng_pair1_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1829    pub fn nng_pair1_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1830    pub fn nng_pair1_open_poly(arg1: *mut nng_socket) -> core::ffi::c_int;
1831    pub fn nng_pull0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1832    pub fn nng_pull0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1833    pub fn nng_push0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1834    pub fn nng_push0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1835    pub fn nng_pub0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1836    pub fn nng_pub0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1837    pub fn nng_sub0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1838    pub fn nng_sub0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1839    pub fn nng_sub0_socket_subscribe(
1840        id: nng_socket,
1841        buf: *const core::ffi::c_void,
1842        sz: usize,
1843    ) -> core::ffi::c_int;
1844    pub fn nng_sub0_socket_unsubscribe(
1845        id: nng_socket,
1846        buf: *const core::ffi::c_void,
1847        sz: usize,
1848    ) -> core::ffi::c_int;
1849    pub fn nng_sub0_ctx_subscribe(
1850        id: nng_ctx,
1851        buf: *const core::ffi::c_void,
1852        sz: usize,
1853    ) -> core::ffi::c_int;
1854    pub fn nng_sub0_ctx_unsubscribe(
1855        id: nng_ctx,
1856        buf: *const core::ffi::c_void,
1857        sz: usize,
1858    ) -> core::ffi::c_int;
1859    pub fn nng_rep0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1860    pub fn nng_rep0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1861    pub fn nng_req0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1862    pub fn nng_req0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1863    pub fn nng_respondent0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1864    pub fn nng_respondent0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1865    pub fn nng_surveyor0_open(arg1: *mut nng_socket) -> core::ffi::c_int;
1866    pub fn nng_surveyor0_open_raw(arg1: *mut nng_socket) -> core::ffi::c_int;
1867    pub fn nng_inproc_register() -> core::ffi::c_int;
1868    pub fn nng_ipc_register() -> core::ffi::c_int;
1869    pub fn nng_tcp_register() -> core::ffi::c_int;
1870    pub fn nng_tls_register() -> core::ffi::c_int;
1871    pub fn nng_ws_register() -> core::ffi::c_int;
1872    pub fn nng_wss_register() -> core::ffi::c_int;
1873    pub fn nng_http_req_alloc(
1874        arg1: *mut *mut nng_http_req,
1875        arg2: *const nng_url,
1876    ) -> core::ffi::c_int;
1877    pub fn nng_http_req_free(arg1: *mut nng_http_req);
1878    pub fn nng_http_req_get_method(arg1: *mut nng_http_req) -> *const core::ffi::c_char;
1879    pub fn nng_http_req_get_version(arg1: *mut nng_http_req) -> *const core::ffi::c_char;
1880    pub fn nng_http_req_get_uri(arg1: *mut nng_http_req) -> *const core::ffi::c_char;
1881    pub fn nng_http_req_set_header(
1882        arg1: *mut nng_http_req,
1883        arg2: *const core::ffi::c_char,
1884        arg3: *const core::ffi::c_char,
1885    ) -> core::ffi::c_int;
1886    pub fn nng_http_req_add_header(
1887        arg1: *mut nng_http_req,
1888        arg2: *const core::ffi::c_char,
1889        arg3: *const core::ffi::c_char,
1890    ) -> core::ffi::c_int;
1891    pub fn nng_http_req_del_header(
1892        arg1: *mut nng_http_req,
1893        arg2: *const core::ffi::c_char,
1894    ) -> core::ffi::c_int;
1895    pub fn nng_http_req_get_header(
1896        arg1: *mut nng_http_req,
1897        arg2: *const core::ffi::c_char,
1898    ) -> *const core::ffi::c_char;
1899    pub fn nng_http_req_set_method(
1900        arg1: *mut nng_http_req,
1901        arg2: *const core::ffi::c_char,
1902    ) -> core::ffi::c_int;
1903    pub fn nng_http_req_set_version(
1904        arg1: *mut nng_http_req,
1905        arg2: *const core::ffi::c_char,
1906    ) -> core::ffi::c_int;
1907    pub fn nng_http_req_set_uri(
1908        arg1: *mut nng_http_req,
1909        arg2: *const core::ffi::c_char,
1910    ) -> core::ffi::c_int;
1911    pub fn nng_http_req_set_data(
1912        arg1: *mut nng_http_req,
1913        arg2: *const core::ffi::c_void,
1914        arg3: usize,
1915    ) -> core::ffi::c_int;
1916    pub fn nng_http_req_copy_data(
1917        arg1: *mut nng_http_req,
1918        arg2: *const core::ffi::c_void,
1919        arg3: usize,
1920    ) -> core::ffi::c_int;
1921    pub fn nng_http_req_get_data(
1922        arg1: *mut nng_http_req,
1923        arg2: *mut *mut core::ffi::c_void,
1924        arg3: *mut usize,
1925    );
1926    pub fn nng_http_res_alloc(arg1: *mut *mut nng_http_res) -> core::ffi::c_int;
1927    pub fn nng_http_res_alloc_error(arg1: *mut *mut nng_http_res, arg2: u16) -> core::ffi::c_int;
1928    pub fn nng_http_res_free(arg1: *mut nng_http_res);
1929    pub fn nng_http_res_get_status(arg1: *mut nng_http_res) -> u16;
1930    pub fn nng_http_res_set_status(arg1: *mut nng_http_res, arg2: u16) -> core::ffi::c_int;
1931    pub fn nng_http_res_get_reason(arg1: *mut nng_http_res) -> *const core::ffi::c_char;
1932    pub fn nng_http_res_set_reason(
1933        arg1: *mut nng_http_res,
1934        arg2: *const core::ffi::c_char,
1935    ) -> core::ffi::c_int;
1936    pub fn nng_http_res_set_header(
1937        arg1: *mut nng_http_res,
1938        arg2: *const core::ffi::c_char,
1939        arg3: *const core::ffi::c_char,
1940    ) -> core::ffi::c_int;
1941    pub fn nng_http_res_add_header(
1942        arg1: *mut nng_http_res,
1943        arg2: *const core::ffi::c_char,
1944        arg3: *const core::ffi::c_char,
1945    ) -> core::ffi::c_int;
1946    pub fn nng_http_res_del_header(
1947        arg1: *mut nng_http_res,
1948        arg2: *const core::ffi::c_char,
1949    ) -> core::ffi::c_int;
1950    pub fn nng_http_res_get_header(
1951        arg1: *mut nng_http_res,
1952        arg2: *const core::ffi::c_char,
1953    ) -> *const core::ffi::c_char;
1954    pub fn nng_http_res_set_version(
1955        arg1: *mut nng_http_res,
1956        arg2: *const core::ffi::c_char,
1957    ) -> core::ffi::c_int;
1958    pub fn nng_http_res_get_version(arg1: *mut nng_http_res) -> *const core::ffi::c_char;
1959    pub fn nng_http_res_get_data(
1960        arg1: *mut nng_http_res,
1961        arg2: *mut *mut core::ffi::c_void,
1962        arg3: *mut usize,
1963    );
1964    pub fn nng_http_res_set_data(
1965        arg1: *mut nng_http_res,
1966        arg2: *const core::ffi::c_void,
1967        arg3: usize,
1968    ) -> core::ffi::c_int;
1969    pub fn nng_http_res_copy_data(
1970        arg1: *mut nng_http_res,
1971        arg2: *const core::ffi::c_void,
1972        arg3: usize,
1973    ) -> core::ffi::c_int;
1974    pub fn nng_http_conn_close(arg1: *mut nng_http_conn);
1975    pub fn nng_http_conn_read(arg1: *mut nng_http_conn, arg2: *mut nng_aio);
1976    pub fn nng_http_conn_read_all(arg1: *mut nng_http_conn, arg2: *mut nng_aio);
1977    pub fn nng_http_conn_write(arg1: *mut nng_http_conn, arg2: *mut nng_aio);
1978    pub fn nng_http_conn_write_all(arg1: *mut nng_http_conn, arg2: *mut nng_aio);
1979    pub fn nng_http_conn_write_req(
1980        arg1: *mut nng_http_conn,
1981        arg2: *mut nng_http_req,
1982        arg3: *mut nng_aio,
1983    );
1984    pub fn nng_http_conn_write_res(
1985        arg1: *mut nng_http_conn,
1986        arg2: *mut nng_http_res,
1987        arg3: *mut nng_aio,
1988    );
1989    pub fn nng_http_conn_read_req(
1990        arg1: *mut nng_http_conn,
1991        arg2: *mut nng_http_req,
1992        arg3: *mut nng_aio,
1993    );
1994    pub fn nng_http_conn_read_res(
1995        arg1: *mut nng_http_conn,
1996        arg2: *mut nng_http_res,
1997        arg3: *mut nng_aio,
1998    );
1999    pub fn nng_http_req_reset(arg1: *mut nng_http_req);
2000    pub fn nng_http_res_reset(arg1: *mut nng_http_res);
2001    pub fn nng_http_handler_alloc(
2002        arg1: *mut *mut nng_http_handler,
2003        arg2: *const core::ffi::c_char,
2004        arg3: ::core::option::Option<unsafe extern "C" fn(arg1: *mut nng_aio)>,
2005    ) -> core::ffi::c_int;
2006    pub fn nng_http_handler_free(arg1: *mut nng_http_handler);
2007    pub fn nng_http_handler_alloc_file(
2008        arg1: *mut *mut nng_http_handler,
2009        arg2: *const core::ffi::c_char,
2010        arg3: *const core::ffi::c_char,
2011    ) -> core::ffi::c_int;
2012    pub fn nng_http_handler_alloc_static(
2013        arg1: *mut *mut nng_http_handler,
2014        arg2: *const core::ffi::c_char,
2015        arg3: *const core::ffi::c_void,
2016        arg4: usize,
2017        arg5: *const core::ffi::c_char,
2018    ) -> core::ffi::c_int;
2019    pub fn nng_http_handler_alloc_redirect(
2020        arg1: *mut *mut nng_http_handler,
2021        arg2: *const core::ffi::c_char,
2022        arg3: u16,
2023        arg4: *const core::ffi::c_char,
2024    ) -> core::ffi::c_int;
2025    pub fn nng_http_handler_alloc_directory(
2026        arg1: *mut *mut nng_http_handler,
2027        arg2: *const core::ffi::c_char,
2028        arg3: *const core::ffi::c_char,
2029    ) -> core::ffi::c_int;
2030    pub fn nng_http_handler_set_method(
2031        arg1: *mut nng_http_handler,
2032        arg2: *const core::ffi::c_char,
2033    ) -> core::ffi::c_int;
2034    pub fn nng_http_handler_set_host(
2035        arg1: *mut nng_http_handler,
2036        arg2: *const core::ffi::c_char,
2037    ) -> core::ffi::c_int;
2038    pub fn nng_http_handler_collect_body(
2039        arg1: *mut nng_http_handler,
2040        arg2: bool,
2041        arg3: usize,
2042    ) -> core::ffi::c_int;
2043    pub fn nng_http_handler_set_tree(arg1: *mut nng_http_handler) -> core::ffi::c_int;
2044    pub fn nng_http_handler_set_tree_exclusive(arg1: *mut nng_http_handler) -> core::ffi::c_int;
2045    pub fn nng_http_handler_set_data(
2046        arg1: *mut nng_http_handler,
2047        arg2: *mut core::ffi::c_void,
2048        arg3: ::core::option::Option<unsafe extern "C" fn(arg1: *mut core::ffi::c_void)>,
2049    ) -> core::ffi::c_int;
2050    pub fn nng_http_handler_get_data(arg1: *mut nng_http_handler) -> *mut core::ffi::c_void;
2051    pub fn nng_http_server_hold(
2052        arg1: *mut *mut nng_http_server,
2053        arg2: *const nng_url,
2054    ) -> core::ffi::c_int;
2055    pub fn nng_http_server_release(arg1: *mut nng_http_server);
2056    pub fn nng_http_server_start(arg1: *mut nng_http_server) -> core::ffi::c_int;
2057    pub fn nng_http_server_stop(arg1: *mut nng_http_server);
2058    pub fn nng_http_server_add_handler(
2059        arg1: *mut nng_http_server,
2060        arg2: *mut nng_http_handler,
2061    ) -> core::ffi::c_int;
2062    pub fn nng_http_server_del_handler(
2063        arg1: *mut nng_http_server,
2064        arg2: *mut nng_http_handler,
2065    ) -> core::ffi::c_int;
2066    pub fn nng_http_server_set_tls(
2067        arg1: *mut nng_http_server,
2068        arg2: *mut nng_tls_config,
2069    ) -> core::ffi::c_int;
2070    pub fn nng_http_server_get_tls(
2071        arg1: *mut nng_http_server,
2072        arg2: *mut *mut nng_tls_config,
2073    ) -> core::ffi::c_int;
2074    pub fn nng_http_server_get_addr(
2075        arg1: *mut nng_http_server,
2076        arg2: *mut nng_sockaddr,
2077    ) -> core::ffi::c_int;
2078    pub fn nng_http_server_set_error_page(
2079        arg1: *mut nng_http_server,
2080        arg2: u16,
2081        arg3: *const core::ffi::c_char,
2082    ) -> core::ffi::c_int;
2083    pub fn nng_http_server_set_error_file(
2084        arg1: *mut nng_http_server,
2085        arg2: u16,
2086        arg3: *const core::ffi::c_char,
2087    ) -> core::ffi::c_int;
2088    pub fn nng_http_server_res_error(
2089        arg1: *mut nng_http_server,
2090        arg2: *mut nng_http_res,
2091    ) -> core::ffi::c_int;
2092    pub fn nng_http_hijack(arg1: *mut nng_http_conn) -> core::ffi::c_int;
2093    pub fn nng_http_client_alloc(
2094        arg1: *mut *mut nng_http_client,
2095        arg2: *const nng_url,
2096    ) -> core::ffi::c_int;
2097    pub fn nng_http_client_free(arg1: *mut nng_http_client);
2098    pub fn nng_http_client_set_tls(
2099        arg1: *mut nng_http_client,
2100        arg2: *mut nng_tls_config,
2101    ) -> core::ffi::c_int;
2102    pub fn nng_http_client_get_tls(
2103        arg1: *mut nng_http_client,
2104        arg2: *mut *mut nng_tls_config,
2105    ) -> core::ffi::c_int;
2106    pub fn nng_http_client_connect(arg1: *mut nng_http_client, arg2: *mut nng_aio);
2107    pub fn nng_http_conn_transact(
2108        arg1: *mut nng_http_conn,
2109        arg2: *mut nng_http_req,
2110        arg3: *mut nng_http_res,
2111        arg4: *mut nng_aio,
2112    );
2113    pub fn nng_http_client_transact(
2114        arg1: *mut nng_http_client,
2115        arg2: *mut nng_http_req,
2116        arg3: *mut nng_http_res,
2117        arg4: *mut nng_aio,
2118    );
2119    pub fn nng_tls_config_alloc(
2120        arg1: *mut *mut nng_tls_config,
2121        arg2: nng_tls_mode::Type,
2122    ) -> core::ffi::c_int;
2123    pub fn nng_tls_config_hold(arg1: *mut nng_tls_config);
2124    pub fn nng_tls_config_free(arg1: *mut nng_tls_config);
2125    pub fn nng_tls_config_server_name(
2126        arg1: *mut nng_tls_config,
2127        arg2: *const core::ffi::c_char,
2128    ) -> core::ffi::c_int;
2129    pub fn nng_tls_config_ca_chain(
2130        arg1: *mut nng_tls_config,
2131        arg2: *const core::ffi::c_char,
2132        arg3: *const core::ffi::c_char,
2133    ) -> core::ffi::c_int;
2134    pub fn nng_tls_config_own_cert(
2135        arg1: *mut nng_tls_config,
2136        arg2: *const core::ffi::c_char,
2137        arg3: *const core::ffi::c_char,
2138        arg4: *const core::ffi::c_char,
2139    ) -> core::ffi::c_int;
2140    pub fn nng_tls_config_key(
2141        arg1: *mut nng_tls_config,
2142        arg2: *const u8,
2143        arg3: usize,
2144    ) -> core::ffi::c_int;
2145    pub fn nng_tls_config_pass(
2146        arg1: *mut nng_tls_config,
2147        arg2: *const core::ffi::c_char,
2148    ) -> core::ffi::c_int;
2149    pub fn nng_tls_config_auth_mode(
2150        arg1: *mut nng_tls_config,
2151        arg2: nng_tls_auth_mode::Type,
2152    ) -> core::ffi::c_int;
2153    pub fn nng_tls_config_ca_file(
2154        arg1: *mut nng_tls_config,
2155        arg2: *const core::ffi::c_char,
2156    ) -> core::ffi::c_int;
2157    pub fn nng_tls_config_cert_key_file(
2158        arg1: *mut nng_tls_config,
2159        arg2: *const core::ffi::c_char,
2160        arg3: *const core::ffi::c_char,
2161    ) -> core::ffi::c_int;
2162    pub fn nng_tls_config_psk(
2163        arg1: *mut nng_tls_config,
2164        arg2: *const core::ffi::c_char,
2165        arg3: *const u8,
2166        arg4: usize,
2167    ) -> core::ffi::c_int;
2168    pub fn nng_tls_config_version(
2169        arg1: *mut nng_tls_config,
2170        arg2: nng_tls_version::Type,
2171        arg3: nng_tls_version::Type,
2172    ) -> core::ffi::c_int;
2173    pub fn nng_tls_engine_name() -> *const core::ffi::c_char;
2174    pub fn nng_tls_engine_description() -> *const core::ffi::c_char;
2175    pub fn nng_tls_engine_fips_mode() -> bool;
2176}