]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/fileio.h
fileio: add 'enforce_newline' argument to write_string_stream()
[thirdparty/systemd.git] / src / basic / fileio.h
CommitLineData
a5c32cff
HH
1/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
3#pragma once
4
5/***
6 This file is part of systemd.
7
8 Copyright 2010 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22***/
23#include <stddef.h>
b4bc041b
ZJS
24#include <stdio.h>
25
a5c32cff
HH
26#include "macro.h"
27
40beecdb 28int write_string_stream(FILE *f, const char *line, bool enforce_newline);
574d5f2d 29int write_string_file(const char *fn, const char *line);
70c949a4 30int write_string_file_no_create(const char *fn, const char *line);
574d5f2d 31int write_string_file_atomic(const char *fn, const char *line);
b4bc041b 32
a5c32cff
HH
33int read_one_line_file(const char *fn, char **line);
34int read_full_file(const char *fn, char **contents, size_t *size);
717603e3 35int read_full_stream(FILE *f, char **contents, size_t *size);
a5c32cff 36
15dee3f0
LP
37int verify_one_line_file(const char *fn, const char *line);
38
a5c32cff 39int parse_env_file(const char *fname, const char *separator, ...) _sentinel_;
717603e3
LP
40int load_env_file(FILE *f, const char *fname, const char *separator, char ***l);
41int load_env_file_pairs(FILE *f, const char *fname, const char *separator, char ***l);
42
a5c32cff 43int write_env_file(const char *fname, char **l);
68fee104
ZJS
44
45int executable_is_script(const char *path, char **interpreter);
69ab8088
ZJS
46
47int get_status_field(const char *filename, const char *pattern, char **field);