~ubuntu-branches/debian/experimental/dpkg/experimental

« back to all changes in this revision

Viewing changes to lib/dpkg/atomic-file.h

  • Committer: Package Import Robot
  • Author(s): Guillem Jover
  • Date: 2012-01-31 21:58:08 UTC
  • Revision ID: package-import@ubuntu.com-20120131215808-jd379pas5w3epk43
Tags: 1.16.2~really1.16.1.2
Revert unapproved NMU.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * libdpkg - Debian packaging suite library routines
3
 
 * atomic-file.h - atomic file helper functions
4
 
 *
5
 
 * Copyright © 2011 Guillem Jover <guillem@debian.org>
6
 
 *
7
 
 * This is free software; you can redistribute it and/or modify
8
 
 * it under the terms of the GNU General Public License as published by
9
 
 * the Free Software Foundation; either version 2 of the License, or
10
 
 * (at your option) any later version.
11
 
 *
12
 
 * This is distributed in the hope that it will be useful,
13
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
 * GNU General Public License for more details.
16
 
 *
17
 
 * You should have received a copy of the GNU General Public License
18
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 
 */
20
 
 
21
 
#ifndef LIBDPKG_ATOMIC_FILE_H
22
 
#define LIBDPKG_ATOMIC_FILE_H
23
 
 
24
 
#include <stdio.h>
25
 
 
26
 
#include <dpkg/macros.h>
27
 
 
28
 
DPKG_BEGIN_DECLS
29
 
 
30
 
enum atomic_file_flags {
31
 
        aff_backup = 01,
32
 
};
33
 
 
34
 
struct atomic_file {
35
 
        enum atomic_file_flags flags;
36
 
        char *name;
37
 
        char *name_new;
38
 
        FILE *fp;
39
 
};
40
 
 
41
 
struct atomic_file *
42
 
atomic_file_new(const char *filename, enum atomic_file_flags flags);
43
 
void atomic_file_open(struct atomic_file *file);
44
 
void atomic_file_sync(struct atomic_file *file);
45
 
void atomic_file_close(struct atomic_file *file);
46
 
void atomic_file_commit(struct atomic_file *file);
47
 
void atomic_file_remove(struct atomic_file *file);
48
 
void atomic_file_free(struct atomic_file *file);
49
 
 
50
 
DPKG_END_DECLS
51
 
 
52
 
#endif /* LIBDPKG_ATOMIC_FILE_H */