65ef539739
VFS CHANGES: - dmap table no longer statically initialized in VFS - Dropped FSSIGNON svrctl call no longer used by INET INET CHANGES: - INET announces its presence to VFS just like any other driver RS CHANGES: - The boot image dev table contains all the data to initialize VFS' dmap table - RS interface supports asynchronous up and update operations now - RS interface extended to support driver style and flags
104 lines
4.6 KiB
C
104 lines
4.6 KiB
C
/* Function prototypes. */
|
|
|
|
/* Structs used in prototypes must be declared as such first. */
|
|
struct rproc;
|
|
|
|
/* exec.c */
|
|
_PROTOTYPE( int srv_execve, (int proc_e,
|
|
char *exec, size_t exec_len, char *argv[], char **env));
|
|
|
|
/* main.c */
|
|
_PROTOTYPE( int main, (void));
|
|
|
|
/* request.c */
|
|
_PROTOTYPE( int do_up, (message *m));
|
|
_PROTOTYPE( int do_down, (message *m));
|
|
_PROTOTYPE( int do_refresh, (message *m));
|
|
_PROTOTYPE( int do_restart, (message *m));
|
|
_PROTOTYPE( int do_shutdown, (message *m));
|
|
_PROTOTYPE( void do_period, (message *m));
|
|
_PROTOTYPE( int do_init_ready, (message *m));
|
|
_PROTOTYPE( int do_update, (message *m));
|
|
_PROTOTYPE( int do_upd_ready, (message *m));
|
|
_PROTOTYPE( void do_sigchld, (void));
|
|
_PROTOTYPE( int do_getsysinfo, (message *m));
|
|
_PROTOTYPE( int do_lookup, (message *m));
|
|
|
|
/* manager.c */
|
|
_PROTOTYPE( int caller_is_root, (endpoint_t endpoint) );
|
|
_PROTOTYPE( int caller_can_control, (endpoint_t endpoint, char *label) );
|
|
_PROTOTYPE( int check_call_permission, (endpoint_t caller, int call,
|
|
struct rproc *rp) );
|
|
_PROTOTYPE( int copy_rs_start, (endpoint_t src_e, char *src_rs_start,
|
|
struct rs_start *rs_start) );
|
|
_PROTOTYPE( int copy_label, (endpoint_t src_e, char *src_label, size_t src_len,
|
|
char *dst_label, size_t dst_len) );
|
|
_PROTOTYPE( void build_cmd_dep, (struct rproc *rp) );
|
|
_PROTOTYPE( int srv_fork, (void) );
|
|
_PROTOTYPE( int srv_kill, (pid_t pid, int sig) );
|
|
#define kill_service(rp, errstr, err) \
|
|
kill_service_debug(__FILE__, __LINE__, rp, errstr, err)
|
|
_PROTOTYPE( int kill_service_debug, (char *file, int line, struct rproc *rp,
|
|
char *errstr, int err) );
|
|
#define crash_service(rp) \
|
|
crash_service_debug(__FILE__, __LINE__, rp)
|
|
_PROTOTYPE( int crash_service_debug, (char *file, int line, struct rproc *rp) );
|
|
#define cleanup_service(rp) \
|
|
cleanup_service_debug(__FILE__, __LINE__, rp)
|
|
_PROTOTYPE( void cleanup_service_debug, (char *file, int line,
|
|
struct rproc *rp) );
|
|
_PROTOTYPE( int create_service, (struct rproc *rp) );
|
|
_PROTOTYPE( int publish_service, (struct rproc *rp) );
|
|
_PROTOTYPE( int publish_process, (struct rproc *rp) );
|
|
_PROTOTYPE( int unpublish_service, (struct rproc *rp) );
|
|
_PROTOTYPE( int unpublish_process, (struct rproc *rp) );
|
|
_PROTOTYPE( int run_service, (struct rproc *rp, int init_type) );
|
|
_PROTOTYPE( int start_service, (struct rproc *rp) );
|
|
_PROTOTYPE( void stop_service, (struct rproc *rp,int how) );
|
|
_PROTOTYPE( int update_service, (struct rproc **src_rpp,
|
|
struct rproc **dst_rpp) );
|
|
_PROTOTYPE( void activate_service, (struct rproc *rp, struct rproc *ex_rp) );
|
|
_PROTOTYPE( void terminate_service, (struct rproc *rp));
|
|
_PROTOTYPE( void restart_service, (struct rproc *rp) );
|
|
_PROTOTYPE( void inherit_service_defaults, (struct rproc *def_rp,
|
|
struct rproc *rp) );
|
|
_PROTOTYPE( void get_service_instances, (struct rproc *rp, struct rproc ***rps,
|
|
int *length) );
|
|
_PROTOTYPE( int read_exec, (struct rproc *rp) );
|
|
_PROTOTYPE( void share_exec, (struct rproc *rp_src, struct rproc *rp_dst) );
|
|
_PROTOTYPE( void free_exec, (struct rproc *rp) );
|
|
_PROTOTYPE( int init_slot, (struct rproc *rp, struct rs_start *rs_start,
|
|
endpoint_t source) );
|
|
_PROTOTYPE( int clone_slot, (struct rproc *rp, struct rproc **clone_rpp) );
|
|
_PROTOTYPE( void swap_slot, (struct rproc **src_rpp, struct rproc **dst_rpp) );
|
|
_PROTOTYPE( struct rproc* lookup_slot_by_label, (char *label) );
|
|
_PROTOTYPE( struct rproc* lookup_slot_by_pid, (pid_t pid) );
|
|
_PROTOTYPE( struct rproc* lookup_slot_by_dev_nr, (dev_t dev_nr) );
|
|
_PROTOTYPE( int alloc_slot, (struct rproc **rpp) );
|
|
_PROTOTYPE( void free_slot, (struct rproc *rp) );
|
|
_PROTOTYPE( char *get_next_label, (char *ptr, char *label, char *caller_label));
|
|
_PROTOTYPE( void add_forward_ipc, (struct rproc *rp, struct priv *privp) );
|
|
_PROTOTYPE( void add_backward_ipc, (struct rproc *rp, struct priv *privp) );
|
|
_PROTOTYPE( void init_privs, (struct rproc *rp, struct priv *privp) );
|
|
_PROTOTYPE( void update_period, (message *m_ptr) );
|
|
_PROTOTYPE( void end_update, (int result) );
|
|
|
|
/* utility.c */
|
|
_PROTOTYPE( int init_service, (struct rproc *rp, int type));
|
|
_PROTOTYPE(void fill_call_mask, ( int *calls, int tot_nr_calls,
|
|
bitchunk_t *call_mask, int call_base, int is_init));
|
|
_PROTOTYPE( char* srv_to_string, (struct rproc *rp));
|
|
_PROTOTYPE( void reply, (endpoint_t who, message *m_ptr));
|
|
_PROTOTYPE( void late_reply, (struct rproc *rp, int code));
|
|
_PROTOTYPE( int rs_isokendpt, (endpoint_t endpoint, int *proc));
|
|
|
|
/* memory.c */
|
|
_PROTOTYPE( void* rs_startup_sbrk, (size_t size));
|
|
_PROTOTYPE( void* rs_startup_sbrk_synch, (size_t size));
|
|
_PROTOTYPE( int rs_startup_segcopy, (endpoint_t src_proc, int src_s,
|
|
int dst_s, vir_bytes dst_vir, phys_bytes bytes));
|
|
|
|
/* error.c */
|
|
_PROTOTYPE( char * init_strerror, (int errnum) );
|
|
_PROTOTYPE( char * lu_strerror, (int errnum) );
|
|
|