glib-2.0: Support owned delegates with Idle.add
[vala-lang.git] / vapi / libdaemon.vapi
blobdb242d9e9e9f797d7948921e9be992a0baec8377
1 /* daemon.vapi
2  *
3  * Copyright (C) 2009 Jukka-Pekka Iivonen
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
10  * This library 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 GNU
13  * Lesser General Public License for more details.
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
18  *
19  * Author:
20  *      Jukka-Pekka Iivonen <jp0409@jippii.fi>
21  */
23 [CCode (lower_case_cprefix = "daemon_", cheader_filename = "signal.h,libdaemon/daemon.h")]
24 namespace Daemon {
25         [CCode (cname = "int", cprefix = "DAEMON_LOG_")]
26         public enum LogFlags {
27                 SYSLOG,
28                 STDERR,
29                 STDOUT,
30                 AUTO
31         }
33         [CCode (cname = "int", cprefix = "LOG_")]
34         public enum LogPriority {
35                 EMERG,
36                 ALERT,
37                 CRIT,
38                 ERR,
39                 WARNING,
40                 NOTICE,
41                 INFO,
42                 DEBUG 
43         }
45         [CCode (cname = "int", cprefix = "SIG")]
46         public enum Sig {
47                 HUP,
48                 INT,
49                 QUIT,
50                 ILL,
51                 TRAP,
52                 ABRT,
53                 IOT,
54                 BUS,
55                 FPE,
56                 KILL,
57                 USR1,
58                 SEGV,
59                 USR2,
60                 PIPE,
61                 ALRM,
62                 TERM,
63                 STKFLT,
64                 CLD,
65                 CHLD,
66                 CONT,
67                 STOP,
68                 TSTP,
69                 TTIN,
70                 TTOU,
71                 URG,
72                 XCPU,
73                 XFSZ,
74                 VTALRM,
75                 PROF,
76                 WINCH,
77                 POLL,
78                 IO,
79                 PWR,
80                 SYS,
81                 UNUSED
82         }
84         public int exec (string dir, out int ret, string prog, ...);
86         public int fork ();
87         public int retval_init ();
88         public void retval_done ();
89         public int retval_wait (int timeout);
90         public int retval_send (int s);
91         public int close_all (int except_fd, ...);
92         public int close_allv ([CCode (array_length = false)] int[] except_fds);
93         public int unblock_sigs (int except, ...);
94         public int unblock_sigsv ([CCode (array_length = false)] int[] except);
95         public int reset_sigs (int except, ...);
96         public int reset_sigsv ([CCode (array_length = false)] int[] except);
98         public static LogFlags log_use;
99         public static string log_ident;
101         public void log (int prio, string t, ...);
102         public weak string ident_from_argv0 (string argv0);
104         public int nonblock (int fd, int b);
106         public delegate string PidFileProc ();
108         public static string pid_file_ident;
109         public static PidFileProc pid_file_proc;
111         public weak string pid_file_proc_default ();
112         public int pid_file_create ();
113         public int pid_file_remove ();
114         public int pid_file_is_running ();
115         public int pid_file_kill (Sig s);
116         public int pid_file_kill_wait (Sig s, int m);
118         public int signal_init (Sig s, ...);
119         public int signal_install (Sig s);
120         public void signal_done ();
121         public int signal_next ();
122         public int signal_fd ();