extern int getpts(int[], char*);
extern int childpty(int[], char*);
extern void updatewinsize(int, int, int, int);
extern int rcfd;
extern int rcstart(int, char*[], int*, int*);
extern int isecho(int);
extern int setecho(int, int);
extern int noecho;
extern int getintr(int);
