Preemptively, here are the error codes, extracted from the LUA source.
0= { "RS232_ERR_NOERROR", RS232_ERR_NOERROR },
1= { "RS232_ERR_UNKNOWN", RS232_ERR_UNKNOWN },
2= { "RS232_ERR_OPEN", RS232_ERR_OPEN },
3= { "RS232_ERR_CLOSE", RS232_ERR_CLOSE },
4= { "RS232_ERR_FLUSH", RS232_ERR_FLUSH },
5= { "RS232_ERR_CONFIG", RS232_ERR_CONFIG },
6= { "RS232_ERR_READ", RS232_ERR_READ },
7= { "RS232_ERR_WRITE", RS232_ERR_WRITE },
8= { "RS232_ERR_SELECT", RS232_ERR_SELECT },
9= { "RS232_ERR_TIMEOUT", RS232_ERR_TIMEOUT },
10= { "RS232_ERR_IOCTL", RS232_ERR_IOCTL },
11= { "RS232_ERR_PORT_CLOSED", RS232_ERR_PORT_CLOSED },
12= { "RS232_ERR_BREAK", RS232_ERR_BREAK },
13= { "RS232_ERR_FRAME", RS232_ERR_FRAME },
14= { "RS232_ERR_PARITY", RS232_ERR_PARITY },
15= { "RS232_ERR_RXOVERFLOW", RS232_ERR_RXOVERFLOW },
16= { "RS232_ERR_OVERRUN", RS232_ERR_OVERRUN },
I entered the numbers by hand, but I'm pretty sure they are right.