1#![cfg_attr(not(feature = "std"), no_std)]
51#![allow(non_upper_case_globals)]
53#![allow(non_camel_case_types)]
54#![allow(non_snake_case)]
55#![allow(clippy::all)]
57
58mod bindings {
60 include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
61}
62
63#[cfg(try_from)]
64use core::convert::TryFrom;
65
66pub use crate::bindings::*;
67
68impl nng_pipe {
69 pub const NNG_PIPE_INITIALIZER: nng_pipe = nng_pipe {
70 _bindgen_opaque_blob: 0,
71 };
72}
73
74impl nng_socket {
75 pub const NNG_SOCKET_INITIALIZER: nng_socket = nng_socket {
76 _bindgen_opaque_blob: 0,
77 };
78}
79
80impl nng_dialer {
81 pub const NNG_DIALER_INITIALIZER: nng_dialer = nng_dialer {
82 _bindgen_opaque_blob: 0,
83 };
84}
85
86impl nng_listener {
87 pub const NNG_LISTENER_INITIALIZER: nng_listener = nng_listener {
88 _bindgen_opaque_blob: 0,
89 };
90}
91
92impl nng_ctx {
93 pub const NNG_CTX_INITIALIZER: nng_ctx = nng_ctx {
94 _bindgen_opaque_blob: 0,
95 };
96}
97
98#[derive(Debug, Copy, Clone, PartialEq, Eq)]
100#[cfg(try_from)]
101pub struct EnumFromIntError(pub i32);
102
103#[cfg(all(try_from, feature = "std"))]
104impl std::fmt::Display for EnumFromIntError {
105 fn fmt(&self, fmt: &mut std::fmt::Formatter) -> std::fmt::Result {
106 write!(fmt, "EnumFromIntError({})", self.0)
107 }
108}
109
110impl nng_stat_type_enum {
111 pub fn try_convert_from(value: i32) -> Option<Self> {
113 use crate::nng_stat_type_enum::*;
114 match value {
115 value if value == NNG_STAT_SCOPE as i32 => Some(NNG_STAT_SCOPE),
116 value if value == NNG_STAT_LEVEL as i32 => Some(NNG_STAT_LEVEL),
117 value if value == NNG_STAT_COUNTER as i32 => Some(NNG_STAT_COUNTER),
118 value if value == NNG_STAT_STRING as i32 => Some(NNG_STAT_STRING),
119 value if value == NNG_STAT_BOOLEAN as i32 => Some(NNG_STAT_BOOLEAN),
120 value if value == NNG_STAT_ID as i32 => Some(NNG_STAT_ID),
121 _ => None,
122 }
123 }
124}
125
126#[cfg(try_from)]
127impl TryFrom<i32> for nng_stat_type_enum {
128 type Error = EnumFromIntError;
129 fn try_from(value: i32) -> Result<Self, Self::Error> {
130 nng_stat_type_enum::try_convert_from(value).ok_or(EnumFromIntError(value))
131 }
132}
133
134impl nng_unit_enum {
135 pub fn try_convert_from(value: i32) -> Option<Self> {
137 use crate::nng_unit_enum::*;
138 match value {
139 value if value == NNG_UNIT_NONE as i32 => Some(NNG_UNIT_NONE),
140 value if value == NNG_UNIT_BYTES as i32 => Some(NNG_UNIT_BYTES),
141 value if value == NNG_UNIT_MESSAGES as i32 => Some(NNG_UNIT_MESSAGES),
142 value if value == NNG_UNIT_MILLIS as i32 => Some(NNG_UNIT_MILLIS),
143 value if value == NNG_UNIT_EVENTS as i32 => Some(NNG_UNIT_EVENTS),
144 _ => None,
145 }
146 }
147}
148
149#[cfg(try_from)]
150impl TryFrom<i32> for nng_unit_enum {
151 type Error = EnumFromIntError;
152 fn try_from(value: i32) -> Result<Self, Self::Error> {
153 nng_unit_enum::try_convert_from(value).ok_or(EnumFromIntError(value))
154 }
155}
156
157impl nng_sockaddr_family {
158 pub fn try_convert_from(value: i32) -> Option<Self> {
159 use crate::nng_sockaddr_family::*;
160 match value {
161 value if value == NNG_AF_UNSPEC as i32 => Some(NNG_AF_UNSPEC),
162 value if value == NNG_AF_INPROC as i32 => Some(NNG_AF_INPROC),
163 value if value == NNG_AF_IPC as i32 => Some(NNG_AF_IPC),
164 value if value == NNG_AF_INET as i32 => Some(NNG_AF_INET),
165 value if value == NNG_AF_INET6 as i32 => Some(NNG_AF_INET6),
166 value if value == NNG_AF_ZT as i32 => Some(NNG_AF_ZT),
167 _ => None,
168 }
169 }
170}
171
172#[cfg(try_from)]
173impl TryFrom<i32> for nng_sockaddr_family {
174 type Error = EnumFromIntError;
175 fn try_from(value: i32) -> Result<Self, Self::Error> {
176 nng_sockaddr_family::try_convert_from(value).ok_or(EnumFromIntError(value))
177 }
178}