diff options
Diffstat (limited to 'src/pies.h')
-rw-r--r-- | src/pies.h | 36 |
1 files changed, 34 insertions, 2 deletions
@@ -282,17 +282,19 @@ void register_prog (struct component *comp); int progman_running_p (void); size_t progman_running_count (void); void progman_start (void); void progman_wake_sleeping (int); void progman_stop (void); void progman_cleanup (int expect_term); +void progman_filter (int (*filter) (struct component *, void *data), + void *data); void progman_stop_component (const char *name); void progman_dump_stats (const char *filename); void progman_dump_prereq (void); void progman_dump_depmap (void); -int progman_accept (int socket); +int progman_accept (int socket, void *data); int progman_build_depmap (void); void progman_create_sockets (void); struct component *progman_lookup_component (const char *tag); struct component *progman_lookup_tcpmux (const char *service, const char *master); @@ -359,13 +361,16 @@ struct pies_url int pies_url_create (struct pies_url **purl, const char *str); void pies_url_destroy (struct pies_url **purl); const char * pies_url_get_arg (struct pies_url *url, const char *argname); void pies_pause (void); -int register_socket (int socktype, int fd); +void *register_socket (int fd, int (*handler) (int, void *), void *data); +void deregister_socket (int fd); + +int register_program_socket (int socktype, int fd, void *data); int pass_fd (const char *socket, int fd, unsigned time_out); int create_socket (struct pies_url *url, int socket_type, const char *user, mode_t umask); void disable_socket (int fd); void enable_socket (int fd); @@ -453,12 +458,39 @@ struct inetd_builtin struct inetd_builtin *inetd_builtin_lookup (const char *service, int socktype); /* sysvinit.c */ void sysvinit_begin (void); int inittrans (void); int is_comp_wait (struct component *comp); +int is_valid_runlevel (int c); + +#ifndef INIT_FIFO +# define INIT_FIFO "/dev/initctl" +#endif + +#define INIT_MAGIC 0x03091969 +#define INIT_CMD_START 0 +#define INIT_CMD_RUNLVL 1 +#define INIT_CMD_POWERFAIL 2 +#define INIT_CMD_POWERFAILNOW 3 +#define INIT_CMD_POWEROK 4 +#define INIT_CMD_BSD 5 +#define INIT_CMD_SETENV 6 +#define INIT_CMD_UNSETENV 7 + +#define INIT_CMD_CHANGECONS 12345 + +struct sysvinit_request { + int magic; /* Magic number */ + int cmd; /* What kind of request */ + int runlevel; /* Runlevel to change to */ + int sleeptime; /* Time between TERM and KILL */ + char pad[368]; +}; + + /* utmp.c */ #define SYSV_ACCT_BOOT 0 #define SYSV_ACCT_RUNLEVEL 1 #define SYSV_ACCT_PROC_START 2 #define SYSV_ACCT_PROC_STOP 3 |