Revision control

Copy as Markdown

Other Tools

// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use ctypes::c_char;
use shared::minwindef::{BOOL, DWORD, LPDWORD};
use um::minwinbase::LPOVERLAPPED;
use um::winbase::{LPCOMMCONFIG, LPCOMMPROP, LPCOMMTIMEOUTS, LPCOMSTAT, LPDCB};
use um::winnt::HANDLE;
extern "system" {
pub fn ClearCommBreak(
hFile: HANDLE,
) -> BOOL;
pub fn ClearCommError(
hFile: HANDLE,
lpErrors: LPDWORD,
lpStat: LPCOMSTAT,
) -> BOOL;
pub fn SetupComm(
hFile: HANDLE,
dwInQueue: DWORD,
dwOutQueue: DWORD,
) -> BOOL;
pub fn EscapeCommFunction(
hFile: HANDLE,
dwFunc: DWORD,
) -> BOOL;
pub fn GetCommConfig(
hCommDev: HANDLE,
lpCC: LPCOMMCONFIG,
lpdwSize: LPDWORD,
) -> BOOL;
pub fn GetCommMask(
hFile: HANDLE,
lpEvtMask: LPDWORD,
) -> BOOL;
pub fn GetCommModemStatus(
hFile: HANDLE,
lpModemStat: LPDWORD,
) -> BOOL;
pub fn GetCommProperties(
hFile: HANDLE,
lpCommProp: LPCOMMPROP,
) -> BOOL;
pub fn GetCommState(
hFile: HANDLE,
lpDCB: LPDCB,
) -> BOOL;
pub fn GetCommTimeouts(
hFile: HANDLE,
lpCommTimeouts: LPCOMMTIMEOUTS,
) -> BOOL;
pub fn PurgeComm(
hFile: HANDLE,
dwFlags: DWORD,
) -> BOOL;
pub fn SetCommBreak(
hFile: HANDLE,
) -> BOOL;
pub fn SetCommConfig(
hCommDev: HANDLE,
lpCC: LPCOMMCONFIG,
dwSize: DWORD,
) -> BOOL;
pub fn SetCommMask(
hFile: HANDLE,
dwEvtMask: DWORD,
) -> BOOL;
pub fn SetCommState(
hFile: HANDLE,
lpDCB: LPDCB,
) -> BOOL;
pub fn SetCommTimeouts(
hFile: HANDLE,
lpCommTimeouts: LPCOMMTIMEOUTS,
) -> BOOL;
pub fn TransmitCommChar(
hFile: HANDLE,
cChar: c_char,
) -> BOOL;
pub fn WaitCommEvent(
hFile: HANDLE,
lpEvtMask: LPDWORD,
lpOverlapped: LPOVERLAPPED,
) -> BOOL;
}