/* libhw_generic/net.c - Device-independent utilities * * Copyright (C) 2024 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ #include #include #define NET_EOTHER 1 #define NET_EARP_TIMEOUT 2 #define NET_EACK_TIMEOUT 3 #define NET_ERECV_TIMEOUT 4 #define NET_ETHREAD 5 #define NET_ECLOSED 6 #define NET_EMSGSIZE 7 const char *net_strerror(int net_errno) { switch (net_errno) { case NET_EOTHER: return "unknown error"; case NET_EARP_TIMEOUT: return "ARP timeout"; case NET_EACK_TIMEOUT: return "TCP ACK timeout"; case NET_ERECV_TIMEOUT: return "receive timeout"; case NET_ETHREAD: return "thread error"; case NET_ECLOSED: return "already closed"; case NET_EMSGSIZE: return "message too long"; default: assert_notreached("invalid net_errno"); } }