chiark / gitweb /
Makefile.in: Move settings of various directories above CFLAGS etc.
[secnet.git] / secnet.h
index 54d84a5143ad014bf984934049cc68cf851a0d1a..b2f6927af03ff29fd4d0c35482f84e245db25031 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -16,6 +16,7 @@
 #include <errno.h>
 #include <sys/poll.h>
 #include <sys/types.h>
+#include <sys/wait.h>
 #include <sys/time.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -58,6 +59,10 @@ extern struct log_if *system_log;
 /* from process.c */
 extern void start_signal_handling(void);
 
+void afterfork(void);
+/* Must be called before exec in every child made after
+   start_signal_handling.  Safe to call in earlier children too. */
+
 /***** CONFIGURATION support *****/
 
 extern bool_t just_check_config; /* If True then we're going to exit after
@@ -169,6 +174,7 @@ extern void *safe_realloc_ary(void *p, size_t size, size_t count,
                              const char *message);
 
 void setcloexec(int fd); /* cannot fail */
+void setnonblock(int fd); /* cannot fail */
 void pipe_cloexec(int fd[2]); /* pipe(), setcloexec() twice; cannot fail */
 
 extern int sys_cmd(const char *file, const char *argc, ...);
@@ -378,7 +384,7 @@ struct comm_addr {
 };
 
 /* Return True if the packet was processed, and shouldn't be passed to
-   any other potential receivers. */
+   any other potential receivers. (buf is freed iff True returned.) */
 typedef bool_t comm_notify_fn(void *state, struct buffer_if *buf,
                              const struct comm_addr *source);
 typedef void comm_request_notify_fn(void *commst, void *nst,
@@ -597,6 +603,8 @@ void lg_vperror(struct log_if *lg, const char *desc, struct cloc *loc,
 void lg_perror(struct log_if *lg, const char *desc, struct cloc *loc,
               int class, int errnoval, const char *fmt, ...)
     FORMAT(printf,6,7);
+void lg_exitstatus(struct log_if *lg, const char *desc, struct cloc *loc,
+                  int class, int status, const char *progname);
 
 /* The cfgfatal() family of functions require messages that end in '\n' */
 extern NORETURN(cfgfatal(struct cloc loc, cstring_t facility,