1 /* mkdir-p.h -- Ensure that a directory and its parents exist. 2 3 Copyright (C) 1994-1997, 2000, 2003-2006, 2009-2021 Free Software 4 Foundation, 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 /* Written by Paul Eggert, David MacKenzie, and Jim Meyering. */ 20 21 #include <stdbool.h> 22 #include <sys/types.h> 23 24 struct savewd; 25 bool make_dir_parents (char *dir, 26 struct savewd *wd, 27 int (*make_ancestor) (char const *, char const *, 28 void *), 29 void *options, 30 mode_t mode, 31 void (*announce) (char const *, void *), 32 mode_t mode_bits, 33 uid_t owner, 34 gid_t group, 35 bool preserve_existing);