X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=serialport.c;h=ab1baa76df2cadd5a8af15e5807c6e55c2a80e80;hb=90cc3ee62b267ba5009fddd72f63b411ad466faa;hp=6104f241a17cb34db7638ef00ac9cebaff4529ce;hpb=69a3739ca07a87d56e376a02f3bc1f0a0a9b64e7;p=libserialport.git diff --git a/serialport.c b/serialport.c index 6104f24..ab1baa7 100644 --- a/serialport.c +++ b/serialport.c @@ -1298,6 +1298,34 @@ enum sp_return sp_set_flowcontrol(struct sp_port *port, enum sp_flowcontrol flow return SP_OK; } +enum sp_return sp_start_break(struct sp_port *port) +{ + CHECK_PORT(); +#ifdef _WIN32 + if (SetCommBreak(port->hdl) == 0) + return SP_ERR_FAIL; +#else + if (ioctl(port->fd, TIOCSBRK, 1) < 0) + return SP_ERR_FAIL; +#endif + + return SP_OK; +} + +enum sp_return sp_end_break(struct sp_port *port) +{ + CHECK_PORT(); +#ifdef _WIN32 + if (ClearCommBreak(port->hdl) == 0) + return SP_ERR_FAIL; +#else + if (ioctl(port->fd, TIOCCBRK, 1) < 0) + return SP_ERR_FAIL; +#endif + + return SP_OK; +} + int sp_last_error_code(void) { #ifdef _WIN32