--- /dev/null
+baudrate,int,baud rate,Baud rate in bits per second
+bits,int,data bits,Number of data bits
+parity,enum sp_parity,parity setting,Parity setting
+stopbits,int,stop bits,Number of stop bits
+rts,enum sp_rts,RTS pin behaviour,RTS pin mode
+cts,enum sp_cts,CTS pin behaviour,CTS pin mode
+dtr,enum sp_dtr,DTR pin behaviour,DTR pin mode
+dsr,enum sp_dsr,DSR pin behaviour,DSR pin mode
+xon_xoff,enum sp_xonxoff,XON/XOFF configuration,XON/XOFF mode
--- /dev/null
+pattern = str.join('', open("config-pattern").readlines())
+for line in open("config-fields").readlines():
+ print pattern.format(*line.rstrip("\n").split(","))
--- /dev/null
+/**
+ * Set the {2} for the specified serial port.
+ *
+ * @param port Pointer to port structure.
+ * @param {0} {3}.
+ *
+ * @return SP_OK upon success, a negative error code otherwise.
+ */
+enum sp_return sp_set_{0}(struct sp_port *port, {1} {0});
+
+/**
+ * Get the {2} from a port configuration.
+ *
+ * The user should allocate a variable of type {1} and pass a pointer to this
+ * to receive the result.
+ *
+ * @param config Pointer to configuration structure.
+ * @param {0}_ptr Pointer to variable to store result.
+ *
+ * @return SP_OK upon success, a negative error code otherwise.
+ */
+enum sp_return sp_get_config_{0}(const struct sp_port_config *config, {1} *{0}_ptr);
+
+/**
+ * Set the {2} in a port configuration.
+ *
+ * @param config Pointer to configuration structure.
+ * @param {0} {3}, or -1 to retain current setting.
+ *
+ * @return SP_OK upon success, a negative error code otherwise.
+ */
+enum sp_return sp_set_config_{0}(struct sp_port_config *config, {1} {0});