1 /* Save the list of files in a directory in a string.
2
3 Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2022 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 David MacKenzie <djm@gnu.ai.mit.edu>. */
20
21 #ifndef _GL_SAVEDIR_H
22 #define _GL_SAVEDIR_H
23
24 #include <dirent.h>
25 #include <stdlib.h>
26
27 enum savedir_option
28 {
29 SAVEDIR_SORT_NONE,
30 SAVEDIR_SORT_NAME,
31 #if D_INO_IN_DIRENT
32 SAVEDIR_SORT_INODE,
33 SAVEDIR_SORT_FASTREAD = SAVEDIR_SORT_INODE
34 #else
35 SAVEDIR_SORT_FASTREAD = SAVEDIR_SORT_NONE
36 #endif
37 };
38
39 char *streamsavedir (DIR *, enum savedir_option)
40 _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
41 char *savedir (char const *, enum savedir_option)
42 _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
43
44 #endif