Awaiting events on multiple ports.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
if (argc < 2) {
printf("Usage: %s <port name>...\n", argv[0]);
return -1;
}
int num_ports = argc - 1;
char **port_names = argv + 1;
struct sp_port **ports = malloc(num_ports *
sizeof(
struct sp_port *));
if (!ports)
abort();
for (int i = 0; i < num_ports; i++) {
printf("Looking for port %s.\n", port_names[i]);
printf("Opening port.\n");
printf("Setting port to 9600 8N1, no flow control.\n");
printf("Adding port RX event to event set.\n");
}
printf("Waiting up to 5 seconds for RX on any port...\n");
for (int i = 0; i < num_ports; i++) {
printf("Port %s: %d bytes received.\n",
}
for (int i = 0; i < num_ports; i++) {
}
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;
}
}