From: Kevin Day Date: Wed, 26 Nov 2025 19:08:04 +0000 (-0600) Subject: Update: Make more socket error codes more granular, add additional status codes,... X-Git-Tag: 0.8.0~80 X-Git-Url: https://www.git.kevux.org/?a=commitdiff_plain;h=276e5a299c4fff6eceeaafaa24eb1103acd03693;p=fll Update: Make more socket error codes more granular, add additional status codes, rename some others. --- diff --git a/level_0/f_socket/c/socket.c b/level_0/f_socket/c/socket.c index c91125d..0bc9e4a 100644 --- a/level_0/f_socket/c/socket.c +++ b/level_0/f_socket/c/socket.c @@ -16,26 +16,26 @@ extern "C" { if (errno == EACCES) return F_status_set_error(F_access_denied); if (errno == EAGAIN || errno == EWOULDBLOCK) return F_status_set_error(F_socket_block); if (errno == EBADF) return F_status_set_error(F_file_descriptor); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EHOSTDOWN) return F_status_set_error(F_network_client_not); - if (errno == EHOSTUNREACH) return F_status_set_error(F_network_reach_client_not); + if (errno == EHOSTUNREACH) return F_status_set_error(F_network_client_reach_not); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == EMFILE) return F_status_set_error(F_file_descriptor_max); - if (errno == ENETDOWN) return F_status_set_error(F_network_not); + if (errno == ENETDOWN) return F_status_set_error(F_network_down); if (errno == ENFILE) return F_status_set_error(F_file_open_max); if (errno == ENETUNREACH) return F_status_set_error(F_network_reach_not); if (errno == ENOBUFS) return F_status_set_error(F_buffer_sufficient_not); if (errno == ENOMEM) return F_status_set_error(F_memory_not); if (errno == ENONET) return F_status_set_error(F_network_device_not); - if (errno == ENOPROTOOPT) return F_status_set_error(F_option_not); + if (errno == ENOPROTOOPT) return F_status_set_error(F_protocol_option_not); if (errno == ENOTSOCK) return F_status_set_error(F_socket_not); - if (errno == EOPNOTSUPP) return F_status_set_error(F_stream_not); + if (errno == EOPNOTSUPP) return F_status_set_error(F_socket_stream_not); if (errno == EPROTO) return F_status_set_error(F_protocol); if (errno == EPERM) return F_status_set_error(F_prohibited); - if (errno == ESOCKTNOSUPPORT) return F_status_set_error(F_support_not); + if (errno == ESOCKTNOSUPPORT) return F_status_set_error(F_socket_support_not); if (errno == EPROTONOSUPPORT) return F_status_set_error(F_protocol_not); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -155,7 +155,7 @@ extern "C" { if (errno == EACCES) return F_status_set_error(F_access_denied); if (errno == EADDRINUSE) return F_status_set_error(F_busy_address); if (errno == EADDRNOTAVAIL) return F_status_set_error(F_available_not_address); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == ELOOP) return F_status_set_error(F_loop); if (errno == ENAMETOOLONG) return F_status_set_error(F_string_too_large); @@ -285,7 +285,7 @@ extern "C" { if (errno == ENOTSOCK) return F_status_set_error(F_socket_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPROTONOSUPPORT) return F_status_set_error(F_protocol_not); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -433,10 +433,10 @@ extern "C" { if (getsockopt(socket->id, level, option, value, length) == -1) { if (errno == EBADF) return F_status_set_error(F_file_descriptor); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINVAL) return F_status_set_error(F_value); if (errno == ENOTSOCK) return F_status_set_error(F_socket_not); - if (errno == ENOPROTOOPT) return F_status_set_error(F_option_not); + if (errno == ENOPROTOOPT) return F_status_set_error(F_protocol_option_not); return F_status_set_error(F_failure); } @@ -454,10 +454,10 @@ extern "C" { if (setsockopt(socket->id, level, option, value, length) == -1) { if (errno == EBADF) return F_status_set_error(F_file_descriptor); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINVAL) return F_status_set_error(F_value); if (errno == ENOTSOCK) return F_status_set_error(F_socket_not); - if (errno == ENOPROTOOPT) return F_status_set_error(F_option_not); + if (errno == ENOPROTOOPT) return F_status_set_error(F_protocol_option_not); return F_status_set_error(F_failure); } @@ -480,7 +480,7 @@ extern "C" { { if (gethostname(name->string, (size_t) (name->used ? (name->size - name->used) : name->size)) == -1) { - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_not); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == ENAMETOOLONG) return F_status_set_error(F_string_too_large); if (errno == EPERM) return F_status_set_error(F_prohibited); @@ -505,7 +505,7 @@ extern "C" { if (getpeername(socket->id, (struct sockaddr *) &socket->address.generic, &socket->length) == -1) { if (errno == EBADF) return F_status_set_error(F_file_descriptor); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == ENOBUFS) return F_status_set_error(F_buffer_sufficient_not); if (errno == ENOTCONN) return F_status_set_error(F_connect_not); @@ -537,16 +537,16 @@ extern "C" { if (errno == ECONNREFUSED) return F_status_set_error(F_connect_refuse); if (errno == ECONNRESET) return F_status_set_error(F_connect_reset); if (errno == EDESTADDRREQ) return F_status_set_error(F_address_not); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == ENOMEM) return F_status_set_error(F_memory_not); if (errno == ENOTCONN) return F_status_set_error(F_connect_not); if (errno == ENOTSOCK) return F_status_set_error(F_socket_not); - if (errno == EOPNOTSUPP) return F_status_set_error(F_option_not); + if (errno == EOPNOTSUPP) return F_status_set_error(F_socket_option_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPIPE) return F_status_set_error(F_pipe); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -578,7 +578,7 @@ extern "C" { if (errno == ECONNREFUSED) return F_status_set_error(F_connect_refuse); if (errno == ECONNRESET) return F_status_set_error(F_connect_reset); if (errno == EDESTADDRREQ) return F_status_set_error(F_address_not); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == ENOMEM) return F_status_set_error(F_memory_not); @@ -587,7 +587,7 @@ extern "C" { if (errno == EOPNOTSUPP) return F_status_set_error(F_option_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPIPE) return F_status_set_error(F_pipe); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -619,7 +619,7 @@ extern "C" { if (errno == ECONNREFUSED) return F_status_set_error(F_connect_refuse); if (errno == ECONNRESET) return F_status_set_error(F_connect_reset); if (errno == EDESTADDRREQ) return F_status_set_error(F_address_not); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_scope_out); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == ENOMEM) return F_status_set_error(F_memory_not); @@ -628,7 +628,7 @@ extern "C" { if (errno == EOPNOTSUPP) return F_status_set_error(F_option_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPIPE) return F_status_set_error(F_pipe); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -660,7 +660,7 @@ extern "C" { if (errno == ECONNREFUSED) return F_status_set_error(F_connect_refuse); if (errno == ECONNRESET) return F_status_set_error(F_connect_reset); if (errno == EDESTADDRREQ) return F_status_set_error(F_address_not); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_not); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == EISCONN) return F_status_set_error(F_connect); @@ -672,7 +672,7 @@ extern "C" { if (errno == EOPNOTSUPP) return F_status_set_error(F_option_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPIPE) return F_status_set_error(F_pipe); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -704,7 +704,7 @@ extern "C" { if (errno == ECONNREFUSED) return F_status_set_error(F_connect_refuse); if (errno == ECONNRESET) return F_status_set_error(F_connect_reset); if (errno == EDESTADDRREQ) return F_status_set_error(F_address_not); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_not); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == EISCONN) return F_status_set_error(F_connect); @@ -716,7 +716,7 @@ extern "C" { if (errno == EOPNOTSUPP) return F_status_set_error(F_option_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPIPE) return F_status_set_error(F_pipe); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } @@ -748,7 +748,7 @@ extern "C" { if (errno == ECONNREFUSED) return F_status_set_error(F_connect_refuse); if (errno == ECONNRESET) return F_status_set_error(F_connect_reset); if (errno == EDESTADDRREQ) return F_status_set_error(F_address_not); - if (errno == EFAULT) return F_status_set_error(F_buffer); + if (errno == EFAULT) return F_status_set_error(F_buffer_not); if (errno == EINTR) return F_status_set_error(F_interrupt); if (errno == EINVAL) return F_status_set_error(F_parameter); if (errno == EISCONN) return F_status_set_error(F_connect); @@ -760,7 +760,7 @@ extern "C" { if (errno == EOPNOTSUPP) return F_status_set_error(F_option_not); if (errno == EPERM) return F_status_set_error(F_prohibited); if (errno == EPIPE) return F_status_set_error(F_pipe); - if (errno == ETIMEDOUT) return F_status_set_error(F_time_out); + if (errno == ETIMEDOUT) return F_status_set_error(F_socket_time_out); return F_status_set_error(F_failure); } diff --git a/level_0/f_socket/c/socket.h b/level_0/f_socket/c/socket.h index d37a610..41bb414 100644 --- a/level_0/f_socket/c/socket.h +++ b/level_0/f_socket/c/socket.h @@ -71,7 +71,7 @@ extern "C" { * F_okay on success. * * F_access_denied (with error bit) on access denied. - * F_buffer (with error bit) if the buffer is invalid. + * F_buffer_scope_out (with error bit) if the buffer is invalid. * F_buffer_sufficient_not (with error bit) if unable to create socket due to resource restrictions (maps to ENOBUFS). * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_file_descriptor_max (with error bit) if max file descriptors is reached. @@ -80,19 +80,19 @@ extern "C" { * F_memory_not (with error bit) if out of memory. * F_network_client_not (with error bit) if the client is down. * F_network_device_not (with error bit) if the network device no longer exists. - * F_network_not (with error bit) if network is down. - * F_network_reach_client_not (with error bit) if the client cannot be reached. + * F_network_down (with error bit) if network is down. + * F_network_client_reach_not (with error bit) if the client cannot be reached. * F_network_reach_not (with error bit) if the network cannot be reached. - * F_option_not (with error bit) if the given option is unknown or is unsupported. * F_parameter (with error bit) if a parameter is invalid. * F_prohibited (with error bit) if the file system does not permit this operation. * F_protocol (with error bit) if a protocol error occurred. * F_protocol_not (with error bit) if the given protocol is unknown or is unsupported. + * F_protocol_option_not (with error bit) if the given protocol option is unknown or is unsupported. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_stream_not (with error bit) the socket type is not a stream. - * F_support_not (with error bit) if this socket type is not supported. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_stream_not (with error bit) the socket type is not a stream. + * F_socket_support_not (with error bit) if this socket type is not supported. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -144,9 +144,8 @@ extern "C" { * @return * F_okay on success. * - * F_address (with error bit) if address is already in use (therefore unavailable). * F_available_not_address (with error bit) if address is unavailable (is non-existent or not local). - * F_buffer (with error bit) if the buffer is invalid. + * F_buffer_scope_out (with error bit) if the buffer is out of scope. * F_busy_address (with error bit) if address is already in use (therefore unavailable). * F_directory_found_not (with error bit) if directory was not found. * F_file_found_not (with error bit) if file not found. @@ -199,7 +198,7 @@ extern "C" { * F_protocol_not (with error bit) if the given protocol is unknown or is unsupported. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -390,9 +389,9 @@ extern "C" { * @return * F_okay on success. * - * F_buffer (with error bit) if the given value is out of scope. + * F_buffer_scope_out (with error bit) if the given address is out of scope. * F_file_descriptor (with error bit) if ID is an invalid descriptor. - * F_option_not (with error bit) if the type is not valid for the given level. + * F_protocol_option_not (with error bit) if the given protocol option is unknown or is unsupported. * F_socket_not (with error bit) if the ID is not a socket descriptor. * F_value (with error bit) if either the value or the length is invalid. * @@ -427,9 +426,9 @@ extern "C" { * @return * F_okay on success. * - * F_buffer (with error bit) if the given value is out of scope. + * F_buffer_scope_out (with error bit) if the given value is out of scope. * F_file_descriptor (with error bit) if ID is an invalid descriptor. - * F_option_not (with error bit) if the type is not valid for the given level. + * F_protocol_option_not (with error bit) if the given protocol option is unknown or is unsupported. * F_socket_not (with error bit) if the ID is not a socket descriptor. * F_value (with error bit) if either the value or the length is invalid. * @@ -462,7 +461,7 @@ extern "C" { * @return * F_okay on success. * - * F_buffer (with error bit) if the buffer is invalid. + * F_buffer_not (with error bit) if the name buffer is invalid. * F_parameter (with error bit) if a parameter is invalid. * F_prohibited (with error bit) if the system does not permit this operation (could be missing CAP_SYS_ADMIN in the appropraite user namespace). * F_string_too_large (with error bit) if the name is to large for the max size (name.size). @@ -496,10 +495,10 @@ extern "C" { * @return * F_okay on success. * - * F_file_descriptor (with error bit) if ID is an invalid descriptor. - * F_buffer (with error bit) if the buffer is invalid. + * F_buffer_scope_out (with error bit) if the buffer is invalid. * F_buffer_sufficient_not (with error bit) due to resource restrictions (maps to ENOBUFS). * F_connect_not (with error bit) if the socket is not connected. + * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_parameter (with error bit) if a parameter is invalid. * F_socket_not (with error bit) if the ID is not a socket descriptor. * @@ -542,21 +541,22 @@ extern "C" { * F_data_not on success, but read size is 0 and so nothing was read. * * F_access_denied (with error bit) on access denied. + * F_address_not (with error bit) if no address is provided and the connection is not "connection-mode". + * F_buffer_scope_out (with error bit) if the buffer is out of scope. * F_complete_not (with error bit) if an existing connection is not yet complete. * F_connect_not (with error bit) if the socket is not connected. * F_connect_refuse (with error bit) if connection is refused. * F_connect_reset (with error bit) if connection is reset. - * F_buffer (with error bit) if the buffer is invalid. * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_interrupt (with error bit) if interrupt is received. * F_memory_not (with error bit) if out of memory. - * F_option_not (with error bit) if a flag is not supported. + * F_socket_option_not (with error bit) if the given protocol option is unknown or is unsupported. * F_parameter (with error bit) if a parameter is invalid. * F_pipe (with error bit) if the local end of a connection oriented socket is closed or SIGPIPE is received. * F_prohibited (with error bit) if the insufficient privileges to perform read. * F_socket_block (with error bit) if socket is blocked. - * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_not (with error bit) if the ID is not a valid socket descriptor. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -592,11 +592,12 @@ extern "C" { * F_data_not on success, but read size is 0 and so nothing was read. * * F_access_denied (with error bit) on access denied. + * F_address_not (with error bit) if no address is provided and the connection is not "connection-mode". + * F_buffer_scope_out (with error bit) if the buffer is out of scope. * F_complete_not (with error bit) if an existing connection is not yet complete. * F_connect_not (with error bit) if the socket is not connected. * F_connect_refuse (with error bit) if connection is refused. * F_connect_reset (with error bit) if connection is reset. - * F_buffer (with error bit) if the buffer is invalid. * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_interrupt (with error bit) if interrupt is received. * F_memory_not (with error bit) if out of memory. @@ -606,7 +607,7 @@ extern "C" { * F_prohibited (with error bit) if the insufficient privileges to perform read. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -647,11 +648,12 @@ extern "C" { * F_data_not on success, but read size is 0 and so nothing was read. * * F_access_denied (with error bit) on access denied. + * F_address_not (with error bit) if no address is provided and the connection is not "connection-mode". + * F_buffer_scope_out (with error bit) if the buffer is invalid. * F_complete_not (with error bit) if an existing connection is not yet complete. * F_connect_not (with error bit) if the socket is not connected. * F_connect_refuse (with error bit) if connection is refused. * F_connect_reset (with error bit) if connection is reset. - * F_buffer (with error bit) if the buffer is invalid. * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_interrupt (with error bit) if interrupt is received. * F_memory_not (with error bit) if out of memory. @@ -661,7 +663,7 @@ extern "C" { * F_prohibited (with error bit) if the insufficient privileges to perform read. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -703,13 +705,13 @@ extern "C" { * * F_access_denied (with error bit) on access denied. * F_address_not (with error bit) if no address is provided and the connection is not "connection-mode". + * F_buffer_not (with error bit) if the buffer is invalid. * F_buffer_sufficient_not (with error bit) if unable to send message because output buffer is full. * F_complete_not (with error bit) if an existing connection is not yet complete. * F_connect (with error bit) if an address is provided and the connection is "connection-mode". * F_connect_not (with error bit) if the socket is not connected. * F_connect_refuse (with error bit) if connection is refused. * F_connect_reset (with error bit) if connection is reset. - * F_buffer (with error bit) if the buffer is invalid. * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_interrupt (with error bit) if interrupt is received. * F_memory_not (with error bit) if out of memory. @@ -720,7 +722,7 @@ extern "C" { * F_size (with error bit) if size of message makes atomically sending message impossible on a socket type that requires this to be atomic. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -757,13 +759,13 @@ extern "C" { * * F_access_denied (with error bit) on access denied. * F_address_not (with error bit) if no address is provided and the connection is not "connection-mode". + * F_buffer_not (with error bit) if the buffer is invalid. * F_buffer_sufficient_not (with error bit) if unable to send message because output buffer is full. * F_complete_not (with error bit) if an existing connection is not yet complete. * F_connect (with error bit) if an address is provided and the connection is "connection-mode". * F_connect_not (with error bit) if the socket is not connected. * F_connect_refuse (with error bit) if connection is refused. * F_connect_reset (with error bit) if connection is reset. - * F_buffer (with error bit) if the buffer is invalid. * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_interrupt (with error bit) if interrupt is received. * F_memory_not (with error bit) if out of memory. @@ -774,7 +776,7 @@ extern "C" { * F_size (with error bit) if size of message makes atomically sending message impossible on a socket type that requires this to be atomic. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * @@ -816,13 +818,13 @@ extern "C" { * * F_access_denied (with error bit) on access denied. * F_address_not (with error bit) if no address is provided and the connection is not "connection-mode". + * F_buffer_not (with error bit) if the buffer is invalid. * F_buffer_sufficient_not (with error bit) if unable to send message because output buffer is full. * F_complete_not (with error bit) if an existing connection is not yet complete. * F_connect (with error bit) if an address is provided and the connection is "connection-mode". * F_connect_not (with error bit) if the socket is not connected. * F_connect_refuse (with error bit) if connection is refused. * F_connect_reset (with error bit) if connection is reset. - * F_buffer (with error bit) if the buffer is invalid. * F_file_descriptor (with error bit) if ID is an invalid descriptor. * F_interrupt (with error bit) if interrupt is received. * F_memory_not (with error bit) if out of memory. @@ -833,7 +835,7 @@ extern "C" { * F_size (with error bit) if size of message makes atomically sending message impossible on a socket type that requires this to be atomic. * F_socket_block (with error bit) if socket is blocked. * F_socket_not (with error bit) if the ID is not a socket descriptor. - * F_time_out (with error bit) if a timeout occurred. + * F_socket_time_out (with error bit) if a socket timeout occurred. * * F_failure (with error bit) for any other error. * diff --git a/level_0/f_socket/tests/unit/c/test-socket-accept.c b/level_0/f_socket/tests/unit/c/test-socket-accept.c index c5d19c5..7f2ad79 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-accept.c +++ b/level_0/f_socket/tests/unit/c/test-socket-accept.c @@ -41,26 +41,26 @@ void test__f_socket_accept__fails(void **state) { F_access_denied, F_socket_block, F_file_descriptor, - F_buffer, + F_buffer_scope_out, F_network_client_not, - F_network_reach_client_not, + F_network_client_reach_not, F_interrupt, F_parameter, F_file_descriptor_max, - F_network_not, + F_network_down, F_file_open_max, F_network_reach_not, F_buffer_sufficient_not, F_memory_not, F_network_device_not, - F_option_not, + F_protocol_option_not, F_socket_not, - F_stream_not, + F_socket_stream_not, F_protocol, F_prohibited, - F_support_not, + F_socket_support_not, F_protocol_not, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-bind.c b/level_0/f_socket/tests/unit/c/test-socket-bind.c index 68fde1d..bd670a3 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-bind.c +++ b/level_0/f_socket/tests/unit/c/test-socket-bind.c @@ -26,7 +26,7 @@ void test__f_socket_bind__fails(void **state) { F_access_denied, F_busy_address, F_available_not_address, - F_buffer, + F_buffer_scope_out, F_parameter, F_loop, F_string_too_large, diff --git a/level_0/f_socket/tests/unit/c/test-socket-connect.c b/level_0/f_socket/tests/unit/c/test-socket-connect.c index c7493aa..a5a3dca 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-connect.c +++ b/level_0/f_socket/tests/unit/c/test-socket-connect.c @@ -49,7 +49,7 @@ void test__f_socket_connect__fails(void **state) { F_socket_not, F_prohibited, F_protocol_not, - F_time_out, + F_socket_time_out, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-name_host.c b/level_0/f_socket/tests/unit/c/test-socket-name_host.c index 7f675ae..c76ad48 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-name_host.c +++ b/level_0/f_socket/tests/unit/c/test-socket-name_host.c @@ -41,7 +41,7 @@ void test__f_socket_name_host__fails(void **state) { }; f_status_t statuss[] = { - F_buffer, + F_buffer_not, F_parameter, F_string_too_large, F_prohibited, diff --git a/level_0/f_socket/tests/unit/c/test-socket-name_peer.c b/level_0/f_socket/tests/unit/c/test-socket-name_peer.c index 90d00ff..def7b9f 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-name_peer.c +++ b/level_0/f_socket/tests/unit/c/test-socket-name_peer.c @@ -21,7 +21,7 @@ void test__f_socket_name_peer__fails(void **state) { f_status_t statuss[] = { F_file_descriptor, - F_buffer, + F_buffer_scope_out, F_parameter, F_buffer_sufficient_not, F_connect_not, diff --git a/level_0/f_socket/tests/unit/c/test-socket-option_get.c b/level_0/f_socket/tests/unit/c/test-socket-option_get.c index 1e527e6..7296d2d 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-option_get.c +++ b/level_0/f_socket/tests/unit/c/test-socket-option_get.c @@ -22,10 +22,10 @@ void test__f_socket_option_get__fails(void **state) { f_status_t statuss[] = { F_file_descriptor, - F_buffer, + F_buffer_scope_out, F_value, F_socket_not, - F_option_not, + F_protocol_option_not, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-option_set.c b/level_0/f_socket/tests/unit/c/test-socket-option_set.c index bfc2ddd..6e7e1c3 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-option_set.c +++ b/level_0/f_socket/tests/unit/c/test-socket-option_set.c @@ -21,10 +21,10 @@ void test__f_socket_option_set__fails(void **state) { f_status_t statuss[] = { F_file_descriptor, - F_buffer, + F_buffer_scope_out, F_value, F_socket_not, - F_option_not, + F_protocol_option_not, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-read.c b/level_0/f_socket/tests/unit/c/test-socket-read.c index 11d908b..5d7809c 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-read.c +++ b/level_0/f_socket/tests/unit/c/test-socket-read.c @@ -41,16 +41,16 @@ void test__f_socket_read__fails(void **state) { F_connect_refuse, F_connect_reset, F_address_not, - F_buffer, + F_buffer_scope_out, F_interrupt, F_parameter, F_memory_not, F_connect_not, F_socket_not, - F_option_not, + F_socket_option_not, F_prohibited, F_pipe, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-read_message.c b/level_0/f_socket/tests/unit/c/test-socket-read_message.c index ba856c9..7919468 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-read_message.c +++ b/level_0/f_socket/tests/unit/c/test-socket-read_message.c @@ -43,7 +43,7 @@ void test__f_socket_read_message__fails(void **state) { F_connect_refuse, F_connect_reset, F_address_not, - F_buffer, + F_buffer_scope_out, F_interrupt, F_parameter, F_memory_not, @@ -52,7 +52,7 @@ void test__f_socket_read_message__fails(void **state) { F_option_not, F_prohibited, F_pipe, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-read_stream.c b/level_0/f_socket/tests/unit/c/test-socket-read_stream.c index c856e1d..d8f27bc 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-read_stream.c +++ b/level_0/f_socket/tests/unit/c/test-socket-read_stream.c @@ -41,7 +41,7 @@ void test__f_socket_read_stream__fails(void **state) { F_connect_refuse, F_connect_reset, F_address_not, - F_buffer, + F_buffer_scope_out, F_interrupt, F_parameter, F_memory_not, @@ -50,7 +50,7 @@ void test__f_socket_read_stream__fails(void **state) { F_option_not, F_prohibited, F_pipe, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-write.c b/level_0/f_socket/tests/unit/c/test-socket-write.c index 488f251..3c9daa1 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-write.c +++ b/level_0/f_socket/tests/unit/c/test-socket-write.c @@ -44,7 +44,7 @@ void test__f_socket_write__fails(void **state) { F_connect_refuse, F_connect_reset, F_address_not, - F_buffer, + F_buffer_not, F_interrupt, F_parameter, F_connect, @@ -56,7 +56,7 @@ void test__f_socket_write__fails(void **state) { F_option_not, F_prohibited, F_pipe, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-write_message.c b/level_0/f_socket/tests/unit/c/test-socket-write_message.c index 4354552..d3c4013 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-write_message.c +++ b/level_0/f_socket/tests/unit/c/test-socket-write_message.c @@ -46,7 +46,7 @@ void test__f_socket_write_message__fails(void **state) { F_connect_refuse, F_connect_reset, F_address_not, - F_buffer, + F_buffer_not, F_interrupt, F_parameter, F_connect, @@ -58,7 +58,7 @@ void test__f_socket_write_message__fails(void **state) { F_option_not, F_prohibited, F_pipe, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_socket/tests/unit/c/test-socket-write_stream.c b/level_0/f_socket/tests/unit/c/test-socket-write_stream.c index 8f99f6c..11d4d58 100644 --- a/level_0/f_socket/tests/unit/c/test-socket-write_stream.c +++ b/level_0/f_socket/tests/unit/c/test-socket-write_stream.c @@ -44,7 +44,7 @@ void test__f_socket_write_stream__fails(void **state) { F_connect_refuse, F_connect_reset, F_address_not, - F_buffer, + F_buffer_not, F_interrupt, F_parameter, F_connect, @@ -56,7 +56,7 @@ void test__f_socket_write_stream__fails(void **state) { F_option_not, F_prohibited, F_pipe, - F_time_out, + F_socket_time_out, F_socket_block, F_failure, }; diff --git a/level_0/f_status/c/status.h b/level_0/f_status/c/status.h index 0b5f7a3..5d48998 100644 --- a/level_0/f_status/c/status.h +++ b/level_0/f_status/c/status.h @@ -316,6 +316,7 @@ extern "C" { F_buffer_not, F_buffer_overflow, F_buffer_restrict, + F_buffer_scope_out, F_buffer_sufficient, F_buffer_sufficient_not, F_buffer_too_large, @@ -665,6 +666,8 @@ extern "C" { F_network_busy_not, F_network_client, F_network_client_not, + F_network_down, + F_network_down_not, F_network_device, F_network_device_not, F_network_found, @@ -674,7 +677,7 @@ extern "C" { F_network_not, F_network_reach, F_network_reach_client, - F_network_reach_client_not, + F_network_client_reach_not, F_network_reach_not, F_network_reach_server, F_network_reach_server_not, @@ -682,6 +685,8 @@ extern "C" { F_network_server_not, F_network_time, F_network_time_not, + F_network_up, + F_network_up_not, F_network_version_four, F_network_version_four_not, F_network_version_six, @@ -764,6 +769,8 @@ extern "C" { F_property_not, F_protocol, F_protocol_not, + F_protocol_option, + F_protocol_option_not, F_range, F_range_not, F_read, @@ -827,13 +834,25 @@ extern "C" { F_skip_not, F_socket, F_socket_block, + F_socket_block_not, F_socket_client, + F_socket_client_not, F_socket_not, + F_socket_option, + F_socket_option_not, F_socket_receive, + F_socket_receive_not, F_socket_send, + F_socket_send_not, + F_socket_stream, + F_socket_stream_not, + F_socket_support, + F_socket_support_not, F_socket_time, F_socket_time_not, + F_socket_time_out, F_socket_target, + F_socket_target_not, F_some, F_some_not, F_space, diff --git a/level_0/f_status_string/c/status_string.c b/level_0/f_status_string/c/status_string.c index fcf0405..9ac8d57 100644 --- a/level_0/f_status_string/c/status_string.c +++ b/level_0/f_status_string/c/status_string.c @@ -157,6 +157,7 @@ extern "C" { const f_string_static_t f_status_buffer_not_s = macro_f_string_static_t_initialize_1(F_status_buffer_not_s, 0, F_status_buffer_not_s_length); const f_string_static_t f_status_buffer_overflow_s = macro_f_string_static_t_initialize_1(F_status_buffer_overflow_s, 0, F_status_buffer_overflow_s_length); const f_string_static_t f_status_buffer_restrict_s = macro_f_string_static_t_initialize_1(F_status_buffer_restrict_s, 0, F_status_buffer_restrict_s_length); + const f_string_static_t f_status_buffer_scope_out_s = macro_f_string_static_t_initialize_1(F_status_buffer_scope_out_s, 0, F_status_buffer_scope_out_s_length); const f_string_static_t f_status_buffer_sufficient_s = macro_f_string_static_t_initialize_1(F_status_buffer_sufficient_s, 0, F_status_buffer_sufficient_s_length); const f_string_static_t f_status_buffer_sufficient_not_s = macro_f_string_static_t_initialize_1(F_status_buffer_sufficient_not_s, 0, F_status_buffer_sufficient_not_s_length); const f_string_static_t f_status_buffer_too_large_s = macro_f_string_static_t_initialize_1(F_status_buffer_too_large_s, 0, F_status_buffer_too_large_s_length); @@ -508,6 +509,8 @@ extern "C" { const f_string_static_t f_status_network_client_not_s = macro_f_string_static_t_initialize_1(F_status_network_client_not_s, 0, F_status_network_client_not_s_length); const f_string_static_t f_status_network_device_s = macro_f_string_static_t_initialize_1(F_status_network_device_s, 0, F_status_network_device_s_length); const f_string_static_t f_status_network_device_not_s = macro_f_string_static_t_initialize_1(F_status_network_device_not_s, 0, F_status_network_device_not_s_length); + const f_string_static_t f_status_network_down_s = macro_f_string_static_t_initialize_1(F_status_network_down_s, 0, F_status_network_down_s_length); + const f_string_static_t f_status_network_down_not_s = macro_f_string_static_t_initialize_1(F_status_network_down_not_s, 0, F_status_network_down_not_s_length); const f_string_static_t f_status_network_found_s = macro_f_string_static_t_initialize_1(F_status_network_found_s, 0, F_status_network_found_s_length); const f_string_static_t f_status_network_found_not_s = macro_f_string_static_t_initialize_1(F_status_network_found_not_s, 0, F_status_network_found_not_s_length); const f_string_static_t f_status_network_lost_s = macro_f_string_static_t_initialize_1(F_status_network_lost_s, 0, F_status_network_lost_s_length); @@ -515,7 +518,7 @@ extern "C" { const f_string_static_t f_status_network_not_s = macro_f_string_static_t_initialize_1(F_status_network_not_s, 0, F_status_network_not_s_length); const f_string_static_t f_status_network_reach_s = macro_f_string_static_t_initialize_1(F_status_network_reach_s, 0, F_status_network_reach_s_length); const f_string_static_t f_status_network_reach_client_s = macro_f_string_static_t_initialize_1(F_status_network_reach_client_s, 0, F_status_network_reach_client_s_length); - const f_string_static_t f_status_network_reach_client_not_s = macro_f_string_static_t_initialize_1(F_status_network_reach_client_not_s, 0, F_status_network_reach_client_not_s_length); + const f_string_static_t f_status_network_client_reach_not_s = macro_f_string_static_t_initialize_1(F_status_network_client_reach_not_s, 0, F_status_network_client_reach_not_s_length); const f_string_static_t f_status_network_reach_not_s = macro_f_string_static_t_initialize_1(F_status_network_reach_not_s, 0, F_status_network_reach_not_s_length); const f_string_static_t f_status_network_reach_server_s = macro_f_string_static_t_initialize_1(F_status_network_reach_server_s, 0, F_status_network_reach_server_s_length); const f_string_static_t f_status_network_reach_server_not_s = macro_f_string_static_t_initialize_1(F_status_network_reach_server_not_s, 0, F_status_network_reach_server_not_s_length); @@ -523,6 +526,8 @@ extern "C" { const f_string_static_t f_status_network_server_not_s = macro_f_string_static_t_initialize_1(F_status_network_server_not_s, 0, F_status_network_server_not_s_length); const f_string_static_t f_status_network_time_s = macro_f_string_static_t_initialize_1(F_status_network_time_s, 0, F_status_network_time_s_length); const f_string_static_t f_status_network_time_not_s = macro_f_string_static_t_initialize_1(F_status_network_time_not_s, 0, F_status_network_time_not_s_length); + const f_string_static_t f_status_network_up_s = macro_f_string_static_t_initialize_1(F_status_network_up_s, 0, F_status_network_up_s_length); + const f_string_static_t f_status_network_up_not_s = macro_f_string_static_t_initialize_1(F_status_network_up_not_s, 0, F_status_network_up_not_s_length); const f_string_static_t f_status_network_version_four_s = macro_f_string_static_t_initialize_1(F_status_network_version_four_s, 0, F_status_network_version_four_s_length); const f_string_static_t f_status_network_version_four_not_s = macro_f_string_static_t_initialize_1(F_status_network_version_four_not_s, 0, F_status_network_version_four_not_s_length); const f_string_static_t f_status_network_version_six_s = macro_f_string_static_t_initialize_1(F_status_network_version_six_s, 0, F_status_network_version_six_s_length); @@ -612,6 +617,8 @@ extern "C" { const f_string_static_t f_status_property_not_s = macro_f_string_static_t_initialize_1(F_status_property_not_s, 0, F_status_property_not_s_length); const f_string_static_t f_status_protocol_s = macro_f_string_static_t_initialize_1(F_status_protocol_s, 0, F_status_protocol_s_length); const f_string_static_t f_status_protocol_not_s = macro_f_string_static_t_initialize_1(F_status_protocol_not_s, 0, F_status_protocol_not_s_length); + const f_string_static_t f_status_protocol_option_s = macro_f_string_static_t_initialize_1(F_status_protocol_option_s, 0, F_status_protocol_option_s_length); + const f_string_static_t f_status_protocol_option_not_s = macro_f_string_static_t_initialize_1(F_status_protocol_option_not_s, 0, F_status_protocol_option_not_s_length); const f_string_static_t f_status_range_s = macro_f_string_static_t_initialize_1(F_status_range_s, 0, F_status_range_s_length); const f_string_static_t f_status_range_not_s = macro_f_string_static_t_initialize_1(F_status_range_not_s, 0, F_status_range_not_s_length); const f_string_static_t f_status_read_s = macro_f_string_static_t_initialize_1(F_status_read_s, 0, F_status_read_s_length); @@ -675,13 +682,25 @@ extern "C" { const f_string_static_t f_status_skip_not_s = macro_f_string_static_t_initialize_1(F_status_skip_not_s, 0, F_status_skip_not_s_length); const f_string_static_t f_status_socket_s = macro_f_string_static_t_initialize_1(F_status_socket_s, 0, F_status_socket_s_length); const f_string_static_t f_status_socket_block_s = macro_f_string_static_t_initialize_1(F_status_socket_block_s, 0, F_status_socket_block_s_length); + const f_string_static_t f_status_socket_block_not_s = macro_f_string_static_t_initialize_1(F_status_socket_block_not_s, 0, F_status_socket_block_not_s_length); const f_string_static_t f_status_socket_client_s = macro_f_string_static_t_initialize_1(F_status_socket_client_s, 0, F_status_socket_client_s_length); + const f_string_static_t f_status_socket_client_not_s = macro_f_string_static_t_initialize_1(F_status_socket_client_not_s, 0, F_status_socket_client_not_s_length); const f_string_static_t f_status_socket_not_s = macro_f_string_static_t_initialize_1(F_status_socket_not_s, 0, F_status_socket_not_s_length); + const f_string_static_t f_status_socket_option_s = macro_f_string_static_t_initialize_1(F_status_socket_option_s, 0, F_status_socket_option_s_length); + const f_string_static_t f_status_socket_option_not_s = macro_f_string_static_t_initialize_1(F_status_socket_option_not_s, 0, F_status_socket_option_not_s_length); const f_string_static_t f_status_socket_receive_s = macro_f_string_static_t_initialize_1(F_status_socket_receive_s, 0, F_status_socket_receive_s_length); + const f_string_static_t f_status_socket_receive_not_s = macro_f_string_static_t_initialize_1(F_status_socket_receive_not_s, 0, F_status_socket_receive_not_s_length); const f_string_static_t f_status_socket_send_s = macro_f_string_static_t_initialize_1(F_status_socket_send_s, 0, F_status_socket_send_s_length); + const f_string_static_t f_status_socket_send_not_s = macro_f_string_static_t_initialize_1(F_status_socket_send_not_s, 0, F_status_socket_send_not_s_length); + const f_string_static_t f_status_socket_stream_s = macro_f_string_static_t_initialize_1(F_status_socket_stream_s, 0, F_status_socket_stream_s_length); + const f_string_static_t f_status_socket_stream_not_s = macro_f_string_static_t_initialize_1(F_status_socket_stream_not_s, 0, F_status_socket_stream_not_s_length); + const f_string_static_t f_status_socket_support_s = macro_f_string_static_t_initialize_1(F_status_socket_support_s, 0, F_status_socket_support_s_length); + const f_string_static_t f_status_socket_support_not_s = macro_f_string_static_t_initialize_1(F_status_socket_support_not_s, 0, F_status_socket_support_not_s_length); const f_string_static_t f_status_socket_target_s = macro_f_string_static_t_initialize_1(F_status_socket_target_s, 0, F_status_socket_target_s_length); + const f_string_static_t f_status_socket_target_not_s = macro_f_string_static_t_initialize_1(F_status_socket_target_not_s, 0, F_status_socket_target_not_s_length); const f_string_static_t f_status_socket_time_s = macro_f_string_static_t_initialize_1(F_status_socket_time_s, 0, F_status_socket_time_s_length); const f_string_static_t f_status_socket_time_not_s = macro_f_string_static_t_initialize_1(F_status_socket_time_not_s, 0, F_status_socket_time_not_s_length); + const f_string_static_t f_status_socket_time_out_s = macro_f_string_static_t_initialize_1(F_status_socket_time_out_s, 0, F_status_socket_time_out_s_length); const f_string_static_t f_status_some_s = macro_f_string_static_t_initialize_1(F_status_some_s, 0, F_status_some_s_length); const f_string_static_t f_status_some_not_s = macro_f_string_static_t_initialize_1(F_status_some_not_s, 0, F_status_some_not_s_length); const f_string_static_t f_status_space_s = macro_f_string_static_t_initialize_1(F_status_space_s, 0, F_status_space_s_length); @@ -1544,6 +1563,11 @@ extern "C" { break; + case F_buffer_scope_out: + *name = f_status_buffer_scope_out_s; + + break; + case F_buffer_sufficient: *name = f_status_buffer_sufficient_s; @@ -3300,6 +3324,16 @@ extern "C" { break; + case F_network_down: + *name = f_status_network_down_s; + + break; + + case F_network_down_not: + *name = f_status_network_down_not_s; + + break; + case F_network_found: *name = f_status_network_found_s; @@ -3335,8 +3369,8 @@ extern "C" { break; - case F_network_reach_client_not: - *name = f_status_network_reach_client_not_s; + case F_network_client_reach_not: + *name = f_status_network_client_reach_not_s; break; @@ -3375,6 +3409,16 @@ extern "C" { break; + case F_network_up: + *name = f_status_network_up_s; + + break; + + case F_network_up_not: + *name = f_status_network_up_not_s; + + break; + case F_network_version_four: *name = f_status_network_version_four_s; @@ -3785,6 +3829,16 @@ extern "C" { break; + case F_protocol_option: + *name = f_status_protocol_option_s; + + break; + + case F_protocol_option_not: + *name = f_status_protocol_option_not_s; + + break; + case F_range: *name = f_status_range_s; @@ -4100,31 +4154,86 @@ extern "C" { break; + case F_socket_block_not: + *name = f_status_socket_block_not_s; + + break; + case F_socket_client: *name = f_status_socket_client_s; break; + case F_socket_client_not: + *name = f_status_socket_client_not_s; + + break; + case F_socket_not: *name = f_status_socket_not_s; break; + case F_socket_option: + *name = f_status_socket_option_s; + + break; + + case F_socket_option_not: + *name = f_status_socket_option_not_s; + + break; + case F_socket_receive: *name = f_status_socket_receive_s; break; + case F_socket_receive_not: + *name = f_status_socket_receive_not_s; + + break; + case F_socket_send: *name = f_status_socket_send_s; break; + case F_socket_send_not: + *name = f_status_socket_send_not_s; + + break; + + case F_socket_stream: + *name = f_status_socket_stream_s; + + break; + + case F_socket_stream_not: + *name = f_status_socket_stream_not_s; + + break; + + case F_socket_support: + *name = f_status_socket_support_s; + + break; + + case F_socket_support_not: + *name = f_status_socket_support_not_s; + + break; + case F_socket_target: *name = f_status_socket_target_s; break; + case F_socket_target_not: + *name = f_status_socket_target_not_s; + + break; + case F_socket_time: *name = f_status_socket_time_s; @@ -4135,6 +4244,11 @@ extern "C" { break; + case F_socket_time_out: + *name = f_status_socket_time_out_s; + + break; + case F_some: *name = f_status_some_s; diff --git a/level_0/f_status_string/c/status_string.h b/level_0/f_status_string/c/status_string.h index 7c0b899..686da66 100644 --- a/level_0/f_status_string/c/status_string.h +++ b/level_0/f_status_string/c/status_string.h @@ -317,6 +317,7 @@ extern "C" { #define F_status_buffer_not_s "F_buffer_not" #define F_status_buffer_overflow_s "F_buffer_overflow" #define F_status_buffer_restrict_s "F_buffer_restrict" + #define F_status_buffer_scope_out_s "F_buffer_scope_out" #define F_status_buffer_sufficient_s "F_buffer_sufficient" #define F_status_buffer_sufficient_not_s "F_buffer_sufficient_not" #define F_status_buffer_too_large_s "F_buffer_too_large" @@ -668,6 +669,8 @@ extern "C" { #define F_status_network_client_not_s "F_network_client_not" #define F_status_network_device_s "F_network_device" #define F_status_network_device_not_s "F_network_device_not" + #define F_status_network_down_s "F_network_down" + #define F_status_network_down_not_s "F_network_down_not" #define F_status_network_found_s "F_network_found" #define F_status_network_found_not_s "F_network_found_not" #define F_status_network_lost_s "F_network_lost" @@ -675,7 +678,7 @@ extern "C" { #define F_status_network_not_s "F_network_not" #define F_status_network_reach_s "F_network_reach" #define F_status_network_reach_client_s "F_network_reach_client" - #define F_status_network_reach_client_not_s "F_network_reach_client_not" + #define F_status_network_client_reach_not_s "F_network_client_reach_not" #define F_status_network_reach_not_s "F_network_reach_not" #define F_status_network_reach_server_s "F_network_reach_server" #define F_status_network_reach_server_not_s "F_network_reach_server_not" @@ -683,6 +686,8 @@ extern "C" { #define F_status_network_server_not_s "F_network_server_not" #define F_status_network_time_s "F_network_time" #define F_status_network_time_not_s "F_network_time_not" + #define F_status_network_up_s "F_network_up" + #define F_status_network_up_not_s "F_network_up_not" #define F_status_network_version_four_s "F_network_version_four" #define F_status_network_version_four_not_s "F_network_version_four_not" #define F_status_network_version_six_s "F_network_version_six" @@ -765,6 +770,8 @@ extern "C" { #define F_status_property_not_s "F_property_not" #define F_status_protocol_s "F_protocol" #define F_status_protocol_not_s "F_protocol_not" + #define F_status_protocol_option_s "F_protocol_option" + #define F_status_protocol_option_not_s "F_protocol_option_not" #define F_status_range_s "F_range" #define F_status_range_not_s "F_range_not" #define F_status_read_s "F_read" @@ -828,13 +835,25 @@ extern "C" { #define F_status_skip_not_s "F_skip_not" #define F_status_socket_s "F_socket" #define F_status_socket_block_s "F_socket_block" + #define F_status_socket_block_not_s "F_socket_block_not" #define F_status_socket_client_s "F_socket_client" + #define F_status_socket_client_not_s "F_socket_client_not" #define F_status_socket_not_s "F_socket_not" + #define F_status_socket_option_s "F_socket_option" + #define F_status_socket_option_not_s "F_socket_option_not" #define F_status_socket_receive_s "F_socket_receive" + #define F_status_socket_receive_not_s "F_socket_receive_not" #define F_status_socket_send_s "F_socket_send" + #define F_status_socket_send_not_s "F_socket_send_not" + #define F_status_socket_stream_s "F_socket_stream" + #define F_status_socket_stream_not_s "F_socket_stream_not" + #define F_status_socket_support_s "F_socket_support" + #define F_status_socket_support_not_s "F_socket_support_not" #define F_status_socket_target_s "F_socket_target" + #define F_status_socket_target_not_s "F_socket_target_not" #define F_status_socket_time_s "F_socket_time" #define F_status_socket_time_not_s "F_socket_time_not" + #define F_status_socket_time_out_s "F_socket_time_out" #define F_status_some_s "F_some" #define F_status_some_not_s "F_some_not" #define F_status_space_s "F_space" @@ -1009,6 +1028,7 @@ extern "C" { #define F_status_buffer_not_s_length 12 #define F_status_buffer_overflow_s_length 17 #define F_status_buffer_restrict_s_length 17 + #define F_status_buffer_scope_out_s_length 18 #define F_status_buffer_sufficient_s_length 19 #define F_status_buffer_sufficient_not_s_length 23 #define F_status_buffer_too_large_s_length 18 @@ -1360,6 +1380,8 @@ extern "C" { #define F_status_network_client_not_s_length 20 #define F_status_network_device_s_length 16 #define F_status_network_device_not_s_length 20 + #define F_status_network_down_s_length 14 + #define F_status_network_down_not_s_length 18 #define F_status_network_found_s_length 15 #define F_status_network_found_not_s_length 19 #define F_status_network_lost_s_length 14 @@ -1367,7 +1389,7 @@ extern "C" { #define F_status_network_not_s_length 13 #define F_status_network_reach_s_length 15 #define F_status_network_reach_client_s_length 22 - #define F_status_network_reach_client_not_s_length 26 + #define F_status_network_client_reach_not_s_length 26 #define F_status_network_reach_not_s_length 19 #define F_status_network_reach_server_s_length 22 #define F_status_network_reach_server_not_s_length 26 @@ -1375,6 +1397,8 @@ extern "C" { #define F_status_network_server_not_s_length 20 #define F_status_network_time_s_length 14 #define F_status_network_time_not_s_length 18 + #define F_status_network_up_s_length 12 + #define F_status_network_up_not_s_length 16 #define F_status_network_version_four_s_length 22 #define F_status_network_version_four_not_s_length 26 #define F_status_network_version_six_s_length 21 @@ -1457,6 +1481,8 @@ extern "C" { #define F_status_property_not_s_length 14 #define F_status_protocol_s_length 10 #define F_status_protocol_not_s_length 14 + #define F_status_protocol_option_s_length 17 + #define F_status_protocol_option_not_s_length 21 #define F_status_range_s_length 7 #define F_status_range_not_s_length 11 #define F_status_read_s_length 6 @@ -1520,13 +1546,25 @@ extern "C" { #define F_status_skip_not_s_length 10 #define F_status_socket_s_length 8 #define F_status_socket_block_s_length 14 + #define F_status_socket_block_not_s_length 18 #define F_status_socket_client_s_length 15 + #define F_status_socket_client_not_s_length 19 #define F_status_socket_not_s_length 12 + #define F_status_socket_option_s_length 15 + #define F_status_socket_option_not_s_length 19 #define F_status_socket_receive_s_length 16 + #define F_status_socket_receive_not_s_length 20 #define F_status_socket_send_s_length 13 + #define F_status_socket_send_not_s_length 17 + #define F_status_socket_stream_s_length 15 + #define F_status_socket_stream_not_s_length 19 + #define F_status_socket_support_s_length 16 + #define F_status_socket_support_not_s_length 20 #define F_status_socket_target_s_length 15 + #define F_status_socket_target_not_s_length 19 #define F_status_socket_time_s_length 13 #define F_status_socket_time_not_s_length 17 + #define F_status_socket_time_out_s_length 17 #define F_status_some_s_length 6 #define F_status_some_not_s_length 10 #define F_status_space_s_length 7 @@ -1701,6 +1739,7 @@ extern "C" { extern const f_string_static_t f_status_buffer_not_s; extern const f_string_static_t f_status_buffer_overflow_s; extern const f_string_static_t f_status_buffer_restrict_s; + extern const f_string_static_t f_status_buffer_scope_out_s; extern const f_string_static_t f_status_buffer_sufficient_s; extern const f_string_static_t f_status_buffer_sufficient_not_s; extern const f_string_static_t f_status_buffer_too_large_s; @@ -2054,6 +2093,8 @@ extern "C" { extern const f_string_static_t f_status_network_client_not_s; extern const f_string_static_t f_status_network_device_s; extern const f_string_static_t f_status_network_device_not_s; + extern const f_string_static_t f_status_network_down_s; + extern const f_string_static_t f_status_network_down_not_s; extern const f_string_static_t f_status_network_found_s; extern const f_string_static_t f_status_network_found_not_s; extern const f_string_static_t f_status_network_lost_s; @@ -2061,7 +2102,7 @@ extern "C" { extern const f_string_static_t f_status_network_not_s; extern const f_string_static_t f_status_network_reach_s; extern const f_string_static_t f_status_network_reach_client_s; - extern const f_string_static_t f_status_network_reach_client_not_s; + extern const f_string_static_t f_status_network_client_reach_not_s; extern const f_string_static_t f_status_network_reach_not_s; extern const f_string_static_t f_status_network_reach_server_s; extern const f_string_static_t f_status_network_reach_server_not_s; @@ -2069,6 +2110,8 @@ extern "C" { extern const f_string_static_t f_status_network_server_not_s; extern const f_string_static_t f_status_network_time_s; extern const f_string_static_t f_status_network_time_not_s; + extern const f_string_static_t f_status_network_up_s; + extern const f_string_static_t f_status_network_up_not_s; extern const f_string_static_t f_status_network_version_four_s; extern const f_string_static_t f_status_network_version_four_not_s; extern const f_string_static_t f_status_network_version_six_s; @@ -2151,6 +2194,8 @@ extern "C" { extern const f_string_static_t f_status_property_not_s; extern const f_string_static_t f_status_protocol_s; extern const f_string_static_t f_status_protocol_not_s; + extern const f_string_static_t f_status_protocol_option_s; + extern const f_string_static_t f_status_protocol_option_not_s; extern const f_string_static_t f_status_range_s; extern const f_string_static_t f_status_range_not_s; extern const f_string_static_t f_status_read_s; @@ -2214,13 +2259,25 @@ extern "C" { extern const f_string_static_t f_status_skip_not_s; extern const f_string_static_t f_status_socket_s; extern const f_string_static_t f_status_socket_block_s; + extern const f_string_static_t f_status_socket_block_not_s; extern const f_string_static_t f_status_socket_client_s; + extern const f_string_static_t f_status_socket_client_not_s; extern const f_string_static_t f_status_socket_not_s; + extern const f_string_static_t f_status_socket_option_s; + extern const f_string_static_t f_status_socket_option_not_s; extern const f_string_static_t f_status_socket_receive_s; + extern const f_string_static_t f_status_socket_receive_not_s; extern const f_string_static_t f_status_socket_send_s; + extern const f_string_static_t f_status_socket_send_not_s; + extern const f_string_static_t f_status_socket_stream_s; + extern const f_string_static_t f_status_socket_stream_not_s; + extern const f_string_static_t f_status_socket_support_s; + extern const f_string_static_t f_status_socket_support_not_s; extern const f_string_static_t f_status_socket_target_s; + extern const f_string_static_t f_status_socket_target_not_s; extern const f_string_static_t f_status_socket_time_s; extern const f_string_static_t f_status_socket_time_not_s; + extern const f_string_static_t f_status_socket_time_out_s; extern const f_string_static_t f_status_some_s; extern const f_string_static_t f_status_some_not_s; extern const f_string_static_t f_status_space_s; diff --git a/level_0/f_status_string/tests/unit/c/test-status_string-to.c b/level_0/f_status_string/tests/unit/c/test-status_string-to.c index 34dc473..1df112a 100644 --- a/level_0/f_status_string/tests/unit/c/test-status_string-to.c +++ b/level_0/f_status_string/tests/unit/c/test-status_string-to.c @@ -183,6 +183,7 @@ void test__f_status_string_to__works(void **state) { F_buffer_not, F_buffer_overflow, F_buffer_restrict, + F_buffer_scope_out, F_buffer_sufficient, F_buffer_sufficient_not, F_buffer_too_large, @@ -534,6 +535,8 @@ void test__f_status_string_to__works(void **state) { F_network_client_not, F_network_device, F_network_device_not, + F_network_down, + F_network_down_not, F_network_found, F_network_found_not, F_network_lost, @@ -541,7 +544,7 @@ void test__f_status_string_to__works(void **state) { F_network_not, F_network_reach, F_network_reach_client, - F_network_reach_client_not, + F_network_client_reach_not, F_network_reach_not, F_network_reach_server, F_network_reach_server_not, @@ -549,6 +552,8 @@ void test__f_status_string_to__works(void **state) { F_network_server_not, F_network_time, F_network_time_not, + F_network_up, + F_network_up_not, F_network_version_four, F_network_version_four_not, F_network_version_six, @@ -631,6 +636,8 @@ void test__f_status_string_to__works(void **state) { F_property_not, F_protocol, F_protocol_not, + F_protocol_option, + F_protocol_option_not, F_range, F_range_not, F_read, @@ -694,13 +701,25 @@ void test__f_status_string_to__works(void **state) { F_skip_not, F_socket, F_socket_block, + F_socket_block_not, F_socket_client, + F_socket_client_not, F_socket_not, + F_socket_option, + F_socket_option_not, F_socket_receive, + F_socket_receive_not, F_socket_send, + F_socket_send_not, + F_socket_stream, + F_socket_stream_not, + F_socket_support, + F_socket_support_not, F_socket_target, + F_socket_target_not, F_socket_time, F_socket_time_not, + F_socket_time_out, F_some, F_some_not, F_space, @@ -944,6 +963,7 @@ void test__f_status_string_to__works(void **state) { f_status_buffer_not_s, f_status_buffer_overflow_s, f_status_buffer_restrict_s, + f_status_buffer_scope_out_s, f_status_buffer_sufficient_s, f_status_buffer_sufficient_not_s, f_status_buffer_too_large_s, @@ -1295,6 +1315,8 @@ void test__f_status_string_to__works(void **state) { f_status_network_client_not_s, f_status_network_device_s, f_status_network_device_not_s, + f_status_network_down_s, + f_status_network_down_not_s, f_status_network_found_s, f_status_network_found_not_s, f_status_network_lost_s, @@ -1302,7 +1324,7 @@ void test__f_status_string_to__works(void **state) { f_status_network_not_s, f_status_network_reach_s, f_status_network_reach_client_s, - f_status_network_reach_client_not_s, + f_status_network_client_reach_not_s, f_status_network_reach_not_s, f_status_network_reach_server_s, f_status_network_reach_server_not_s, @@ -1310,6 +1332,8 @@ void test__f_status_string_to__works(void **state) { f_status_network_server_not_s, f_status_network_time_s, f_status_network_time_not_s, + f_status_network_up_s, + f_status_network_up_not_s, f_status_network_version_four_s, f_status_network_version_four_not_s, f_status_network_version_six_s, @@ -1392,6 +1416,8 @@ void test__f_status_string_to__works(void **state) { f_status_property_not_s, f_status_protocol_s, f_status_protocol_not_s, + f_status_protocol_option_s, + f_status_protocol_option_not_s, f_status_range_s, f_status_range_not_s, f_status_read_s, @@ -1455,13 +1481,25 @@ void test__f_status_string_to__works(void **state) { f_status_skip_not_s, f_status_socket_s, f_status_socket_block_s, + f_status_socket_block_not_s, f_status_socket_client_s, + f_status_socket_client_not_s, f_status_socket_not_s, + f_status_socket_option_s, + f_status_socket_option_not_s, f_status_socket_receive_s, + f_status_socket_receive_not_s, f_status_socket_send_s, + f_status_socket_send_not_s, + f_status_socket_stream_s, + f_status_socket_stream_not_s, + f_status_socket_support_s, + f_status_socket_support_not_s, f_status_socket_target_s, + f_status_socket_target_not_s, f_status_socket_time_s, f_status_socket_time_not_s, + f_status_socket_time_out_s, f_status_some_s, f_status_some_not_s, f_status_space_s, @@ -1551,16 +1589,23 @@ void test__f_status_string_to__works(void **state) { f_status_status_code_last_s, }; - for (uint16_t i = 0; i < 758; ++i) { + { + uint16_t i = 0; - f_string_static_t result = f_string_static_t_initialize; + for (; i < 777; ++i) { + + f_string_static_t result = f_string_static_t_initialize; - const f_status_t status = f_status_string_to(statuss[i], &result); + const f_status_t status = f_status_string_to(statuss[i], &result); - assert_int_equal(status, F_okay); - assert_int_equal(result.used, status_strings[i].used); - assert_string_equal(result.string, status_strings[i].string); - } // for + assert_int_equal(status, F_okay); + assert_int_equal(result.used, status_strings[i].used); + assert_string_equal(result.string, status_strings[i].string); + } // for + + // Ensure the last index is always the last code. + assert_string_equal(status_strings[--i].string, f_status_status_code_last_s.string); + } } #ifdef __cplusplus diff --git a/level_1/fl_status_string/c/status_string.c b/level_1/fl_status_string/c/status_string.c index da6d2ba..6cda00b 100644 --- a/level_1/fl_status_string/c/status_string.c +++ b/level_1/fl_status_string/c/status_string.c @@ -957,6 +957,12 @@ extern "C" { return F_okay; } + if (f_compare_dynamic(name, f_status_buffer_scope_out_s) == F_equal_to) { + *code = F_buffer_scope_out; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_buffer_sufficient_s) == F_equal_to) { *code = F_buffer_sufficient; @@ -3060,6 +3066,18 @@ extern "C" { return F_okay; } + if (f_compare_dynamic(name, f_status_network_down_s) == F_equal_to) { + *code = F_network_down; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_network_down_not_s) == F_equal_to) { + *code = F_network_down_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_network_found_s) == F_equal_to) { *code = F_network_found; @@ -3102,8 +3120,8 @@ extern "C" { return F_okay; } - if (f_compare_dynamic(name, f_status_network_reach_client_not_s) == F_equal_to) { - *code = F_network_reach_client_not; + if (f_compare_dynamic(name, f_status_network_client_reach_not_s) == F_equal_to) { + *code = F_network_client_reach_not; return F_okay; } @@ -3150,6 +3168,18 @@ extern "C" { return F_okay; } + if (f_compare_dynamic(name, f_status_network_up_s) == F_equal_to) { + *code = F_network_up; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_network_up_not_s) == F_equal_to) { + *code = F_network_up_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_network_version_four_s) == F_equal_to) { *code = F_network_version_four; @@ -3642,6 +3672,18 @@ extern "C" { return F_okay; } + if (f_compare_dynamic(name, f_status_protocol_option_s) == F_equal_to) { + *code = F_protocol_option; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_protocol_option_not_s) == F_equal_to) { + *code = F_protocol_option_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_range_s) == F_equal_to) { *code = F_range; @@ -4056,36 +4098,102 @@ extern "C" { return F_okay; } + if (f_compare_dynamic(name, f_status_socket_block_not_s) == F_equal_to) { + *code = F_socket_block_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_socket_client_s) == F_equal_to) { *code = F_socket_client; return F_okay; } + if (f_compare_dynamic(name, f_status_socket_client_not_s) == F_equal_to) { + *code = F_socket_client_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_socket_not_s) == F_equal_to) { *code = F_socket_not; return F_okay; } + if (f_compare_dynamic(name, f_status_socket_option_s) == F_equal_to) { + *code = F_socket_option; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_socket_option_not_s) == F_equal_to) { + *code = F_socket_option_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_socket_receive_s) == F_equal_to) { *code = F_socket_receive; return F_okay; } + if (f_compare_dynamic(name, f_status_socket_receive_not_s) == F_equal_to) { + *code = F_socket_receive_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_socket_send_s) == F_equal_to) { *code = F_socket_send; return F_okay; } + if (f_compare_dynamic(name, f_status_socket_send_not_s) == F_equal_to) { + *code = F_socket_send_not; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_socket_stream_s) == F_equal_to) { + *code = F_socket_stream; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_socket_stream_not_s) == F_equal_to) { + *code = F_socket_stream_not; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_socket_support_s) == F_equal_to) { + *code = F_socket_support; + + return F_okay; + } + + if (f_compare_dynamic(name, f_status_socket_support_not_s) == F_equal_to) { + *code = F_socket_support_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_socket_target_s) == F_equal_to) { *code = F_socket_target; return F_okay; } + if (f_compare_dynamic(name, f_status_socket_target_not_s) == F_equal_to) { + *code = F_socket_target_not; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_socket_time_s) == F_equal_to) { *code = F_socket_time; @@ -4098,6 +4206,12 @@ extern "C" { return F_okay; } + if (f_compare_dynamic(name, f_status_socket_time_out_s) == F_equal_to) { + *code = F_socket_time_out; + + return F_okay; + } + if (f_compare_dynamic(name, f_status_start_s) == F_equal_to) { *code = F_start; diff --git a/level_1/fl_status_string/tests/unit/c/test-status_string-from.c b/level_1/fl_status_string/tests/unit/c/test-status_string-from.c index 14473b1..5db6524 100644 --- a/level_1/fl_status_string/tests/unit/c/test-status_string-from.c +++ b/level_1/fl_status_string/tests/unit/c/test-status_string-from.c @@ -199,6 +199,7 @@ void test__fl_status_string_from__works(void **state) { F_buffer_not, F_buffer_overflow, F_buffer_restrict, + F_buffer_scope_out, F_buffer_sufficient, F_buffer_sufficient_not, F_buffer_too_large, @@ -550,6 +551,8 @@ void test__fl_status_string_from__works(void **state) { F_network_client_not, F_network_device, F_network_device_not, + F_network_down, + F_network_down_not, F_network_found, F_network_found_not, F_network_lost, @@ -557,7 +560,7 @@ void test__fl_status_string_from__works(void **state) { F_network_not, F_network_reach, F_network_reach_client, - F_network_reach_client_not, + F_network_client_reach_not, F_network_reach_not, F_network_reach_server, F_network_reach_server_not, @@ -565,6 +568,8 @@ void test__fl_status_string_from__works(void **state) { F_network_server_not, F_network_time, F_network_time_not, + F_network_up, + F_network_up_not, F_network_version_four, F_network_version_four_not, F_network_version_six, @@ -647,6 +652,8 @@ void test__fl_status_string_from__works(void **state) { F_property_not, F_protocol, F_protocol_not, + F_protocol_option, + F_protocol_option_not, F_range, F_range_not, F_read, @@ -710,13 +717,25 @@ void test__fl_status_string_from__works(void **state) { F_skip_not, F_socket, F_socket_block, + F_socket_block_not, F_socket_client, + F_socket_client_not, F_socket_not, + F_socket_option, + F_socket_option_not, F_socket_receive, + F_socket_receive_not, F_socket_send, + F_socket_send_not, + F_socket_stream, + F_socket_stream_not, + F_socket_support, + F_socket_support_not, F_socket_target, + F_socket_target_not, F_socket_time, F_socket_time_not, + F_socket_time_out, F_some, F_some_not, F_space, @@ -960,6 +979,7 @@ void test__fl_status_string_from__works(void **state) { f_status_buffer_not_s, f_status_buffer_overflow_s, f_status_buffer_restrict_s, + f_status_buffer_scope_out_s, f_status_buffer_sufficient_s, f_status_buffer_sufficient_not_s, f_status_buffer_too_large_s, @@ -1311,6 +1331,8 @@ void test__fl_status_string_from__works(void **state) { f_status_network_client_not_s, f_status_network_device_s, f_status_network_device_not_s, + f_status_network_down_s, + f_status_network_down_not_s, f_status_network_found_s, f_status_network_found_not_s, f_status_network_lost_s, @@ -1318,7 +1340,7 @@ void test__fl_status_string_from__works(void **state) { f_status_network_not_s, f_status_network_reach_s, f_status_network_reach_client_s, - f_status_network_reach_client_not_s, + f_status_network_client_reach_not_s, f_status_network_reach_not_s, f_status_network_reach_server_s, f_status_network_reach_server_not_s, @@ -1326,6 +1348,8 @@ void test__fl_status_string_from__works(void **state) { f_status_network_server_not_s, f_status_network_time_s, f_status_network_time_not_s, + f_status_network_up_s, + f_status_network_up_not_s, f_status_network_version_four_s, f_status_network_version_four_not_s, f_status_network_version_six_s, @@ -1408,6 +1432,8 @@ void test__fl_status_string_from__works(void **state) { f_status_property_not_s, f_status_protocol_s, f_status_protocol_not_s, + f_status_protocol_option_s, + f_status_protocol_option_not_s, f_status_range_s, f_status_range_not_s, f_status_read_s, @@ -1471,13 +1497,25 @@ void test__fl_status_string_from__works(void **state) { f_status_skip_not_s, f_status_socket_s, f_status_socket_block_s, + f_status_socket_block_not_s, f_status_socket_client_s, + f_status_socket_client_not_s, f_status_socket_not_s, + f_status_socket_option_s, + f_status_socket_option_not_s, f_status_socket_receive_s, + f_status_socket_receive_not_s, f_status_socket_send_s, + f_status_socket_send_not_s, + f_status_socket_stream_s, + f_status_socket_stream_not_s, + f_status_socket_support_s, + f_status_socket_support_not_s, f_status_socket_target_s, + f_status_socket_target_not_s, f_status_socket_time_s, f_status_socket_time_not_s, + f_status_socket_time_out_s, f_status_some_s, f_status_some_not_s, f_status_space_s, @@ -1567,15 +1605,22 @@ void test__fl_status_string_from__works(void **state) { f_status_status_code_last_s, }; - for (uint16_t i = 0; i < 758; ++i) { + { + uint16_t i = 0; - f_status_t result = F_okay; + for (; i < 777; ++i) { - const f_status_t status = fl_status_string_from(status_strings[i], &result); + f_status_t result = F_okay; - assert_int_equal(status, F_okay); - assert_int_equal(result, statuss[i]); - } // for + const f_status_t status = fl_status_string_from(status_strings[i], &result); + + assert_int_equal(status, F_okay); + assert_int_equal(result, statuss[i]); + } // for + + // Ensure the last index is always the last code. + assert_int_equal(statuss[--i], F_status_code_last); + } } #ifdef __cplusplus diff --git a/level_2/fll_error/c/error/string.c b/level_2/fll_error/c/error/string.c index c85fd2c..bf4476e 100644 --- a/level_2/fll_error/c/error/string.c +++ b/level_2/fll_error/c/error/string.c @@ -115,6 +115,12 @@ extern "C" { "%[%QSocket is blocked", "%[%QBuffer is restricted", "%[%QBuffer is insufficient", + "%[%QInvalid buffer", + "%[%QInvalid address", + "%[%QBuffer is out of scope", + "%[%QUnknown protocol option", + "%[%QUnknown socket option", + "%[%QSocket time out", }; #endif // _di_fll_error_s_a_ diff --git a/level_2/fll_error/c/error/string.h b/level_2/fll_error/c/error/string.h index d96d5db..7e09e5b 100644 --- a/level_2/fll_error/c/error/string.h +++ b/level_2/fll_error/c/error/string.h @@ -147,6 +147,13 @@ extern "C" { fll_error_s_107_buffer_too_small_e, fll_error_s_108_buffer_restrict_e, fll_error_s_109_buffer_insufficient_e, + fll_error_s_110_invalid_buffer_e, + fll_error_s_111_invalid_address_e, + fll_error_s_112_buffer_out_of_scope_e, + fll_error_s_113_unknown_protocol_option_e, + fll_error_s_114_unknown_socket_option_e, + fll_error_s_115_socket_type_unsupported_e, + fll_error_s_116_socket_time_out_e, }; // enum #endif // _di_fll_error_s_e_ diff --git a/level_2/fll_error/c/private-error.c b/level_2/fll_error/c/private-error.c index 501eb13..315aa10 100644 --- a/level_2/fll_error/c/private-error.c +++ b/level_2/fll_error/c/private-error.c @@ -74,6 +74,10 @@ extern "C" { return private_fll_error_print_simple(print, debug, macro_fll_error_s(000_access_denied)); } + if (status == F_address_not) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(111_invalid_address)); + } + if (status == F_array_too_large) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(001_max_arr_length)); } @@ -82,10 +86,18 @@ extern "C" { return private_fll_error_print_simple(print, debug, macro_fll_error_s(078_available_not_available)); } + if (status == F_buffer_not) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(110_invalid_buffer)); + } + if (status == F_buffer_restrict) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(108_buffer_restrict)); } + if (status == F_buffer_scope_out) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(112_buffer_out_of_scope)); + } + if (status == F_buffer_sufficient_not) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(109_buffer_insufficient)); } @@ -174,7 +186,7 @@ extern "C" { return private_fll_error_print_simple(print, debug, macro_fll_error_s(100_network_down)); } - if (status == F_network_reach_client_not) { + if (status == F_network_client_reach_not) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(098_client_unreachable)); } @@ -202,6 +214,10 @@ extern "C" { return private_fll_error_print_simple(print, debug, macro_fll_error_s(086_unknown_protocol)); } + if (status == F_protocol_option_not) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(113_unknown_protocol_option)); + } + if (status == F_space_not) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(093_out_of_space)); } @@ -214,10 +230,22 @@ extern "C" { return private_fll_error_print_simple(print, debug, macro_fll_error_s(087_invalid_socket)); } - if (status == F_stream_not) { + if (status == F_socket_option_not) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(114_unknown_socket_option)); + } + + if (status == F_socket_stream_not) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(103_invalid_stream)); } + if (status == F_socket_support_not) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(115_socket_type_unsupported)); + } + + if (status == F_socket_time_out) { + return private_fll_error_print_simple(print, debug, macro_fll_error_s(116_socket_time_out)); + } + if (status == F_string_too_large) { return private_fll_error_print_simple(print, debug, macro_fll_error_s(008_max_str_length)); }