]> sigrok.org Git - libserialport.git/blobdiff - libserialport.h.in
Add sp_start_break() and sp_end_break() functions.
[libserialport.git] / libserialport.h.in
index fa5ba1a829c95a96be03a84c1ab370972d97b2f0..704ffed02fb8e02f9f3b5685f9c1640137687d5e 100644 (file)
@@ -109,6 +109,16 @@ enum sp_mode {
        SP_MODE_NONBLOCK = 4,
 };
 
+/** Buffer selection. */
+enum sp_buffer {
+       /** Input buffer. */
+       SP_BUF_INPUT = 1,
+       /** Output buffer. */
+       SP_BUF_OUTPUT = 2,
+       /** Both buffers. */
+       SP_BUF_BOTH = 3,
+};
+
 /** Parity settings. */
 enum sp_parity {
        /** Special value to indicate setting should be left alone. */
@@ -506,12 +516,45 @@ enum sp_return sp_read(struct sp_port *port, void *buf, size_t count);
 enum sp_return sp_write(struct sp_port *port, const void *buf, size_t count);
 
 /**
- * Flush serial port buffers.
+ * Flush serial port buffers. Data in the selected buffer(s) is discarded.
+ *
+ * @param port Pointer to port structure.
+ * @param buffers Which buffer(s) to flush.
+ *
+ * @return SP_OK on success, SP_ERR_FAIL on failure, or SP_ERR_ARG
+ *         if an invalid port is passed.
+ */
+enum sp_return sp_flush(struct sp_port *port, enum sp_buffer buffers);
+
+/**
+ * Wait for buffered data to be transmitted.
+ *
+ * @return SP_OK on success, SP_ERR_FAIL on failure, or SP_ERR_ARG
+ *         if an invalid port is passed.
+ */
+enum sp_return sp_drain(struct sp_port *port);
+
+/**
+ * @}
+ * @defgroup Signal Port signalling operations
+ * @{
+ */
+
+/**
+ * Put the port transmit line into the break state.
+ *
+ * @return SP_OK on success, SP_ERR_FAIL on failure, or SP_ERR_ARG
+ *         if an invalid port is passed.
+ */
+enum sp_return sp_start_break(struct sp_port *port);
+
+/**
+ * Take the port transmit line out of the break state.
  *
  * @return SP_OK on success, SP_ERR_FAIL on failure, or SP_ERR_ARG
  *         if an invalid port is passed.
  */
-enum sp_return sp_flush(struct sp_port *port);
+enum sp_return sp_end_break(struct sp_port *port);
 
 /**
  * @}