aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs6net/s6net_ident_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs6net/s6net_ident_error.c')
-rw-r--r--src/libs6net/s6net_ident_error.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/libs6net/s6net_ident_error.c b/src/libs6net/s6net_ident_error.c
new file mode 100644
index 0000000..de01714
--- /dev/null
+++ b/src/libs6net/s6net_ident_error.c
@@ -0,0 +1,33 @@
+/* ISC license */
+
+#include <errno.h>
+#include <skalibs/error.h>
+#include <s6-networking/ident.h>
+
+#define N 5
+
+static char const *s6net_ident_error_strings[N+1] =
+{
+ "invalid port",
+ "no such user",
+ "identification denied",
+ "unknown error",
+ "X-error-token",
+ "(invalid error code)"
+} ;
+
+static int const s6net_ident_error_codes[N] =
+{
+ EINVAL,
+ ESRCH,
+ EPERM,
+ EIO,
+ EEXIST
+} ;
+
+char const *s6net_ident_error_str (int e)
+{
+ register unsigned int i = 0 ;
+ for (; i < N ; i++) if (e == s6net_ident_error_codes[i]) break ;
+ return s6net_ident_error_strings[i] ;
+}