1 /* strerror-override.h --- POSIX compatible system error routine 2 3 Copyright (C) 2010-2022 Free Software Foundation, Inc. 4 5 This file is free software: you can redistribute it and/or modify 6 it under the terms of the GNU Lesser General Public License as 7 published by the Free Software Foundation; either version 2.1 of the 8 License, or (at your option) any later version. 9 10 This file is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public License 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _GL_STRERROR_OVERRIDE_H 19 # define _GL_STRERROR_OVERRIDE_H 20 21 # include <errno.h> 22 # include <stddef.h> 23 24 /* Reasonable buffer size that should never trigger ERANGE; if this 25 proves too small, we intentionally abort(), to remind us to fix 26 this value. */ 27 # define STACKBUF_LEN 256 28 29 /* If ERRNUM maps to an errno value defined by gnulib, return a string 30 describing the error. Otherwise return NULL. */ 31 # if REPLACE_STRERROR_0 \ 32 || GNULIB_defined_ESOCK \ 33 || GNULIB_defined_ESTREAMS \ 34 || GNULIB_defined_EWINSOCK \ 35 || GNULIB_defined_ENOMSG \ 36 || GNULIB_defined_EIDRM \ 37 || GNULIB_defined_ENOLINK \ 38 || GNULIB_defined_EPROTO \ 39 || GNULIB_defined_EMULTIHOP \ 40 || GNULIB_defined_EBADMSG \ 41 || GNULIB_defined_EOVERFLOW \ 42 || GNULIB_defined_ENOTSUP \ 43 || GNULIB_defined_ENETRESET \ 44 || GNULIB_defined_ECONNABORTED \ 45 || GNULIB_defined_ESTALE \ 46 || GNULIB_defined_EDQUOT \ 47 || GNULIB_defined_ECANCELED \ 48 || GNULIB_defined_EOWNERDEAD \ 49 || GNULIB_defined_ENOTRECOVERABLE \ 50 || GNULIB_defined_EILSEQ 51 extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST; 52 # else 53 # define strerror_override(ignored) NULL 54 # define GNULIB_defined_strerror_override_macro 1 55 # endif 56 57 #endif /* _GL_STRERROR_OVERRIDE_H */ 58