Releasing 1.0.33.
[tinc] / src / pidfile.h
1 #ifndef TINC_PIDFILE_H
2 #define TINC_PIDFILE_H
3
4 /*
5     pidfile.h - interact with pidfiles
6     Copyright (c) 1995  Martin Schulze <Martin.Schulze@Linux.DE>
7
8     This file is part of the sysklogd package, a kernel and system log daemon.
9
10     This program is free software; you can redistribute it and/or modify
11     it under the terms of the GNU General Public License as published by
12     the Free Software Foundation; either version 2 of the License, or
13     (at your option) any later version.
14
15     This program is distributed in the hope that it will be useful,
16     but WITHOUT ANY WARRANTY; without even the implied warranty of
17     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18     GNU General Public License for more details.
19
20     You should have received a copy of the GNU General Public License along
21     with this program; if not, write to the Free Software Foundation, Inc.,
22     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 */
24
25 #ifndef HAVE_MINGW
26 /* read_pid
27  *
28  * Reads the specified pidfile and returns the read pid.
29  * 0 is returned if either there's no pidfile, it's empty
30  * or no pid can be read.
31  */
32 extern pid_t read_pid(const char *pidfile);
33
34 /* check_pid
35  *
36  * Reads the pid using read_pid and looks up the pid in the process
37  * table (using /proc) to determine if the process already exists. If
38  * so 1 is returned, otherwise 0.
39  */
40 extern pid_t check_pid(const char *pidfile);
41
42 /* write_pid
43  *
44  * Writes the pid to the specified file. If that fails 0 is
45  * returned, otherwise the pid.
46  */
47 extern pid_t write_pid(const char *pidfile);
48
49 /* remove_pid
50  *
51  * Remove the the specified file. The result from unlink(2)
52  * is returned
53  */
54 extern int remove_pid(const char *pidfile);
55 #endif
56
57 #endif