/* $Cambridge: hermes/src/prayer/accountd/os.h,v 1.2 2004/10/01 12:42:27 dpc22 Exp $ */ /************************************************ * Prayer - a Webmail Interface * ************************************************/ /* Copyright (c) University of Cambridge 2000 - 2002 */ /* See the file NOTICE for conditions of use and distribution. */ /* External Interfere Prototypes for os.c */ BOOL os_socketpair(int *sockfd); int os_connect_unix_socket(char *name); int os_connect_inet_socket(char *host, unsigned long port); int os_bind_unix_socket(char *name); int os_bind_inet_socket(unsigned long port); int os_accept_unix(int sockfd); int os_accept_inet(int sockfd, struct ipaddr *ipaddr); BOOL os_run(char *cmdline, int *fdp, int *childpidp); BOOL os_run_pty(char *cmdline, int *fdp, int *childpidp); void os_child_reaper(); pid_t os_waitpid_nohang(); BOOL os_signal_child_init(void (*fn) ()); BOOL os_signal_child_clear(void); BOOL os_signal_alarm_init(void (*fn) ()); BOOL os_signal_alarm_clear(void); BOOL os_lock_exclusive(int fd); BOOL os_lock_shared(int fd); BOOL os_lock_release(int fd); BOOL os_lock_exclusive_allow_break(int fd); BOOL os_lock_shared_allow_break(int fd); BOOL os_lock_release_allow_break(int fd); BOOL os_random(struct config *config, void *buffer, unsigned long count);