#ifndef __SYSDEP_P_H__
#define __SYSDEP_P_H__

extern _VOID_ discard_tty_input _P_((void));
extern _VOID_ stuff_char _P_((char c));
extern _VOID_ init_baud_rate _P_((void));
extern _VOID_ set_exclusive_use _P_((int fd));
extern _VOID_ wait_without_blocking _P_((void));
extern SIGTYPE wait_for_termination_signal _P_((void));
extern _VOID_ wait_for_termination _P_((int pid));
extern _VOID_ flush_pending_output _P_((int channel));
extern _VOID_ child_setup_tty _P_((int out));
extern _VOID_ setpgrp_of_tty _P_((int pid));
extern _VOID_ sys_suspend _P_((void));
extern _VOID_ save_signal_handlers _P_((struct save_signal *saved_handlers));
extern _VOID_ restore_signal_handlers _P_((struct save_signal
                                           *saved_handlers));
extern _VOID_ init_sigio _P_((void));
extern _VOID_ reset_sigio _P_((void));
extern _VOID_ request_sigio _P_((void));
extern _VOID_ unrequest_sigio _P_((void));
extern _VOID_ narrow_foreground_group _P_((void));
extern _VOID_ widen_foreground_group _P_((void));
extern int emacs_get_tty _P_((int fd, struct emacs_tty *settings));
extern int emacs_set_tty _P_((int fd, struct emacs_tty *settings, int waitp));
extern Lisp_Object init_sys_modes _P_((Lisp_Object dummy));
extern int tabs_safe_p _P_((void));
extern _VOID_ get_frame_size _P_((int *widthp, int *heightp));
extern _VOID_ reset_sys_modes _P_((void));
extern _VOID_ setup_pty _P_((int fd));
extern _VOID_ init_vms_input _P_((void));
extern _VOID_ stop_vms_input _P_((void));
extern _VOID_ queue_kbd_input _P_((void));
extern _VOID_ kbd_input_ast _P_((void));
extern _VOID_ wait_for_kbd_input _P_((void));
extern _VOID_ end_kbd_input _P_((void));
extern _VOID_ input_wait_timeout _P_((int timeval));
extern _VOID_ sys_sleep _P_((int timeval));
extern char * start_of_text _P_((void));
extern char * start_of_data _P_((void));
extern char * end_of_text _P_((void));
extern char * end_of_data _P_((void));
extern char * get_system_name _P_((void));
#ifndef HAVE_SELECT
extern int select _P_((int nfds, int *rfds, int *wfds, int *efds,
                       int *timeout));
extern _VOID_ read_input_waiting _P_((void));
#endif
#ifdef INTERRUPTIBLE_OPEN
extern int sys_open _P_((char *path, int oflag, int mode));
#endif
extern _VOID_ sigholdx _P_((int signum));
extern _VOID_ sigisheld _P_((int signum));
extern _VOID_ sigunhold _P_((int signum));
extern _VOID_ sigfree _P_((void));
extern _VOID_ sigbit _P_((int i));
extern _VOID_ init_signals _P_((void));
#ifdef getenv
extern char * sys_getenv _P_((char *name));
#endif
#ifndef abort
extern _VOID_ sys_abort _P_((void));
#endif
#ifdef INTERRUPTIBLE_CLOSE
extern _VOID_ sys_close _P_((int fd));
#endif
#ifdef INTERRUPTIBLE_IO
extern int sys_read _P_((int fildes, char *buf, unsigned int nbyte));
extern int sys_write _P_((int fildes, char *buf, unsigned int nbyte));
#endif
#ifndef HAVE_GETWD
extern char * getwd _P_((char *pathname));
#endif
#ifndef HAVE_RENAME
extern int rename _P_((const char *from, const char *to));
#endif
#ifndef HAVE_VFORK
extern int vfork _P_((void));
#endif
extern _VOID_ croak _P_((char *badfunc));

#endif
