/* * This file is part of the flashrom project. * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef __SERIAL_H__ #define __SERIAL_H__ 1 #if IS_WINDOWS typedef HANDLE fdtype; #define SER_INV_FD INVALID_HANDLE_VALUE #else typedef int fdtype; #define SER_INV_FD -1 #endif void sp_flush_incoming(void); fdtype sp_openserport(char *dev, int baud); extern fdtype sp_fd; int serialport_config(fdtype fd, int baud); int serialport_shutdown(void *data); int serialport_write(const unsigned char *buf, unsigned int writecnt); int serialport_write_nonblock(const unsigned char *buf, unsigned int writecnt, unsigned int timeout, unsigned int *really_wrote); int serialport_read(unsigned char *buf, unsigned int readcnt); int serialport_read_nonblock(unsigned char *c, unsigned int readcnt, unsigned int timeout, unsigned int *really_read); /* Serial port/pin mapping: 1 CD <- 2 RXD <- 3 TXD -> 4 DTR -> 5 GND -- 6 DSR <- 7 RTS -> 8 CTS <- 9 RI <- */ enum SP_PIN { PIN_CD = 1, PIN_RXD, PIN_TXD, PIN_DTR, PIN_GND, PIN_DSR, PIN_RTS, PIN_CTS, PIN_RI, }; void sp_set_pin(enum SP_PIN pin, int val); int sp_get_pin(enum SP_PIN pin); #endif /* !__SERIAL_H__ */