xref: /netbsd-src/external/ibm-public/postfix/dist/src/util/edit_file.h (revision 33881f779a77dce6440bdc44610d94de75bebefe)
1 /*	$NetBSD: edit_file.h,v 1.3 2020/03/18 19:05:21 christos Exp $	*/
2 
3 #ifndef _EDIT_FILE_H_INCLUDED_
4 #define _EDIT_FILE_H_INCLUDED_
5 
6 /*++
7 /* NAME
8 /*	edit_file 3h
9 /* SUMMARY
10 /*	simple cooperative file updating protocol
11 /* SYNOPSIS
12 /*	#include <edit_file.h>
13 /* DESCRIPTION
14 /* .nf
15 
16  /*
17   * Utility library.
18   */
19 #include <vstream.h>
20 
21  /*
22   * External interface.
23   */
24 typedef struct {
25     /* Private. */
26     char   *final_path;
27     mode_t  final_mode;
28     /* Public. */
29     char   *tmp_path;
30     VSTREAM *tmp_fp;
31 } EDIT_FILE;
32 
33 #define EDIT_FILE_SUFFIX ".tmp"
34 
35 extern EDIT_FILE *edit_file_open(const char *, int, mode_t);
36 extern int WARN_UNUSED_RESULT edit_file_close(EDIT_FILE *);
37 extern void edit_file_cleanup(EDIT_FILE *);
38 
39 /* LICENSE
40 /* .ad
41 /* .fi
42 /*	The Secure Mailer license must be distributed with this software.
43 /* AUTHOR(S)
44 /*	Wietse Venema
45 /*	IBM T.J. Watson Research
46 /*	P.O. Box 704
47 /*	Yorktown Heights, NY 10598, USA
48 /*
49 /*	Wietse Venema
50 /*	Google, Inc.
51 /*	111 8th Avenue
52 /*	New York, NY 10011, USA
53 /*--*/
54 
55 #endif
56