Accessing configuration settings of a port.
#include <stdio.h>
#include <stdlib.h>
const char *parity_name(
enum sp_parity parity);
int main(int argc, char **argv)
{
if (argc != 2) {
printf("Usage: %s <port name>\n", argv[0]);
return -1;
}
char *port_name = argv[1];
printf("Looking for port %s.\n", port_name);
printf("Opening port.\n");
printf("Setting port to 115200 8N1, no flow control.\n");
int baudrate, bits, stopbits;
printf("Baudrate: %d, data bits: %d, parity: %s, stop bits: %d\n",
baudrate, bits, parity_name(parity), stopbits);
printf("Creating new config for 9600 7E2, XON/XOFF flow control.\n");
printf("Applying new configuration.\n");
printf("Setting port back to previous config.\n");
return 0;
}
{
char *error_message;
switch (result) {
printf("Error: Invalid argument.\n");
abort();
printf("Error: Failed: %s\n", error_message);
abort();
printf("Error: Not supported.\n");
abort();
printf("Error: Couldn't allocate memory.\n");
abort();
default:
return result;
}
}
const char *parity_name(
enum sp_parity parity)
{
switch (parity) {
return "(Invalid)";
return "None";
return "Odd";
return "Even";
return "Mark";
return "Space";
default:
return NULL;
}
}