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