/* Prototypes for functions defined in
process.c
 */

extern int Qprocessp;

extern int Qrun;

extern int Qstop;

extern int Qsignal;

extern int Qopen;

extern int Qclosed;

extern int Vprocess_connection_type;

extern int process_tick;

extern int update_tick;

extern long input_wait_mask;

extern int max_process_desc;

extern int keyboard_descriptor;

extern int delete_exited_processes;

extern int chan_process[32];

extern int Vprocess_alist;

extern int proc_buffered_char[32];

extern int pty_max_bytes;

int update_status(struct Lisp_Process * p);

int status_convert(int w);

void decode_status(int l,
                   int * symbol,
                   int * code,
                   int * coredump);

int status_message(int status);

int make_process(int name);

int remove_process(register int proc);

extern struct Lisp_Subr Sprocessp;

int Fprocessp(int );

extern struct Lisp_Subr Sget_process;

int Fget_process(int );

extern struct Lisp_Subr Sget_buffer_process;

int Fget_buffer_process(int );

int get_process(register int name);

extern struct Lisp_Subr Sdelete_process;

int Fdelete_process(int );

extern struct Lisp_Subr Sprocess_status;

int Fprocess_status(int );

extern struct Lisp_Subr Sprocess_exit_status;

int Fprocess_exit_status(int );

extern struct Lisp_Subr Sprocess_id;

int Fprocess_id(int );

extern struct Lisp_Subr Sprocess_name;

int Fprocess_name(int );

extern struct Lisp_Subr Sprocess_command;

int Fprocess_command(int );

extern struct Lisp_Subr Sset_process_buffer;

int Fset_process_buffer(int , int );

extern struct Lisp_Subr Sprocess_buffer;

int Fprocess_buffer(int );

extern struct Lisp_Subr Sprocess_mark;

int Fprocess_mark(int );

extern struct Lisp_Subr Sset_process_filter;

int Fset_process_filter(int , int );

extern struct Lisp_Subr Sprocess_filter;

int Fprocess_filter(int );

extern struct Lisp_Subr Sset_process_sentinel;

int Fset_process_sentinel(int , int );

extern struct Lisp_Subr Sprocess_sentinel;

int Fprocess_sentinel(int );

extern struct Lisp_Subr Sset_process_window_size;

int Fset_process_window_size(int , int , int );

extern struct Lisp_Subr Sprocess_kill_without_query;

int Fprocess_kill_without_query(int , int );

int list_processes_1(void);

extern struct Lisp_Subr Slist_processes;

int Flist_processes(void);

extern struct Lisp_Subr Sprocess_list;

int Fprocess_list(void);

extern struct Lisp_Subr Sstart_process;

int Fstart_process(int , int * );

int start_process_unwind(int proc);

void create_process_1(int signo);

int create_process(int process,
                   char ** new_argv,
                   int current_dir);

int deactivate_process(int proc);

int close_process_descs(void);

extern struct Lisp_Subr Saccept_process_output;

int Faccept_process_output(int , int , int );

extern int waiting_for_user_input_p;

int wait_reading_process_input(int time_limit,
                               int microsecs,
                               int read_kbd,
                               int do_display);

int read_process_output(int proc,
                        register int channel);

extern struct Lisp_Subr Swaiting_for_user_input_p;

int Fwaiting_for_user_input_p(void);

extern int send_process_frame[14];

void send_process_trap(void);

int send_process(int proc,
                 char * buf,
                 int len);

extern struct Lisp_Subr Sprocess_send_region;

int Fprocess_send_region(int , int , int );

extern struct Lisp_Subr Sprocess_send_string;

int Fprocess_send_string(int , int );

void process_send_signal(int process,
                         int signo,
                         int current_group,
                         int nomsg);

extern struct Lisp_Subr Sinterrupt_process;

int Finterrupt_process(int , int );

extern struct Lisp_Subr Skill_process;

int Fkill_process(int , int );

extern struct Lisp_Subr Squit_process;

int Fquit_process(int , int );

extern struct Lisp_Subr Sstop_process;

int Fstop_process(int , int );

extern struct Lisp_Subr Scontinue_process;

int Fcontinue_process(int , int );

extern struct Lisp_Subr Ssignal_process;

int Fsignal_process(int , int );

extern struct Lisp_Subr Sprocess_send_eof;

int Fprocess_send_eof(int );

int kill_buffer_processes(int buffer);

void sigchld_handler(int signo);

int exec_sentinel_unwind(int data);

void exec_sentinel(int proc,
                   int reason);

int status_notify(void);

int init_process(void);

void change_keyboard_wait_descriptor(int desc);

int syms_of_process(void);

