static u32 ser_baud_to_id( u32 baud ) { switch( baud ) { BAUDCASE( 1200 ); BAUDCASE( 1800 ); BAUDCASE( 2400 ); BAUDCASE( 4800 ); BAUDCASE( 9600 ); BAUDCASE( 19200 ); BAUDCASE( 38400 ); BAUDCASE( 57600 ); BAUDCASE( 115200 ); BAUDCASE( 230400 ); } return 0; }
/* Called to convert a int baud to the POSIX enum value */ static speed_t gpio_serial_baudconv(int baud) { #define BAUDCASE(x) case (x): { ret = B##x; break; } speed_t ret; ret = (speed_t) baud; switch (baud) { /* POSIX defined baudrates */ BAUDCASE(0); BAUDCASE(50); BAUDCASE(75); BAUDCASE(110); BAUDCASE(134); BAUDCASE(150); BAUDCASE(200); BAUDCASE(300); BAUDCASE(600); BAUDCASE(1200); BAUDCASE(1800); BAUDCASE(2400); BAUDCASE(4800); BAUDCASE(9600); BAUDCASE(19200); BAUDCASE(38400); /* non POSIX values */ #ifdef B7200 BAUDCASE(7200); #endif #ifdef B14400 BAUDCASE(14400); #endif #ifdef B28800 BAUDCASE(28800); #endif #ifdef B57600 BAUDCASE(57600); #endif #ifdef B115200 BAUDCASE(115200); #endif #ifdef B230400 BAUDCASE(230400); #endif default: fprintf(stderr, "baudconv: baudrate %d is undefined; using as is\n", baud); } return ret; #undef BAUDCASE }
static speed_t gp_port_serial_baudconv (int baudrate) { #define BAUDCASE(x) case (x): { ret = B##x; break; } speed_t ret; switch (baudrate) { /* POSIX defined baudrates */ BAUDCASE(0); BAUDCASE(50); BAUDCASE(75); BAUDCASE(110); BAUDCASE(134); BAUDCASE(150); BAUDCASE(200); BAUDCASE(300); BAUDCASE(600); BAUDCASE(1200); BAUDCASE(1800); BAUDCASE(2400); BAUDCASE(4800); BAUDCASE(9600); BAUDCASE(19200); BAUDCASE(38400); /* non POSIX values */ #ifdef B7200 BAUDCASE(7200); #endif #ifdef B14400 BAUDCASE(14400); #endif #ifdef B28800 BAUDCASE(28800); #endif #ifdef B57600 BAUDCASE(57600); #endif #ifdef B115200 BAUDCASE(115200); #endif #ifdef B230400 BAUDCASE(230400); #endif default: ret = (speed_t) baudrate; gp_log (GP_LOG_DEBUG, "gphoto2-port-serial", "Baudrate %d " "unknown - using as is", baudrate); } return ret; #undef BAUDCASE }