openat: don’t close (-1)
[gnulib.git] / lib / read-file.h
blobe91699f550cfdf1ff39a31e396ca91ec0c218e63
1 /* read-file.h -- read file contents into a string
2 Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
3 Written by Simon Josefsson.
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.
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.
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/>. */
18 #ifndef READ_FILE_H
19 #define READ_FILE_H
21 /* This file uses _GL_ATTRIBUTE_MALLOC. */
22 #if !_GL_CONFIG_H_INCLUDED
23 #error "Please include config.h first."
24 #endif
26 /* Get size_t, free(). */
27 #include <stdlib.h>
29 /* Get FILE. */
30 #include <stdio.h>
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
37 /* Indicate that the file is treated as binary. */
38 #define RF_BINARY 0x1
40 /* Indicate that the file content contains sensitive information. */
41 #define RF_SENSITIVE 0x2
43 extern char *fread_file (FILE * stream, int flags, size_t * length)
44 _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
46 extern char *read_file (const char *filename, int flags, size_t * length)
47 _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
50 #ifdef __cplusplus
52 #endif
54 #endif /* READ_FILE_H */