]> sigrok.org Git - libserialport.git/commitdiff
Replace sp_set_params with sp_set_config, which takes a struct.
authorMartin Ling <redacted>
Thu, 14 Nov 2013 18:41:28 +0000 (18:41 +0000)
committerMartin Ling <redacted>
Fri, 15 Nov 2013 11:43:07 +0000 (11:43 +0000)
libserialport.h.in
serialport.c

index f9f5b243a9fa37923d69887b936a8855cce32dfc..9eb5e0cc626f477cb5250c95caa265f28db400ab 100644 (file)
@@ -52,6 +52,17 @@ struct sp_port {
 #endif
 };
 
+/* Configuration for a serial port. */
+struct sp_port_config {
+       int baudrate;
+       int bits;
+       int parity;
+       int stopbits;
+       int flowcontrol;
+       int rts;
+       int dtr;
+};
+
 /* Return values. */
 enum {
        /* Operation completed successfully. */
@@ -104,8 +115,7 @@ int sp_close(struct sp_port *port);
 int sp_flush(struct sp_port *port);
 int sp_write(struct sp_port *port, const void *buf, size_t count);
 int sp_read(struct sp_port *port, void *buf, size_t count);
-int sp_set_params(struct sp_port *port, int baudrate, int bits, int parity,
-               int stopbits, int flowcontrol, int rts, int dtr);
+int sp_set_config(struct sp_port *port, struct sp_port_config *config);
 int sp_last_error_code(void);
 char *sp_last_error_message(void);
 void sp_free_error_message(char *message);
index 5d8dabb59db77a5d6ec81049900a83a65abcb87c..3f6b35c8655564ac1fbf226a196f9fa6e1f70ae1 100644 (file)
@@ -821,19 +821,18 @@ static int apply_config(struct sp_port *port, struct sp_port_data *data)
 
 #define TRY(x) do { int ret = x; if (ret != SP_OK) return ret; } while (0)
 
-int sp_set_params(struct sp_port *port, int baudrate, int bits, int parity,
-               int stopbits, int flowcontrol, int rts, int dtr)
+int sp_set_config(struct sp_port *port, struct sp_port_config *config)
 {
        struct sp_port_data data;
 
        TRY(start_config(port, &data));
-       TRY(set_baudrate(&data, baudrate));
-       TRY(set_bits(&data, bits));
-       TRY(set_parity(&data, parity));
-       TRY(set_stopbits(&data, stopbits));
-       TRY(set_flowcontrol(&data, flowcontrol));
-       TRY(set_rts(&data, rts));
-       TRY(set_dtr(&data, dtr));
+       TRY(set_baudrate(&data, config->baudrate));
+       TRY(set_bits(&data, config->bits));
+       TRY(set_parity(&data, config->parity));
+       TRY(set_stopbits(&data, config->stopbits));
+       TRY(set_flowcontrol(&data, config->flowcontrol));
+       TRY(set_rts(&data, config->rts));
+       TRY(set_dtr(&data, config->dtr));
        TRY(apply_config(port, &data));
 
        return SP_OK;