1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4     #[cfg(feature = "Win32_Foundation")]
BuildCommDCBA(lpdef: super::super::Foundation::PSTR, lpdcb: *mut DCB) -> super::super::Foundation::BOOL5     pub fn BuildCommDCBA(lpdef: super::super::Foundation::PSTR, lpdcb: *mut DCB) -> super::super::Foundation::BOOL;
6     #[cfg(feature = "Win32_Foundation")]
BuildCommDCBAndTimeoutsA(lpdef: super::super::Foundation::PSTR, lpdcb: *mut DCB, lpcommtimeouts: *mut COMMTIMEOUTS) -> super::super::Foundation::BOOL7     pub fn BuildCommDCBAndTimeoutsA(lpdef: super::super::Foundation::PSTR, lpdcb: *mut DCB, lpcommtimeouts: *mut COMMTIMEOUTS) -> super::super::Foundation::BOOL;
8     #[cfg(feature = "Win32_Foundation")]
BuildCommDCBAndTimeoutsW(lpdef: super::super::Foundation::PWSTR, lpdcb: *mut DCB, lpcommtimeouts: *mut COMMTIMEOUTS) -> super::super::Foundation::BOOL9     pub fn BuildCommDCBAndTimeoutsW(lpdef: super::super::Foundation::PWSTR, lpdcb: *mut DCB, lpcommtimeouts: *mut COMMTIMEOUTS) -> super::super::Foundation::BOOL;
10     #[cfg(feature = "Win32_Foundation")]
BuildCommDCBW(lpdef: super::super::Foundation::PWSTR, lpdcb: *mut DCB) -> super::super::Foundation::BOOL11     pub fn BuildCommDCBW(lpdef: super::super::Foundation::PWSTR, lpdcb: *mut DCB) -> super::super::Foundation::BOOL;
12     #[cfg(feature = "Win32_Foundation")]
ClearCommBreak(hfile: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL13     pub fn ClearCommBreak(hfile: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
14     #[cfg(feature = "Win32_Foundation")]
ClearCommError(hfile: super::super::Foundation::HANDLE, lperrors: *mut CLEAR_COMM_ERROR_FLAGS, lpstat: *mut COMSTAT) -> super::super::Foundation::BOOL15     pub fn ClearCommError(hfile: super::super::Foundation::HANDLE, lperrors: *mut CLEAR_COMM_ERROR_FLAGS, lpstat: *mut COMSTAT) -> super::super::Foundation::BOOL;
16     #[cfg(feature = "Win32_Foundation")]
CommConfigDialogA(lpszname: super::super::Foundation::PSTR, hwnd: super::super::Foundation::HWND, lpcc: *mut COMMCONFIG) -> super::super::Foundation::BOOL17     pub fn CommConfigDialogA(lpszname: super::super::Foundation::PSTR, hwnd: super::super::Foundation::HWND, lpcc: *mut COMMCONFIG) -> super::super::Foundation::BOOL;
18     #[cfg(feature = "Win32_Foundation")]
CommConfigDialogW(lpszname: super::super::Foundation::PWSTR, hwnd: super::super::Foundation::HWND, lpcc: *mut COMMCONFIG) -> super::super::Foundation::BOOL19     pub fn CommConfigDialogW(lpszname: super::super::Foundation::PWSTR, hwnd: super::super::Foundation::HWND, lpcc: *mut COMMCONFIG) -> super::super::Foundation::BOOL;
20     #[cfg(feature = "Win32_Foundation")]
EscapeCommFunction(hfile: super::super::Foundation::HANDLE, dwfunc: ESCAPE_COMM_FUNCTION) -> super::super::Foundation::BOOL21     pub fn EscapeCommFunction(hfile: super::super::Foundation::HANDLE, dwfunc: ESCAPE_COMM_FUNCTION) -> super::super::Foundation::BOOL;
22     #[cfg(feature = "Win32_Foundation")]
GetCommConfig(hcommdev: super::super::Foundation::HANDLE, lpcc: *mut COMMCONFIG, lpdwsize: *mut u32) -> super::super::Foundation::BOOL23     pub fn GetCommConfig(hcommdev: super::super::Foundation::HANDLE, lpcc: *mut COMMCONFIG, lpdwsize: *mut u32) -> super::super::Foundation::BOOL;
24     #[cfg(feature = "Win32_Foundation")]
GetCommMask(hfile: super::super::Foundation::HANDLE, lpevtmask: *mut COMM_EVENT_MASK) -> super::super::Foundation::BOOL25     pub fn GetCommMask(hfile: super::super::Foundation::HANDLE, lpevtmask: *mut COMM_EVENT_MASK) -> super::super::Foundation::BOOL;
26     #[cfg(feature = "Win32_Foundation")]
GetCommModemStatus(hfile: super::super::Foundation::HANDLE, lpmodemstat: *mut MODEM_STATUS_FLAGS) -> super::super::Foundation::BOOL27     pub fn GetCommModemStatus(hfile: super::super::Foundation::HANDLE, lpmodemstat: *mut MODEM_STATUS_FLAGS) -> super::super::Foundation::BOOL;
GetCommPorts(lpportnumbers: *mut u32, uportnumberscount: u32, puportnumbersfound: *mut u32) -> u3228     pub fn GetCommPorts(lpportnumbers: *mut u32, uportnumberscount: u32, puportnumbersfound: *mut u32) -> u32;
29     #[cfg(feature = "Win32_Foundation")]
GetCommProperties(hfile: super::super::Foundation::HANDLE, lpcommprop: *mut COMMPROP) -> super::super::Foundation::BOOL30     pub fn GetCommProperties(hfile: super::super::Foundation::HANDLE, lpcommprop: *mut COMMPROP) -> super::super::Foundation::BOOL;
31     #[cfg(feature = "Win32_Foundation")]
GetCommState(hfile: super::super::Foundation::HANDLE, lpdcb: *mut DCB) -> super::super::Foundation::BOOL32     pub fn GetCommState(hfile: super::super::Foundation::HANDLE, lpdcb: *mut DCB) -> super::super::Foundation::BOOL;
33     #[cfg(feature = "Win32_Foundation")]
GetCommTimeouts(hfile: super::super::Foundation::HANDLE, lpcommtimeouts: *mut COMMTIMEOUTS) -> super::super::Foundation::BOOL34     pub fn GetCommTimeouts(hfile: super::super::Foundation::HANDLE, lpcommtimeouts: *mut COMMTIMEOUTS) -> super::super::Foundation::BOOL;
35     #[cfg(feature = "Win32_Foundation")]
GetDefaultCommConfigA(lpszname: super::super::Foundation::PSTR, lpcc: *mut COMMCONFIG, lpdwsize: *mut u32) -> super::super::Foundation::BOOL36     pub fn GetDefaultCommConfigA(lpszname: super::super::Foundation::PSTR, lpcc: *mut COMMCONFIG, lpdwsize: *mut u32) -> super::super::Foundation::BOOL;
37     #[cfg(feature = "Win32_Foundation")]
GetDefaultCommConfigW(lpszname: super::super::Foundation::PWSTR, lpcc: *mut COMMCONFIG, lpdwsize: *mut u32) -> super::super::Foundation::BOOL38     pub fn GetDefaultCommConfigW(lpszname: super::super::Foundation::PWSTR, lpcc: *mut COMMCONFIG, lpdwsize: *mut u32) -> super::super::Foundation::BOOL;
39     #[cfg(feature = "Win32_Foundation")]
OpenCommPort(uportnumber: u32, dwdesiredaccess: u32, dwflagsandattributes: u32) -> super::super::Foundation::HANDLE40     pub fn OpenCommPort(uportnumber: u32, dwdesiredaccess: u32, dwflagsandattributes: u32) -> super::super::Foundation::HANDLE;
41     #[cfg(feature = "Win32_Foundation")]
PurgeComm(hfile: super::super::Foundation::HANDLE, dwflags: PURGE_COMM_FLAGS) -> super::super::Foundation::BOOL42     pub fn PurgeComm(hfile: super::super::Foundation::HANDLE, dwflags: PURGE_COMM_FLAGS) -> super::super::Foundation::BOOL;
43     #[cfg(feature = "Win32_Foundation")]
SetCommBreak(hfile: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL44     pub fn SetCommBreak(hfile: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
45     #[cfg(feature = "Win32_Foundation")]
SetCommConfig(hcommdev: super::super::Foundation::HANDLE, lpcc: *const COMMCONFIG, dwsize: u32) -> super::super::Foundation::BOOL46     pub fn SetCommConfig(hcommdev: super::super::Foundation::HANDLE, lpcc: *const COMMCONFIG, dwsize: u32) -> super::super::Foundation::BOOL;
47     #[cfg(feature = "Win32_Foundation")]
SetCommMask(hfile: super::super::Foundation::HANDLE, dwevtmask: COMM_EVENT_MASK) -> super::super::Foundation::BOOL48     pub fn SetCommMask(hfile: super::super::Foundation::HANDLE, dwevtmask: COMM_EVENT_MASK) -> super::super::Foundation::BOOL;
49     #[cfg(feature = "Win32_Foundation")]
SetCommState(hfile: super::super::Foundation::HANDLE, lpdcb: *const DCB) -> super::super::Foundation::BOOL50     pub fn SetCommState(hfile: super::super::Foundation::HANDLE, lpdcb: *const DCB) -> super::super::Foundation::BOOL;
51     #[cfg(feature = "Win32_Foundation")]
SetCommTimeouts(hfile: super::super::Foundation::HANDLE, lpcommtimeouts: *const COMMTIMEOUTS) -> super::super::Foundation::BOOL52     pub fn SetCommTimeouts(hfile: super::super::Foundation::HANDLE, lpcommtimeouts: *const COMMTIMEOUTS) -> super::super::Foundation::BOOL;
53     #[cfg(feature = "Win32_Foundation")]
SetDefaultCommConfigA(lpszname: super::super::Foundation::PSTR, lpcc: *const COMMCONFIG, dwsize: u32) -> super::super::Foundation::BOOL54     pub fn SetDefaultCommConfigA(lpszname: super::super::Foundation::PSTR, lpcc: *const COMMCONFIG, dwsize: u32) -> super::super::Foundation::BOOL;
55     #[cfg(feature = "Win32_Foundation")]
SetDefaultCommConfigW(lpszname: super::super::Foundation::PWSTR, lpcc: *const COMMCONFIG, dwsize: u32) -> super::super::Foundation::BOOL56     pub fn SetDefaultCommConfigW(lpszname: super::super::Foundation::PWSTR, lpcc: *const COMMCONFIG, dwsize: u32) -> super::super::Foundation::BOOL;
57     #[cfg(feature = "Win32_Foundation")]
SetupComm(hfile: super::super::Foundation::HANDLE, dwinqueue: u32, dwoutqueue: u32) -> super::super::Foundation::BOOL58     pub fn SetupComm(hfile: super::super::Foundation::HANDLE, dwinqueue: u32, dwoutqueue: u32) -> super::super::Foundation::BOOL;
59     #[cfg(feature = "Win32_Foundation")]
TransmitCommChar(hfile: super::super::Foundation::HANDLE, cchar: super::super::Foundation::CHAR) -> super::super::Foundation::BOOL60     pub fn TransmitCommChar(hfile: super::super::Foundation::HANDLE, cchar: super::super::Foundation::CHAR) -> super::super::Foundation::BOOL;
61     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
WaitCommEvent(hfile: super::super::Foundation::HANDLE, lpevtmask: *mut COMM_EVENT_MASK, lpoverlapped: *mut super::super::System::IO::OVERLAPPED) -> super::super::Foundation::BOOL62     pub fn WaitCommEvent(hfile: super::super::Foundation::HANDLE, lpevtmask: *mut COMM_EVENT_MASK, lpoverlapped: *mut super::super::System::IO::OVERLAPPED) -> super::super::Foundation::BOOL;
63 }
64 pub type CLEAR_COMM_ERROR_FLAGS = u32;
65 pub const CE_BREAK: CLEAR_COMM_ERROR_FLAGS = 16u32;
66 pub const CE_FRAME: CLEAR_COMM_ERROR_FLAGS = 8u32;
67 pub const CE_OVERRUN: CLEAR_COMM_ERROR_FLAGS = 2u32;
68 pub const CE_RXOVER: CLEAR_COMM_ERROR_FLAGS = 1u32;
69 pub const CE_RXPARITY: CLEAR_COMM_ERROR_FLAGS = 4u32;
70 #[repr(C)]
71 #[cfg(feature = "Win32_Foundation")]
72 pub struct COMMCONFIG {
73     pub dwSize: u32,
74     pub wVersion: u16,
75     pub wReserved: u16,
76     pub dcb: DCB,
77     pub dwProviderSubType: u32,
78     pub dwProviderOffset: u32,
79     pub dwProviderSize: u32,
80     pub wcProviderData: [u16; 1],
81 }
82 #[cfg(feature = "Win32_Foundation")]
83 impl ::core::marker::Copy for COMMCONFIG {}
84 #[cfg(feature = "Win32_Foundation")]
85 impl ::core::clone::Clone for COMMCONFIG {
clone(&self) -> Self86     fn clone(&self) -> Self {
87         *self
88     }
89 }
90 #[repr(C)]
91 pub struct COMMPROP {
92     pub wPacketLength: u16,
93     pub wPacketVersion: u16,
94     pub dwServiceMask: u32,
95     pub dwReserved1: u32,
96     pub dwMaxTxQueue: u32,
97     pub dwMaxRxQueue: u32,
98     pub dwMaxBaud: u32,
99     pub dwProvSubType: u32,
100     pub dwProvCapabilities: u32,
101     pub dwSettableParams: u32,
102     pub dwSettableBaud: u32,
103     pub wSettableData: u16,
104     pub wSettableStopParity: COMMPROP_STOP_PARITY,
105     pub dwCurrentTxQueue: u32,
106     pub dwCurrentRxQueue: u32,
107     pub dwProvSpec1: u32,
108     pub dwProvSpec2: u32,
109     pub wcProvChar: [u16; 1],
110 }
111 impl ::core::marker::Copy for COMMPROP {}
112 impl ::core::clone::Clone for COMMPROP {
clone(&self) -> Self113     fn clone(&self) -> Self {
114         *self
115     }
116 }
117 pub type COMMPROP_STOP_PARITY = u16;
118 pub const STOPBITS_10: COMMPROP_STOP_PARITY = 1u16;
119 pub const STOPBITS_15: COMMPROP_STOP_PARITY = 2u16;
120 pub const STOPBITS_20: COMMPROP_STOP_PARITY = 4u16;
121 pub const PARITY_NONE: COMMPROP_STOP_PARITY = 256u16;
122 pub const PARITY_ODD: COMMPROP_STOP_PARITY = 512u16;
123 pub const PARITY_EVEN: COMMPROP_STOP_PARITY = 1024u16;
124 pub const PARITY_MARK: COMMPROP_STOP_PARITY = 2048u16;
125 pub const PARITY_SPACE: COMMPROP_STOP_PARITY = 4096u16;
126 #[repr(C)]
127 pub struct COMMTIMEOUTS {
128     pub ReadIntervalTimeout: u32,
129     pub ReadTotalTimeoutMultiplier: u32,
130     pub ReadTotalTimeoutConstant: u32,
131     pub WriteTotalTimeoutMultiplier: u32,
132     pub WriteTotalTimeoutConstant: u32,
133 }
134 impl ::core::marker::Copy for COMMTIMEOUTS {}
135 impl ::core::clone::Clone for COMMTIMEOUTS {
clone(&self) -> Self136     fn clone(&self) -> Self {
137         *self
138     }
139 }
140 pub type COMM_EVENT_MASK = u32;
141 pub const EV_BREAK: COMM_EVENT_MASK = 64u32;
142 pub const EV_CTS: COMM_EVENT_MASK = 8u32;
143 pub const EV_DSR: COMM_EVENT_MASK = 16u32;
144 pub const EV_ERR: COMM_EVENT_MASK = 128u32;
145 pub const EV_EVENT1: COMM_EVENT_MASK = 2048u32;
146 pub const EV_EVENT2: COMM_EVENT_MASK = 4096u32;
147 pub const EV_PERR: COMM_EVENT_MASK = 512u32;
148 pub const EV_RING: COMM_EVENT_MASK = 256u32;
149 pub const EV_RLSD: COMM_EVENT_MASK = 32u32;
150 pub const EV_RX80FULL: COMM_EVENT_MASK = 1024u32;
151 pub const EV_RXCHAR: COMM_EVENT_MASK = 1u32;
152 pub const EV_RXFLAG: COMM_EVENT_MASK = 2u32;
153 pub const EV_TXEMPTY: COMM_EVENT_MASK = 4u32;
154 #[repr(C)]
155 pub struct COMSTAT {
156     pub _bitfield: u32,
157     pub cbInQue: u32,
158     pub cbOutQue: u32,
159 }
160 impl ::core::marker::Copy for COMSTAT {}
161 impl ::core::clone::Clone for COMSTAT {
clone(&self) -> Self162     fn clone(&self) -> Self {
163         *self
164     }
165 }
166 #[repr(C)]
167 #[cfg(feature = "Win32_Foundation")]
168 pub struct DCB {
169     pub DCBlength: u32,
170     pub BaudRate: u32,
171     pub _bitfield: u32,
172     pub wReserved: u16,
173     pub XonLim: u16,
174     pub XoffLim: u16,
175     pub ByteSize: u8,
176     pub Parity: u8,
177     pub StopBits: u8,
178     pub XonChar: super::super::Foundation::CHAR,
179     pub XoffChar: super::super::Foundation::CHAR,
180     pub ErrorChar: super::super::Foundation::CHAR,
181     pub EofChar: super::super::Foundation::CHAR,
182     pub EvtChar: super::super::Foundation::CHAR,
183     pub wReserved1: u16,
184 }
185 #[cfg(feature = "Win32_Foundation")]
186 impl ::core::marker::Copy for DCB {}
187 #[cfg(feature = "Win32_Foundation")]
188 impl ::core::clone::Clone for DCB {
clone(&self) -> Self189     fn clone(&self) -> Self {
190         *self
191     }
192 }
193 pub type ESCAPE_COMM_FUNCTION = u32;
194 pub const CLRBREAK: ESCAPE_COMM_FUNCTION = 9u32;
195 pub const CLRDTR: ESCAPE_COMM_FUNCTION = 6u32;
196 pub const CLRRTS: ESCAPE_COMM_FUNCTION = 4u32;
197 pub const SETBREAK: ESCAPE_COMM_FUNCTION = 8u32;
198 pub const SETDTR: ESCAPE_COMM_FUNCTION = 5u32;
199 pub const SETRTS: ESCAPE_COMM_FUNCTION = 3u32;
200 pub const SETXOFF: ESCAPE_COMM_FUNCTION = 1u32;
201 pub const SETXON: ESCAPE_COMM_FUNCTION = 2u32;
202 pub const MAXLENGTH_NAI: u32 = 72u32;
203 pub const MAXLENGTH_UICCDATASTORE: u32 = 10u32;
204 pub const MDM_ANALOG_RLP_OFF: u32 = 1u32;
205 pub const MDM_ANALOG_RLP_ON: u32 = 0u32;
206 pub const MDM_ANALOG_V34: u32 = 2u32;
207 pub const MDM_AUTO_ML_2: u32 = 2u32;
208 pub const MDM_AUTO_ML_DEFAULT: u32 = 0u32;
209 pub const MDM_AUTO_ML_NONE: u32 = 1u32;
210 pub const MDM_AUTO_SPEED_DEFAULT: u32 = 0u32;
211 pub const MDM_BEARERMODE_ANALOG: u32 = 0u32;
212 pub const MDM_BEARERMODE_GSM: u32 = 2u32;
213 pub const MDM_BEARERMODE_ISDN: u32 = 1u32;
214 pub const MDM_BLIND_DIAL: u32 = 512u32;
215 pub const MDM_CCITT_OVERRIDE: u32 = 64u32;
216 pub const MDM_CELLULAR: u32 = 8u32;
217 pub const MDM_COMPRESSION: u32 = 1u32;
218 pub const MDM_DIAGNOSTICS: u32 = 2048u32;
219 pub const MDM_ERROR_CONTROL: u32 = 2u32;
220 pub const MDM_FLOWCONTROL_HARD: u32 = 16u32;
221 pub const MDM_FLOWCONTROL_SOFT: u32 = 32u32;
222 pub const MDM_FORCED_EC: u32 = 4u32;
223 pub const MDM_HDLCPPP_AUTH_CHAP: u32 = 3u32;
224 pub const MDM_HDLCPPP_AUTH_DEFAULT: u32 = 0u32;
225 pub const MDM_HDLCPPP_AUTH_MSCHAP: u32 = 4u32;
226 pub const MDM_HDLCPPP_AUTH_NONE: u32 = 1u32;
227 pub const MDM_HDLCPPP_AUTH_PAP: u32 = 2u32;
228 pub const MDM_HDLCPPP_ML_2: u32 = 2u32;
229 pub const MDM_HDLCPPP_ML_DEFAULT: u32 = 0u32;
230 pub const MDM_HDLCPPP_ML_NONE: u32 = 1u32;
231 pub const MDM_HDLCPPP_SPEED_56K: u32 = 2u32;
232 pub const MDM_HDLCPPP_SPEED_64K: u32 = 1u32;
233 pub const MDM_HDLCPPP_SPEED_DEFAULT: u32 = 0u32;
234 pub const MDM_MASK_AUTO_SPEED: u32 = 7u32;
235 pub const MDM_MASK_BEARERMODE: u32 = 61440u32;
236 pub const MDM_MASK_HDLCPPP_SPEED: u32 = 7u32;
237 pub const MDM_MASK_PROTOCOLDATA: u32 = 267386880u32;
238 pub const MDM_MASK_PROTOCOLID: u32 = 983040u32;
239 pub const MDM_MASK_V110_SPEED: u32 = 15u32;
240 pub const MDM_MASK_V120_SPEED: u32 = 7u32;
241 pub const MDM_MASK_X75_DATA: u32 = 7u32;
242 pub const MDM_PIAFS_INCOMING: u32 = 0u32;
243 pub const MDM_PIAFS_OUTGOING: u32 = 1u32;
244 pub const MDM_PROTOCOLID_ANALOG: u32 = 7u32;
245 pub const MDM_PROTOCOLID_AUTO: u32 = 6u32;
246 pub const MDM_PROTOCOLID_DEFAULT: u32 = 0u32;
247 pub const MDM_PROTOCOLID_GPRS: u32 = 8u32;
248 pub const MDM_PROTOCOLID_HDLCPPP: u32 = 1u32;
249 pub const MDM_PROTOCOLID_PIAFS: u32 = 9u32;
250 pub const MDM_PROTOCOLID_V110: u32 = 4u32;
251 pub const MDM_PROTOCOLID_V120: u32 = 5u32;
252 pub const MDM_PROTOCOLID_V128: u32 = 2u32;
253 pub const MDM_PROTOCOLID_X75: u32 = 3u32;
254 pub const MDM_SHIFT_AUTO_ML: u32 = 6u32;
255 pub const MDM_SHIFT_AUTO_SPEED: u32 = 0u32;
256 pub const MDM_SHIFT_BEARERMODE: u32 = 12u32;
257 pub const MDM_SHIFT_EXTENDEDINFO: u32 = 12u32;
258 pub const MDM_SHIFT_HDLCPPP_AUTH: u32 = 3u32;
259 pub const MDM_SHIFT_HDLCPPP_ML: u32 = 6u32;
260 pub const MDM_SHIFT_HDLCPPP_SPEED: u32 = 0u32;
261 pub const MDM_SHIFT_PROTOCOLDATA: u32 = 20u32;
262 pub const MDM_SHIFT_PROTOCOLID: u32 = 16u32;
263 pub const MDM_SHIFT_PROTOCOLINFO: u32 = 16u32;
264 pub const MDM_SHIFT_V110_SPEED: u32 = 0u32;
265 pub const MDM_SHIFT_V120_ML: u32 = 6u32;
266 pub const MDM_SHIFT_V120_SPEED: u32 = 0u32;
267 pub const MDM_SHIFT_X75_DATA: u32 = 0u32;
268 pub const MDM_SPEED_ADJUST: u32 = 128u32;
269 pub const MDM_TONE_DIAL: u32 = 256u32;
270 pub const MDM_V110_SPEED_12DOT0K: u32 = 5u32;
271 pub const MDM_V110_SPEED_14DOT4K: u32 = 6u32;
272 pub const MDM_V110_SPEED_19DOT2K: u32 = 7u32;
273 pub const MDM_V110_SPEED_1DOT2K: u32 = 1u32;
274 pub const MDM_V110_SPEED_28DOT8K: u32 = 8u32;
275 pub const MDM_V110_SPEED_2DOT4K: u32 = 2u32;
276 pub const MDM_V110_SPEED_38DOT4K: u32 = 9u32;
277 pub const MDM_V110_SPEED_4DOT8K: u32 = 3u32;
278 pub const MDM_V110_SPEED_57DOT6K: u32 = 10u32;
279 pub const MDM_V110_SPEED_9DOT6K: u32 = 4u32;
280 pub const MDM_V110_SPEED_DEFAULT: u32 = 0u32;
281 pub const MDM_V120_ML_2: u32 = 2u32;
282 pub const MDM_V120_ML_DEFAULT: u32 = 0u32;
283 pub const MDM_V120_ML_NONE: u32 = 1u32;
284 pub const MDM_V120_SPEED_56K: u32 = 2u32;
285 pub const MDM_V120_SPEED_64K: u32 = 1u32;
286 pub const MDM_V120_SPEED_DEFAULT: u32 = 0u32;
287 pub const MDM_V23_OVERRIDE: u32 = 1024u32;
288 pub const MDM_X75_DATA_128K: u32 = 2u32;
289 pub const MDM_X75_DATA_64K: u32 = 1u32;
290 pub const MDM_X75_DATA_BTX: u32 = 4u32;
291 pub const MDM_X75_DATA_DEFAULT: u32 = 0u32;
292 pub const MDM_X75_DATA_T_70: u32 = 3u32;
293 #[repr(C)]
294 pub struct MODEMDEVCAPS {
295     pub dwActualSize: u32,
296     pub dwRequiredSize: u32,
297     pub dwDevSpecificOffset: u32,
298     pub dwDevSpecificSize: u32,
299     pub dwModemProviderVersion: u32,
300     pub dwModemManufacturerOffset: u32,
301     pub dwModemManufacturerSize: u32,
302     pub dwModemModelOffset: u32,
303     pub dwModemModelSize: u32,
304     pub dwModemVersionOffset: u32,
305     pub dwModemVersionSize: u32,
306     pub dwDialOptions: MODEMDEVCAPS_DIAL_OPTIONS,
307     pub dwCallSetupFailTimer: u32,
308     pub dwInactivityTimeout: u32,
309     pub dwSpeakerVolume: MODEMDEVCAPS_SPEAKER_VOLUME,
310     pub dwSpeakerMode: MODEMDEVCAPS_SPEAKER_MODE,
311     pub dwModemOptions: u32,
312     pub dwMaxDTERate: u32,
313     pub dwMaxDCERate: u32,
314     pub abVariablePortion: [u8; 1],
315 }
316 impl ::core::marker::Copy for MODEMDEVCAPS {}
317 impl ::core::clone::Clone for MODEMDEVCAPS {
clone(&self) -> Self318     fn clone(&self) -> Self {
319         *self
320     }
321 }
322 pub type MODEMDEVCAPS_DIAL_OPTIONS = u32;
323 pub const DIALOPTION_BILLING: MODEMDEVCAPS_DIAL_OPTIONS = 64u32;
324 pub const DIALOPTION_DIALTONE: MODEMDEVCAPS_DIAL_OPTIONS = 256u32;
325 pub const DIALOPTION_QUIET: MODEMDEVCAPS_DIAL_OPTIONS = 128u32;
326 pub type MODEMDEVCAPS_SPEAKER_MODE = u32;
327 pub const MDMSPKRFLAG_CALLSETUP: MODEMDEVCAPS_SPEAKER_MODE = 8u32;
328 pub const MDMSPKRFLAG_DIAL: MODEMDEVCAPS_SPEAKER_MODE = 2u32;
329 pub const MDMSPKRFLAG_OFF: MODEMDEVCAPS_SPEAKER_MODE = 1u32;
330 pub const MDMSPKRFLAG_ON: MODEMDEVCAPS_SPEAKER_MODE = 4u32;
331 pub type MODEMDEVCAPS_SPEAKER_VOLUME = u32;
332 pub const MDMVOLFLAG_HIGH: MODEMDEVCAPS_SPEAKER_VOLUME = 4u32;
333 pub const MDMVOLFLAG_LOW: MODEMDEVCAPS_SPEAKER_VOLUME = 1u32;
334 pub const MDMVOLFLAG_MEDIUM: MODEMDEVCAPS_SPEAKER_VOLUME = 2u32;
335 #[repr(C)]
336 pub struct MODEMSETTINGS {
337     pub dwActualSize: u32,
338     pub dwRequiredSize: u32,
339     pub dwDevSpecificOffset: u32,
340     pub dwDevSpecificSize: u32,
341     pub dwCallSetupFailTimer: u32,
342     pub dwInactivityTimeout: u32,
343     pub dwSpeakerVolume: MODEM_SPEAKER_VOLUME,
344     pub dwSpeakerMode: MODEMSETTINGS_SPEAKER_MODE,
345     pub dwPreferredModemOptions: u32,
346     pub dwNegotiatedModemOptions: u32,
347     pub dwNegotiatedDCERate: u32,
348     pub abVariablePortion: [u8; 1],
349 }
350 impl ::core::marker::Copy for MODEMSETTINGS {}
351 impl ::core::clone::Clone for MODEMSETTINGS {
clone(&self) -> Self352     fn clone(&self) -> Self {
353         *self
354     }
355 }
356 pub type MODEMSETTINGS_SPEAKER_MODE = u32;
357 pub const MDMSPKR_CALLSETUP: MODEMSETTINGS_SPEAKER_MODE = 8u32;
358 pub const MDMSPKR_DIAL: MODEMSETTINGS_SPEAKER_MODE = 2u32;
359 pub const MDMSPKR_OFF: MODEMSETTINGS_SPEAKER_MODE = 1u32;
360 pub const MDMSPKR_ON: MODEMSETTINGS_SPEAKER_MODE = 4u32;
361 pub type MODEM_SPEAKER_VOLUME = u32;
362 pub const MDMVOL_HIGH: MODEM_SPEAKER_VOLUME = 2u32;
363 pub const MDMVOL_LOW: MODEM_SPEAKER_VOLUME = 0u32;
364 pub const MDMVOL_MEDIUM: MODEM_SPEAKER_VOLUME = 1u32;
365 pub type MODEM_STATUS_FLAGS = u32;
366 pub const MS_CTS_ON: MODEM_STATUS_FLAGS = 16u32;
367 pub const MS_DSR_ON: MODEM_STATUS_FLAGS = 32u32;
368 pub const MS_RING_ON: MODEM_STATUS_FLAGS = 64u32;
369 pub const MS_RLSD_ON: MODEM_STATUS_FLAGS = 128u32;
370 pub type PURGE_COMM_FLAGS = u32;
371 pub const PURGE_RXABORT: PURGE_COMM_FLAGS = 2u32;
372 pub const PURGE_RXCLEAR: PURGE_COMM_FLAGS = 8u32;
373 pub const PURGE_TXABORT: PURGE_COMM_FLAGS = 1u32;
374 pub const PURGE_TXCLEAR: PURGE_COMM_FLAGS = 4u32;
375 pub const SID_3GPP_SUPSVCMODEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
376     data1: 3620769287,
377     data2: 55143,
378     data3: 17528,
379     data4: [177, 74, 238, 204, 135, 234, 18, 247],
380 };
381