From cb57664d297d1669be7887d2e17a1a2128d39af6 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 20 Oct 2004 10:05:07 +0000 Subject: * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED, EKEYREVOKED, EKEYREJECTED. * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist. * sysdeps/gnu/errlist.c: Regenerated * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count higher than ERR_MAX reports. Instead, emit a #define ERR_MAX. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target. (generated): Add errlist-compat.h. * sysdeps/gnu/errlist.awk: Make output #include to define ERR_MAX and use that for table size. --- sysdeps/gnu/errlist.c | 42 +++++++++++++++++++++++++++++++++++++++- sysdeps/unix/sysv/linux/Versions | 3 +++ 2 files changed, 44 insertions(+), 1 deletion(-) (limited to 'sysdeps') diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c index 8131038..3098fc3 100644 --- a/sysdeps/gnu/errlist.c +++ b/sysdeps/gnu/errlist.c @@ -7,7 +7,15 @@ # define ERR_REMAP(n) n #endif -const char *const _sys_errlist_internal[] = +#if !defined EMIT_ERR_MAX && !defined ERRLIST_NO_COMPAT +# include +#endif +#ifdef ERR_MAX +# define ERRLIST_SIZE ERR_MAX + 1 +#else +# define ERRLIST_SIZE +#endif +const char *const _sys_errlist_internal[ERRLIST_SIZE] = { [0] = N_("Success"), #ifdef EPERM @@ -1400,6 +1408,38 @@ TRANS error; @pxref{Cancel AIO Operations}. */ # define ERR_MAX EMEDIUMTYPE # endif #endif +#ifdef ENOKEY +/* */ + [ERR_REMAP (ENOKEY)] = N_("Required key not available"), +# if ENOKEY > ERR_MAX +# undef ERR_MAX +# define ERR_MAX ENOKEY +# endif +#endif +#ifdef EKEYEXPIRED +/* */ + [ERR_REMAP (EKEYEXPIRED)] = N_("Key has expired"), +# if EKEYEXPIRED > ERR_MAX +# undef ERR_MAX +# define ERR_MAX EKEYEXPIRED +# endif +#endif +#ifdef EKEYREVOKED +/* */ + [ERR_REMAP (EKEYREVOKED)] = N_("Key has been revoked"), +# if EKEYREVOKED > ERR_MAX +# undef ERR_MAX +# define ERR_MAX EKEYREVOKED +# endif +#endif +#ifdef EKEYREJECTED +/* */ + [ERR_REMAP (EKEYREJECTED)] = N_("Key was rejected by service"), +# if EKEYREJECTED > ERR_MAX +# undef ERR_MAX +# define ERR_MAX EKEYREJECTED +# endif +#endif }; const int _sys_nerr_internal diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index 955d93d..2d38ed6 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -117,6 +117,9 @@ libc { # new syscalls setaltroot; add_key; request_key; keyctl; + + #errlist-compat 129 + _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } GLIBC_PRIVATE { # functions used in other libraries -- cgit v1.1