1 /* Make a string describing file modes. 2 3 Copyright (C) 1998-1999, 2003, 2006, 2009-2023 Free Software Foundation, 4 Inc. 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 18 19 #ifndef FILEMODE_H_ 20 # define FILEMODE_H_ 21 22 /* This file uses HAVE_DECL_STRMODE. */ 23 # if !_GL_CONFIG_H_INCLUDED 24 # error "Please include config.h first." 25 # endif 26 27 # include <sys/types.h> 28 # include <sys/stat.h> 29 30 /* Get the declaration of strmode. */ 31 # if HAVE_DECL_STRMODE 32 # include <string.h> /* Mac OS X, FreeBSD, OpenBSD */ 33 # include <unistd.h> /* NetBSD */ 34 # endif 35 36 # ifdef __cplusplus 37 extern "C" { 38 # endif 39 40 # if !HAVE_DECL_STRMODE 41 extern void strmode (mode_t mode, char *str); 42 # endif 43 44 extern void filemodestring (struct stat const *statp, char *str); 45 46 # ifdef __cplusplus 47 } 48 # endif 49 50 #endif