Error recovery
All of the SMUX routines return NOTOK on failure.
The function
char * smux_error(smux_errno) extern int smux_errno;returns an appropriate string based on the error number passed to it. The parameter value is set by functions in the SMUX/SNMP library and the value could be any of: parameterMissing, invalidOperation, inProgress, systemError, congestion, or youLoseBig. The variable
extern char smux_info[BUFSIZ];contains a printable explanation of what caused the failure. All errors are FATAL except inProgress; if the error code is inProgress, the peer program continues retrying the file descriptor for writability, and then calls smux_simple_open again. Otherwise, the program takes the appropriate action based on the error code returned.