-#ifndef __MALLOC_H\r
-#include <malloc.h>\r
-#endif\r
+#ifndef __MALLOC_H
+#include <malloc.h>
+#endif
-#ifndef __AR_H\r
-#define __AR_H\r
-\r
-#define ARMAG "!<arch>\n"\r
-#define SARMAG 8\r
-#define ARFMAG "`\n"\r
-\r
-struct ar_hdr {\r
- char ar_name[16],\r
- ar_date[12],\r
- ar_uid[6],\r
- ar_gid[6],\r
- ar_mode[8],\r
- ar_size[10],\r
- ar_fmag[2];\r
-};\r
-\r
-#endif /* __AR_H */\r
+#ifndef __AR_H
+#define __AR_H
+
+#define ARMAG "!<arch>\n"
+#define SARMAG 8
+#define ARFMAG "`\n"
+
+struct ar_hdr {
+ char ar_name[16],
+ ar_date[12],
+ ar_uid[6],
+ ar_gid[6],
+ ar_mode[8],
+ ar_size[10],
+ ar_fmag[2];
+};
+
+#endif /* __AR_H */
-#ifndef __ASSERT_H\r
-#define __ASSERT_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-/* ANSI compilers only version ! */\r
-\r
-/* If NDEBUG is defined, do nothing.\r
- If not, and EXPRESSION is zero, print an error message and abort. */\r
-\r
-#ifdef NDEBUG\r
-\r
-#define assert(expr) ((void) 0)\r
-\r
-#else /* NDEBUG */\r
-\r
-extern void __assert __P((char *, char *, int));\r
-\r
-#define assert(expr) \\r
- ((void) ((expr) || (__assert (__STRING(expr), __FILE__, __LINE__), 0)))\r
-\r
-#endif /* NDEBUG */\r
-\r
-extern void __errput __P((char *));\r
-\r
-#endif /* __ASSERT_H */\r
-\r
+#ifndef __ASSERT_H
+#define __ASSERT_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+/* ANSI compilers only version ! */
+
+/* If NDEBUG is defined, do nothing.
+ If not, and EXPRESSION is zero, print an error message and abort. */
+
+#ifdef NDEBUG
+
+#define assert(expr) ((void) 0)
+
+#else /* NDEBUG */
+
+extern void __assert __P((char *, char *, int));
+
+#define assert(expr) \
+ ((void) ((expr) || (__assert (__STRING(expr), __FILE__, __LINE__), 0)))
+
+#endif /* NDEBUG */
+
+extern void __errput __P((char *));
+
+#endif /* __ASSERT_H */
+
-/* ctype.h Character classification and conversion\r
- */\r
-#ifndef __CTYPE_H\r
-#define __CTYPE_H\r
-\r
-#include <features.h>\r
-extern unsigned char __ctype[];\r
-\r
-#define __CT_c 0x01 /* control character */\r
-#define __CT_u 0x02 /* upper case */\r
-#define __CT_l 0x04 /* lower case */\r
-#define __CT_d 0x08 /* numeric digit */\r
-#define __CT_s 0x10 /* whitespace */\r
-#define __CT_p 0x20 /* punctuation */\r
-#define __CT_x 0x40 /* hexadecimal */\r
-\r
-#define __CT_a (__CT_u|__CT_l) /* alpha */\r
-\r
-/* always functions ! */\r
-extern int toupper __P((int));\r
-extern int tolower __P((int));\r
-\r
-#define _toupper(c) (islower(c) ? (c)^0x20 : (c))\r
-#define _tolower(c) (isupper(c) ? (c)^0x20 : (c))\r
-#define __toupper(c) ((c)^0x20)\r
-#define __tolower(c) ((c)^0x20)\r
-#define toascii(c) ((c)&0x7F)\r
-\r
-#define _CTYPE(c) (__ctype[(unsigned char)(c)])\r
-\r
-/* Note the '!!' is a cast to 'bool' and even BCC deletes it in an if() */\r
-#define isascii(c) (!((c)&~0x7F))\r
-#define isalnum(c) (!!(_CTYPE(c)&(__CT_a|__CT_d)))\r
-#define isalpha(c) (!!(_CTYPE(c)&__CT_a))\r
-#define iscntrl(c) (!!(_CTYPE(c)&__CT_c))\r
-#define isdigit(c) (!!(_CTYPE(c)&__CT_d))\r
-#define isgraph(c) (! (_CTYPE(c)&(__CT_c|__CT_s)))\r
-#define islower(c) (!!(_CTYPE(c)&__CT_l))\r
-#define isprint(c) (! (_CTYPE(c)&__CT_c))\r
-#define ispunct(c) (!!(_CTYPE(c)&__CT_p))\r
-#define isspace(c) (!!(_CTYPE(c)&__CT_s))\r
-#define isupper(c) (!!(_CTYPE(c)&__CT_u))\r
-#define isxdigit(c) (!!(_CTYPE(c)&__CT_x))\r
-\r
-#define isdecimal(c) isdigit(c)\r
-#define isoctal(c) ((c) >= '0' && (c) <= '7')\r
-\r
-#endif /* __CTYPE_H */\r
+/* ctype.h Character classification and conversion
+ */
+#ifndef __CTYPE_H
+#define __CTYPE_H
+
+#include <features.h>
+extern unsigned char __ctype[];
+
+#define __CT_c 0x01 /* control character */
+#define __CT_u 0x02 /* upper case */
+#define __CT_l 0x04 /* lower case */
+#define __CT_d 0x08 /* numeric digit */
+#define __CT_s 0x10 /* whitespace */
+#define __CT_p 0x20 /* punctuation */
+#define __CT_x 0x40 /* hexadecimal */
+
+#define __CT_a (__CT_u|__CT_l) /* alpha */
+
+/* always functions ! */
+extern int toupper __P((int));
+extern int tolower __P((int));
+
+#define _toupper(c) (islower(c) ? (c)^0x20 : (c))
+#define _tolower(c) (isupper(c) ? (c)^0x20 : (c))
+#define __toupper(c) ((c)^0x20)
+#define __tolower(c) ((c)^0x20)
+#define toascii(c) ((c)&0x7F)
+
+#define _CTYPE(c) (__ctype[(unsigned char)(c)])
+
+/* Note the '!!' is a cast to 'bool' and even BCC deletes it in an if() */
+#define isascii(c) (!((c)&~0x7F))
+#define isalnum(c) (!!(_CTYPE(c)&(__CT_a|__CT_d)))
+#define isalpha(c) (!!(_CTYPE(c)&__CT_a))
+#define iscntrl(c) (!!(_CTYPE(c)&__CT_c))
+#define isdigit(c) (!!(_CTYPE(c)&__CT_d))
+#define isgraph(c) (! (_CTYPE(c)&(__CT_c|__CT_s)))
+#define islower(c) (!!(_CTYPE(c)&__CT_l))
+#define isprint(c) (! (_CTYPE(c)&__CT_c))
+#define ispunct(c) (!!(_CTYPE(c)&__CT_p))
+#define isspace(c) (!!(_CTYPE(c)&__CT_s))
+#define isupper(c) (!!(_CTYPE(c)&__CT_u))
+#define isxdigit(c) (!!(_CTYPE(c)&__CT_x))
+
+#define isdecimal(c) isdigit(c)
+#define isoctal(c) ((c) >= '0' && (c) <= '7')
+
+#endif /* __CTYPE_H */
-/* curses.h - defines macros and prototypes for curses */\r
-\r
-#ifndef CURSES_H\r
-\r
-#define _BIG_MACHINE_\r
-\r
-#include <sgtty.h>\r
-#include <stdarg.h>\r
-#include <stdio.h>\r
-\r
-#ifndef _PROTOTYPE\r
-#define _PROTOTYPE(x,y) x y\r
-#endif\r
-\r
-typedef int bool;\r
-\r
-#define TRUE 1\r
-#define FALSE 0\r
-#define ERR 1 /* general error flag */\r
-#define OK 0 /* general OK flag */\r
-\r
-/* Macros. */\r
-#define box(win,vc,hc) wbox(win,0,0,0,0,vc,hc)\r
-#define addch(ch) waddch(stdscr,ch)\r
-#define mvaddch(y,x,ch) (wmove(stdscr,y,x)==ERR?ERR:waddch(stdscr,ch))\r
-#define mvwaddch(win,y,x,ch) (wmove(win,y,x)==ERR?ERR:waddch(win,ch))\r
-#define getch() wgetch(stdscr)\r
-#define mvgetch(y,x) (wmove(stdscr,y,x)==ERR?ERR:wgetch(stdscr))\r
-#define mvwgetch(win,y,x) (wmove(win,y,x)==ERR?ERR:wgetch(win))\r
-#define addstr(str) waddstr(stdscr,str)\r
-#define mvaddstr(y,x,str) (wmove(stdscr,y,x)==ERR?ERR:waddstr(stdscr,str))\r
-#define mvwaddstr(win,y,x,str) (wmove(win,y,x)==ERR?ERR:waddstr(win,str))\r
-#define getstr(str) wgetstr(stdscr,str)\r
-#define mvgetstr(y,x,str) (wmove(stdscr,y,x)==ERR?ERR:wgetstr(stdscr,str))\r
-#define mvwgetstr(win,y,x,str) (wmove(win,y,x)==ERR?ERR:wgetstr(win,str))\r
-#define move(y,x) wmove(stdscr,y,x)\r
-#define clear() wclear(stdscr)\r
-#define erase() werase(stdscr)\r
-#define clrtobot() wclrtobot(stdscr)\r
-#define mvclrtobot(y,x) (wmove(stdscr,y,x)==ERR?ERR:wclrtobot(stdscr))\r
-#define mvwclrtobot(win,y,x) (wmove(win,y,x)==ERR?ERR:wclrtobot(win))\r
-#define clrtoeol() wclrtoeol(stdscr)\r
-#define mvclrtoeol(y,x) (wmove(stdscr,y,x)==ERR?ERR:wclrtoeol(stdscr))\r
-#define mvwclrtoeol(win,y,x) (wmove(win,y,x)==ERR?ERR:wclrtoeol(win))\r
-#define insertln() winsertln(stdscr)\r
-#define mvinsertln(y,x) (wmove(stdscr,y,x)==ERR?ERR:winsertln(stdscr))\r
-#define mvwinsertln(win,y,x) (wmove(win,y,x)==ERR?ERR:winsertln(win))\r
-#define deleteln() wdeleteln(stdscr)\r
-#define mvdeleteln(y,x) (wmove(stdscr,y,x)==ERR?ERR:wdeleteln(stdscr))\r
-#define mvwdeleteln(win,y,x) (wmove(win,y,x)==ERR?ERR:wdeleteln(win))\r
-#define refresh() wrefresh(stdscr)\r
-#define inch() winch(stdscr)\r
-#define insch(ch) winsch(stdscr,ch)\r
-#define mvinsch(y,x,ch) (wmove(stdscr,y,x)==ERR?ERR:winsch(stdscr,ch))\r
-#define mvwinsch(win,y,x,ch) (wmove(win,y,x)==ERR?ERR:winsch(win,ch))\r
-#define delch() wdelch(stdscr)\r
-#define mvdelch(y,x) (wmove(stdscr,y,x)==ERR?ERR:wdelch(stdscr))\r
-#define mvwdelch(win,y,x) (wmove(win,y,x)==ERR?ERR:wdelch(win))\r
-#define standout() wstandout(stdscr)\r
-#define wstandout(win) (win)->_attrs |= A_STANDOUT\r
-#define standend() wstandend(stdscr)\r
-#define wstandend(win) (win)->_attrs &= ~A_STANDOUT\r
-#define attrset(attrs) wattrset(stdscr, attrs)\r
-#define wattrset(win, attrs) (win)->_attrs = (attrs)\r
-#define attron(attrs) wattron(stdscr, attrs)\r
-#define wattron(win, attrs) (win)->_attrs |= (attrs)\r
-#define attroff(attrs) wattroff(stdscr,attrs)\r
-#define wattroff(win, attrs) (win)->_attrs &= ~(attrs)\r
-#define resetty() stty(1, &_orig_tty)\r
-#define getyx(win,y,x) (y = (win)->_cury, x = (win)->_curx)\r
-\r
-/* Video attribute definitions. */\r
-#define A_BLINK 0x0100\r
-#define A_BLANK 0\r
-#define A_BOLD 0x0200\r
-#define A_DIM 0\r
-#define A_PROTECT 0\r
-#define A_REVERSE 0x0400\r
-#define A_STANDOUT 0x0800\r
-#define A_UNDERLINE 0x1000\r
-#define A_ALTCHARSET 0x2000\r
-\r
-/* Type declarations. */\r
-typedef struct {\r
- int _cury; /* current pseudo-cursor */\r
- int _curx;\r
- int _maxy; /* max coordinates */\r
- int _maxx;\r
- int _begy; /* origin on screen */\r
- int _begx;\r
- int _flags; /* window properties */\r
- int _attrs; /* attributes of written characters */\r
- int _tabsize; /* tab character size */\r
- bool _clear; /* causes clear at next refresh */\r
- bool _leave; /* leaves cursor as it happens */\r
- bool _scroll; /* allows window scrolling */\r
- bool _nodelay; /* input character wait flag */\r
- bool _keypad; /* flags keypad key mode active */\r
- int **_line; /* pointer to line pointer array */\r
- int *_minchng; /* First changed character in line */\r
- int *_maxchng; /* Last changed character in line */\r
- int _regtop; /* Top/bottom of scrolling region */\r
- int _regbottom;\r
-} WINDOW;\r
-\r
-/* External variables */\r
-extern int LINES; /* terminal height */\r
-extern int COLS; /* terminal width */\r
-extern bool NONL; /* \n causes CR too ? */\r
-extern WINDOW *curscr; /* the current screen image */\r
-extern WINDOW *stdscr; /* the default screen window */\r
-extern struct sgttyb _orig_tty, _tty;\r
-\r
-extern unsigned int ACS_ULCORNER; /* terminal dependent block grafic */\r
-extern unsigned int ACS_LLCORNER; /* charcters. Forget IBM, we are */\r
-extern unsigned int ACS_URCORNER; /* independent of their charset. :-) */\r
-extern unsigned int ACS_LRCORNER;\r
-extern unsigned int ACS_RTEE;\r
-extern unsigned int ACS_LTEE;\r
-extern unsigned int ACS_BTEE;\r
-extern unsigned int ACS_TTEE;\r
-extern unsigned int ACS_HLINE;\r
-extern unsigned int ACS_VLINE;\r
-extern unsigned int ACS_PLUS;\r
-extern unsigned int ACS_S1;\r
-extern unsigned int ACS_S9;\r
-extern unsigned int ACS_DIAMOND;\r
-extern unsigned int ACS_CKBOARD;\r
-extern unsigned int ACS_DEGREE;\r
-extern unsigned int ACS_PLMINUS;\r
-extern unsigned int ACS_BULLET;\r
-extern unsigned int ACS_LARROW;\r
-extern unsigned int ACS_RARROW;\r
-extern unsigned int ACS_DARROW;\r
-extern unsigned int ACS_UARROW;\r
-extern unsigned int ACS_BOARD;\r
-extern unsigned int ACS_LANTERN;\r
-extern unsigned int ACS_BLOCK;\r
-\r
-#ifdef _BIG_MACHINE_\r
-_PROTOTYPE( char *unctrl, (int _c) );\r
-_PROTOTYPE( int baudrate, (void));\r
-_PROTOTYPE( void beep, (void));\r
-_PROTOTYPE( void cbreak, (void));\r
-_PROTOTYPE( void clearok, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( void clrscr, (void));\r
-_PROTOTYPE( void curs_set, (int _visibility) );\r
-_PROTOTYPE( void delwin, (WINDOW *_win) );\r
-_PROTOTYPE( void doupdate, (void));\r
-_PROTOTYPE( void echo, (void));\r
-_PROTOTYPE( int endwin, (void));\r
-_PROTOTYPE( int erasechar, (void));\r
-_PROTOTYPE( void fatal, (char *_s) );\r
-_PROTOTYPE( int fixterm, (void));\r
-_PROTOTYPE( void flash, (void));\r
-_PROTOTYPE( int gettmode, (void));\r
-_PROTOTYPE( void idlok, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( WINDOW *initscr, (void));\r
-_PROTOTYPE( void keypad, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( int killchar, (void));\r
-_PROTOTYPE( void leaveok, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( char *longname, (void));\r
-_PROTOTYPE( void meta, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( int mvcur, (int _oldy, int _oldx, int _newy, int _newx) );\r
-_PROTOTYPE( int mvinch, (int _y, int _x) );\r
-_PROTOTYPE( int mvprintw, (int _y, int _x, char *_fmt, ...) );\r
-_PROTOTYPE( int mvscanw, (int _y, int _x, char *_fmt, char *_A1, int _A2,\r
- int _A3, int _A4, int _A5) );\r
-_PROTOTYPE( int mvwin, (WINDOW *_win, int _begy, int _begx) );\r
-_PROTOTYPE( int mvwinch, (WINDOW *_win, int _y, int _x) );\r
-_PROTOTYPE( int mvwprintw, (WINDOW *_win, int _y, int _x, char *_fmt, ...) );\r
-_PROTOTYPE( int mvwscanw, (WINDOW *_win, int _y, int _x, char *_fmt, char *_A1,\r
- int _A2, int _A3, int _A4, int _A5) );\r
-_PROTOTYPE( WINDOW *newwin, (int _num_lines, int _num_cols, int _y, int _x));\r
-_PROTOTYPE( void nl, (void));\r
-_PROTOTYPE( void nocbreak, (void));\r
-_PROTOTYPE( void nodelay, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( void noecho, (void));\r
-_PROTOTYPE( void nonl, (void));\r
-_PROTOTYPE( void noraw, (void));\r
-_PROTOTYPE( void outc, (int _c) );\r
-_PROTOTYPE( void overlay, (WINDOW *_win1, WINDOW *_win2) );\r
-_PROTOTYPE( void overwrite, (WINDOW *_win1, WINDOW *_win2) );\r
-_PROTOTYPE( void poscur, (int _r, int _c) );\r
-_PROTOTYPE( int printw, (char *fmt, ...) );\r
-_PROTOTYPE( void raw, (void));\r
-_PROTOTYPE( int resetterm, (void));\r
-_PROTOTYPE( int saveoldterm, (void));\r
-_PROTOTYPE( int saveterm, (void));\r
-_PROTOTYPE( int savetty, (void));\r
-_PROTOTYPE( int scanw, (char *_fmt, char *_A1, int _A2, int _A3, int _A4,\r
- int _A5) );\r
-_PROTOTYPE( void scroll, (WINDOW *_win) );\r
-_PROTOTYPE( void scrollok, (WINDOW *_win, bool _flag) );\r
-_PROTOTYPE( int setscrreg, (int _top, int _bottom) );\r
-_PROTOTYPE( int setterm, (char *_type) );\r
-_PROTOTYPE( int setupterm, (void));\r
-_PROTOTYPE( WINDOW *subwin, (WINDOW *_orig, int _nlines, int _ncols, int _y,\r
- int _x));\r
-_PROTOTYPE( int tabsize, (int _ts) );\r
-_PROTOTYPE( void touchwin, (WINDOW *_win) );\r
-_PROTOTYPE( int waddch, (WINDOW *_win, int _c) );\r
-_PROTOTYPE( int waddstr, (WINDOW *_win, char *_str) );\r
-_PROTOTYPE( int wbox, (WINDOW *_win, int _ymin, int _xmin, int _ymax,\r
- int _xmax, unsigned int _v, unsigned int _h) );\r
-_PROTOTYPE( void wclear, (WINDOW *_win) );\r
-_PROTOTYPE( int wclrtobot, (WINDOW *_win) );\r
-_PROTOTYPE( int wclrtoeol, (WINDOW *_win) );\r
-_PROTOTYPE( int wdelch, (WINDOW *_win) );\r
-_PROTOTYPE( int wdeleteln, (WINDOW *_win) );\r
-_PROTOTYPE( void werase, (WINDOW *_win) );\r
-_PROTOTYPE( int wgetch, (WINDOW *_win) );\r
-_PROTOTYPE( int wgetstr, (WINDOW *_win, char *_str) );\r
-_PROTOTYPE( int winch, (WINDOW *_win) );\r
-_PROTOTYPE( int winsch, (WINDOW *_win, char _c) );\r
-_PROTOTYPE( int winsertln, (WINDOW *_win) );\r
-_PROTOTYPE( int wmove, (WINDOW *_win, int _y, int _x) );\r
-_PROTOTYPE( void wnoutrefresh, (WINDOW *_win) );\r
-_PROTOTYPE( int wprintw, (WINDOW *win, char *fmt, ...));\r
-_PROTOTYPE( void wrefresh, (WINDOW *_win) );\r
-_PROTOTYPE( int wscanw, (WINDOW *_win, char *_fmt, char *_A1, int _A2, int _A3,\r
- int _A4, int _A5) );\r
-_PROTOTYPE( int wsetscrreg, (WINDOW *_win, int _top, int _bottom) );\r
-_PROTOTYPE( int wtabsize, (WINDOW *_win, int _ts) );\r
-\r
-#endif\r
-#define CURSES_H\r
-\r
-#endif\r
+/* curses.h - defines macros and prototypes for curses */
+
+#ifndef CURSES_H
+
+#define _BIG_MACHINE_
+
+#include <sgtty.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+#ifndef _PROTOTYPE
+#define _PROTOTYPE(x,y) x y
+#endif
+
+typedef int bool;
+
+#define TRUE 1
+#define FALSE 0
+#define ERR 1 /* general error flag */
+#define OK 0 /* general OK flag */
+
+/* Macros. */
+#define box(win,vc,hc) wbox(win,0,0,0,0,vc,hc)
+#define addch(ch) waddch(stdscr,ch)
+#define mvaddch(y,x,ch) (wmove(stdscr,y,x)==ERR?ERR:waddch(stdscr,ch))
+#define mvwaddch(win,y,x,ch) (wmove(win,y,x)==ERR?ERR:waddch(win,ch))
+#define getch() wgetch(stdscr)
+#define mvgetch(y,x) (wmove(stdscr,y,x)==ERR?ERR:wgetch(stdscr))
+#define mvwgetch(win,y,x) (wmove(win,y,x)==ERR?ERR:wgetch(win))
+#define addstr(str) waddstr(stdscr,str)
+#define mvaddstr(y,x,str) (wmove(stdscr,y,x)==ERR?ERR:waddstr(stdscr,str))
+#define mvwaddstr(win,y,x,str) (wmove(win,y,x)==ERR?ERR:waddstr(win,str))
+#define getstr(str) wgetstr(stdscr,str)
+#define mvgetstr(y,x,str) (wmove(stdscr,y,x)==ERR?ERR:wgetstr(stdscr,str))
+#define mvwgetstr(win,y,x,str) (wmove(win,y,x)==ERR?ERR:wgetstr(win,str))
+#define move(y,x) wmove(stdscr,y,x)
+#define clear() wclear(stdscr)
+#define erase() werase(stdscr)
+#define clrtobot() wclrtobot(stdscr)
+#define mvclrtobot(y,x) (wmove(stdscr,y,x)==ERR?ERR:wclrtobot(stdscr))
+#define mvwclrtobot(win,y,x) (wmove(win,y,x)==ERR?ERR:wclrtobot(win))
+#define clrtoeol() wclrtoeol(stdscr)
+#define mvclrtoeol(y,x) (wmove(stdscr,y,x)==ERR?ERR:wclrtoeol(stdscr))
+#define mvwclrtoeol(win,y,x) (wmove(win,y,x)==ERR?ERR:wclrtoeol(win))
+#define insertln() winsertln(stdscr)
+#define mvinsertln(y,x) (wmove(stdscr,y,x)==ERR?ERR:winsertln(stdscr))
+#define mvwinsertln(win,y,x) (wmove(win,y,x)==ERR?ERR:winsertln(win))
+#define deleteln() wdeleteln(stdscr)
+#define mvdeleteln(y,x) (wmove(stdscr,y,x)==ERR?ERR:wdeleteln(stdscr))
+#define mvwdeleteln(win,y,x) (wmove(win,y,x)==ERR?ERR:wdeleteln(win))
+#define refresh() wrefresh(stdscr)
+#define inch() winch(stdscr)
+#define insch(ch) winsch(stdscr,ch)
+#define mvinsch(y,x,ch) (wmove(stdscr,y,x)==ERR?ERR:winsch(stdscr,ch))
+#define mvwinsch(win,y,x,ch) (wmove(win,y,x)==ERR?ERR:winsch(win,ch))
+#define delch() wdelch(stdscr)
+#define mvdelch(y,x) (wmove(stdscr,y,x)==ERR?ERR:wdelch(stdscr))
+#define mvwdelch(win,y,x) (wmove(win,y,x)==ERR?ERR:wdelch(win))
+#define standout() wstandout(stdscr)
+#define wstandout(win) (win)->_attrs |= A_STANDOUT
+#define standend() wstandend(stdscr)
+#define wstandend(win) (win)->_attrs &= ~A_STANDOUT
+#define attrset(attrs) wattrset(stdscr, attrs)
+#define wattrset(win, attrs) (win)->_attrs = (attrs)
+#define attron(attrs) wattron(stdscr, attrs)
+#define wattron(win, attrs) (win)->_attrs |= (attrs)
+#define attroff(attrs) wattroff(stdscr,attrs)
+#define wattroff(win, attrs) (win)->_attrs &= ~(attrs)
+#define resetty() stty(1, &_orig_tty)
+#define getyx(win,y,x) (y = (win)->_cury, x = (win)->_curx)
+
+/* Video attribute definitions. */
+#define A_BLINK 0x0100
+#define A_BLANK 0
+#define A_BOLD 0x0200
+#define A_DIM 0
+#define A_PROTECT 0
+#define A_REVERSE 0x0400
+#define A_STANDOUT 0x0800
+#define A_UNDERLINE 0x1000
+#define A_ALTCHARSET 0x2000
+
+/* Type declarations. */
+typedef struct {
+ int _cury; /* current pseudo-cursor */
+ int _curx;
+ int _maxy; /* max coordinates */
+ int _maxx;
+ int _begy; /* origin on screen */
+ int _begx;
+ int _flags; /* window properties */
+ int _attrs; /* attributes of written characters */
+ int _tabsize; /* tab character size */
+ bool _clear; /* causes clear at next refresh */
+ bool _leave; /* leaves cursor as it happens */
+ bool _scroll; /* allows window scrolling */
+ bool _nodelay; /* input character wait flag */
+ bool _keypad; /* flags keypad key mode active */
+ int **_line; /* pointer to line pointer array */
+ int *_minchng; /* First changed character in line */
+ int *_maxchng; /* Last changed character in line */
+ int _regtop; /* Top/bottom of scrolling region */
+ int _regbottom;
+} WINDOW;
+
+/* External variables */
+extern int LINES; /* terminal height */
+extern int COLS; /* terminal width */
+extern bool NONL; /* \n causes CR too ? */
+extern WINDOW *curscr; /* the current screen image */
+extern WINDOW *stdscr; /* the default screen window */
+extern struct sgttyb _orig_tty, _tty;
+
+extern unsigned int ACS_ULCORNER; /* terminal dependent block grafic */
+extern unsigned int ACS_LLCORNER; /* charcters. Forget IBM, we are */
+extern unsigned int ACS_URCORNER; /* independent of their charset. :-) */
+extern unsigned int ACS_LRCORNER;
+extern unsigned int ACS_RTEE;
+extern unsigned int ACS_LTEE;
+extern unsigned int ACS_BTEE;
+extern unsigned int ACS_TTEE;
+extern unsigned int ACS_HLINE;
+extern unsigned int ACS_VLINE;
+extern unsigned int ACS_PLUS;
+extern unsigned int ACS_S1;
+extern unsigned int ACS_S9;
+extern unsigned int ACS_DIAMOND;
+extern unsigned int ACS_CKBOARD;
+extern unsigned int ACS_DEGREE;
+extern unsigned int ACS_PLMINUS;
+extern unsigned int ACS_BULLET;
+extern unsigned int ACS_LARROW;
+extern unsigned int ACS_RARROW;
+extern unsigned int ACS_DARROW;
+extern unsigned int ACS_UARROW;
+extern unsigned int ACS_BOARD;
+extern unsigned int ACS_LANTERN;
+extern unsigned int ACS_BLOCK;
+
+#ifdef _BIG_MACHINE_
+_PROTOTYPE( char *unctrl, (int _c) );
+_PROTOTYPE( int baudrate, (void));
+_PROTOTYPE( void beep, (void));
+_PROTOTYPE( void cbreak, (void));
+_PROTOTYPE( void clearok, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( void clrscr, (void));
+_PROTOTYPE( void curs_set, (int _visibility) );
+_PROTOTYPE( void delwin, (WINDOW *_win) );
+_PROTOTYPE( void doupdate, (void));
+_PROTOTYPE( void echo, (void));
+_PROTOTYPE( int endwin, (void));
+_PROTOTYPE( int erasechar, (void));
+_PROTOTYPE( void fatal, (char *_s) );
+_PROTOTYPE( int fixterm, (void));
+_PROTOTYPE( void flash, (void));
+_PROTOTYPE( int gettmode, (void));
+_PROTOTYPE( void idlok, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( WINDOW *initscr, (void));
+_PROTOTYPE( void keypad, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( int killchar, (void));
+_PROTOTYPE( void leaveok, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( char *longname, (void));
+_PROTOTYPE( void meta, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( int mvcur, (int _oldy, int _oldx, int _newy, int _newx) );
+_PROTOTYPE( int mvinch, (int _y, int _x) );
+_PROTOTYPE( int mvprintw, (int _y, int _x, char *_fmt, ...) );
+_PROTOTYPE( int mvscanw, (int _y, int _x, char *_fmt, char *_A1, int _A2,
+ int _A3, int _A4, int _A5) );
+_PROTOTYPE( int mvwin, (WINDOW *_win, int _begy, int _begx) );
+_PROTOTYPE( int mvwinch, (WINDOW *_win, int _y, int _x) );
+_PROTOTYPE( int mvwprintw, (WINDOW *_win, int _y, int _x, char *_fmt, ...) );
+_PROTOTYPE( int mvwscanw, (WINDOW *_win, int _y, int _x, char *_fmt, char *_A1,
+ int _A2, int _A3, int _A4, int _A5) );
+_PROTOTYPE( WINDOW *newwin, (int _num_lines, int _num_cols, int _y, int _x));
+_PROTOTYPE( void nl, (void));
+_PROTOTYPE( void nocbreak, (void));
+_PROTOTYPE( void nodelay, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( void noecho, (void));
+_PROTOTYPE( void nonl, (void));
+_PROTOTYPE( void noraw, (void));
+_PROTOTYPE( void outc, (int _c) );
+_PROTOTYPE( void overlay, (WINDOW *_win1, WINDOW *_win2) );
+_PROTOTYPE( void overwrite, (WINDOW *_win1, WINDOW *_win2) );
+_PROTOTYPE( void poscur, (int _r, int _c) );
+_PROTOTYPE( int printw, (char *fmt, ...) );
+_PROTOTYPE( void raw, (void));
+_PROTOTYPE( int resetterm, (void));
+_PROTOTYPE( int saveoldterm, (void));
+_PROTOTYPE( int saveterm, (void));
+_PROTOTYPE( int savetty, (void));
+_PROTOTYPE( int scanw, (char *_fmt, char *_A1, int _A2, int _A3, int _A4,
+ int _A5) );
+_PROTOTYPE( void scroll, (WINDOW *_win) );
+_PROTOTYPE( void scrollok, (WINDOW *_win, bool _flag) );
+_PROTOTYPE( int setscrreg, (int _top, int _bottom) );
+_PROTOTYPE( int setterm, (char *_type) );
+_PROTOTYPE( int setupterm, (void));
+_PROTOTYPE( WINDOW *subwin, (WINDOW *_orig, int _nlines, int _ncols, int _y,
+ int _x));
+_PROTOTYPE( int tabsize, (int _ts) );
+_PROTOTYPE( void touchwin, (WINDOW *_win) );
+_PROTOTYPE( int waddch, (WINDOW *_win, int _c) );
+_PROTOTYPE( int waddstr, (WINDOW *_win, char *_str) );
+_PROTOTYPE( int wbox, (WINDOW *_win, int _ymin, int _xmin, int _ymax,
+ int _xmax, unsigned int _v, unsigned int _h) );
+_PROTOTYPE( void wclear, (WINDOW *_win) );
+_PROTOTYPE( int wclrtobot, (WINDOW *_win) );
+_PROTOTYPE( int wclrtoeol, (WINDOW *_win) );
+_PROTOTYPE( int wdelch, (WINDOW *_win) );
+_PROTOTYPE( int wdeleteln, (WINDOW *_win) );
+_PROTOTYPE( void werase, (WINDOW *_win) );
+_PROTOTYPE( int wgetch, (WINDOW *_win) );
+_PROTOTYPE( int wgetstr, (WINDOW *_win, char *_str) );
+_PROTOTYPE( int winch, (WINDOW *_win) );
+_PROTOTYPE( int winsch, (WINDOW *_win, char _c) );
+_PROTOTYPE( int winsertln, (WINDOW *_win) );
+_PROTOTYPE( int wmove, (WINDOW *_win, int _y, int _x) );
+_PROTOTYPE( void wnoutrefresh, (WINDOW *_win) );
+_PROTOTYPE( int wprintw, (WINDOW *win, char *fmt, ...));
+_PROTOTYPE( void wrefresh, (WINDOW *_win) );
+_PROTOTYPE( int wscanw, (WINDOW *_win, char *_fmt, char *_A1, int _A2, int _A3,
+ int _A4, int _A5) );
+_PROTOTYPE( int wsetscrreg, (WINDOW *_win, int _top, int _bottom) );
+_PROTOTYPE( int wtabsize, (WINDOW *_win, int _ts) );
+
+#endif
+#define CURSES_H
+
+#endif
-#ifndef __ERRNO_H\r
-#define __ERRNO_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
+#ifndef __ERRNO_H
+#define __ERRNO_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
/*
* Error codes
*/
#define ENOTEMPTY 36 /* Directory is not empty */
#define ENAMETOOLONG 37 /* File name too long */
-\r
-#define __ERRORS 38\r
-\r
-extern int sys_nerr;\r
-extern char *sys_errlist[];\r
-extern int errno;\r
-\r
-extern char *strerror __P((int _errno));\r
-\r
-#endif\r
-\r
+
+#define __ERRORS 38
+
+extern int sys_nerr;
+extern char *sys_errlist[];
+extern int errno;
+
+extern char *strerror __P((int _errno));
+
+#endif
+
-#ifndef _FCNTL_H\r
-#define _FCNTL_H\r
-\r
+#ifndef _FCNTL_H
+#define _FCNTL_H
+
/* Bits 0-7 are saved, bits 8-15 are discard post open. Not all are handled
in the kernel yet */
#define O_RDONLY 0
#define O_WRONLY 1
#define O_RDWR 2
-#define O_ACCMODE 3\r
+#define O_ACCMODE 3
#define O_APPEND 4
#define O_SYNC 8
#define O_TRUNC 1024
#define O_NOCTTY 2048
#define O_CLOEXEC 4096
-#define O_SYMLINK 8192 /* Not supported in kernel yet */\r
-\r
+#define O_SYMLINK 8192 /* Not supported in kernel yet */
+
#define FD_CLOEXEC O_CLOEXEC
-\r
-#define O_BINARY 0 /* not used in Fuzix */\r
-\r
-#define O_NONBLOCK O_NDELAY\r
-\r
+
+#define O_BINARY 0 /* not used in Fuzix */
+
+#define O_NONBLOCK O_NDELAY
+
#define F_GETFL 0
#define F_SETFL 1
#define F_GETFD 2
#define F_SETFD 3
-#define F_DUPFD 4\r
-/* Not current implemented in Fuzix */\r
-#define F_GETLK 5\r
-#define F_SETLK 6\r
-#define F_SETLKW 7\r
-\r
-typedef struct flock {\r
- short l_type;\r
- short l_whence;\r
- long l_start;\r
- long l_len;\r
- short l_sysid;\r
- pid_t l_pid;\r
+#define F_DUPFD 4
+/* Not current implemented in Fuzix */
+#define F_GETLK 5
+#define F_SETLK 6
+#define F_SETLKW 7
+
+typedef struct flock {
+ short l_type;
+ short l_whence;
+ long l_start;
+ long l_len;
+ short l_sysid;
+ pid_t l_pid;
} flock_t;
#define FNDELAY O_NDELAY
-#ifndef SEEK_SET\r
+#ifndef SEEK_SET
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
-#endif\r
-\r
-#endif\r
-\r
+#endif
+
+#endif
+
-#ifndef __FEATURES_H\r
-#define __FEATURES_H\r
-\r
-#ifndef __STDC__\r
-#ifdef HI_TECH_C\r
-#define __STDC__ 1\r
-#endif\r
-#endif\r
-\r
-#ifdef __STDC__\r
-\r
-#ifndef VOID\r
-#define VOID void\r
-#endif\r
-#ifndef __P\r
-#define __P(a) a\r
-#endif\r
-#define __const const\r
-\r
-#else /* K&R */\r
-\r
-#ifndef VOID\r
-#define VOID\r
-#endif\r
-#ifndef __P\r
-#define __P(a) ()\r
-#endif\r
-#define __const\r
-#define volatile\r
-#define void char\r
-\r
-#endif /* __STDC__ */\r
-\r
-#include <sys/cdefs.h>\r
-\r
-#endif\r
-\r
+#ifndef __FEATURES_H
+#define __FEATURES_H
+
+#ifndef __STDC__
+#ifdef HI_TECH_C
+#define __STDC__ 1
+#endif
+#endif
+
+#ifdef __STDC__
+
+#ifndef VOID
+#define VOID void
+#endif
+#ifndef __P
+#define __P(a) a
+#endif
+#define __const const
+
+#else /* K&R */
+
+#ifndef VOID
+#define VOID
+#endif
+#ifndef __P
+#define __P(a) ()
+#endif
+#define __const
+#define volatile
+#define void char
+
+#endif /* __STDC__ */
+
+#include <sys/cdefs.h>
+
+#endif
+
-#ifndef __GETOPT_H\r
-#define __GETOPT_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-extern char *optarg;\r
-extern int opterr;\r
-extern int optind;\r
-\r
-extern int getopt __P((int argc, char **argv, char *shortopts));\r
-\r
-#endif /* __GETOPT_H */\r
+#ifndef __GETOPT_H
+#define __GETOPT_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+extern char *optarg;
+extern int opterr;
+extern int optind;
+
+extern int getopt __P((int argc, char **argv, char *shortopts));
+
+#endif /* __GETOPT_H */
-#ifndef __GRP_H\r
-#define __GRP_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <stdio.h>\r
-\r
-#define GR_MAX_GROUPS 32\r
-#define GR_MAX_MEMBERS 16\r
-\r
-/* The group structure */\r
-struct group {\r
- char *gr_name; /* Group name. */\r
- char *gr_passwd; /* Password. */\r
- int gr_gid; /* Group ID. */\r
- char **gr_mem; /* Member list. */\r
-};\r
-\r
-extern void setgrent __P((void));\r
-extern void endgrent __P((void));\r
-extern struct group *getgrent __P((void));\r
-\r
-extern struct group *getgrgid __P((const gid_t gid));\r
-extern struct group *getgrnam __P((char * name));\r
-\r
-extern struct group * fgetgrent __P((FILE * file));\r
-\r
-extern int setgroups __P((size_t n, int *groups));\r
-extern int initgroups __P((const char * user, gid_t gid));\r
-\r
-extern struct group * __getgrent __P((int grp_fd));\r
-\r
-extern char *_path_group;\r
-\r
-#endif /* _GRP_H */\r
+#ifndef __GRP_H
+#define __GRP_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <stdio.h>
+
+#define GR_MAX_GROUPS 32
+#define GR_MAX_MEMBERS 16
+
+/* The group structure */
+struct group {
+ char *gr_name; /* Group name. */
+ char *gr_passwd; /* Password. */
+ int gr_gid; /* Group ID. */
+ char **gr_mem; /* Member list. */
+};
+
+extern void setgrent __P((void));
+extern void endgrent __P((void));
+extern struct group *getgrent __P((void));
+
+extern struct group *getgrgid __P((const gid_t gid));
+extern struct group *getgrnam __P((char * name));
+
+extern struct group * fgetgrent __P((FILE * file));
+
+extern int setgroups __P((size_t n, int *groups));
+extern int initgroups __P((const char * user, gid_t gid));
+
+extern struct group * __getgrent __P((int grp_fd));
+
+extern char *_path_group;
+
+#endif /* _GRP_H */
-#ifndef __LIMITS_H\r
-#define __LIMITS_H\r
-\r
-#define CHAR_MAX 127 /* maximum char value */\r
-#define CHAR_MIN (-127) /* mimimum char value */\r
-#define SCHAR_MAX 127 /* maximum signed char value */\r
-#define SCHAR_MIN (-127) /* minimum signed char value */\r
-#define CHAR_BIT 8 /* number of bits in a char */\r
-\r
-#define SHRT_MAX 32767 /* maximum (signed) short value */\r
-#define SHRT_MIN (-32767) /* minimum (signed) short value */\r
-#define INT_MAX 32767 /* maximum (signed) int value */\r
-#define INT_MIN (-32767) /* minimum (signed) int value */\r
-\r
-#define LONG_MAX 2147483647 /* maximum (signed) long value */\r
-#define LONG_MIN (-2147483647) /* minimum (signed) long value */\r
-\r
-#define UCHAR_MAX 255 /* maximum unsigned char value */\r
-#define USHRT_MAX 0xffff /* maximum unsigned short value */\r
-#define UINT_MAX 0xffff /* maximum unsigned int value */\r
-#define ULONG_MAX 0xffffffff /* maximum unsigned long value */\r
-\r
-#ifndef RAND_MAX\r
-#define RAND_MAX INT_MAX\r
-#endif\r
-#endif\r
-\r
-#endif\r
+#ifndef __LIMITS_H
+#define __LIMITS_H
+
+#define CHAR_MAX 127 /* maximum char value */
+#define CHAR_MIN (-127) /* mimimum char value */
+#define SCHAR_MAX 127 /* maximum signed char value */
+#define SCHAR_MIN (-127) /* minimum signed char value */
+#define CHAR_BIT 8 /* number of bits in a char */
+
+#define SHRT_MAX 32767 /* maximum (signed) short value */
+#define SHRT_MIN (-32767) /* minimum (signed) short value */
+#define INT_MAX 32767 /* maximum (signed) int value */
+#define INT_MIN (-32767) /* minimum (signed) int value */
+
+#define LONG_MAX 2147483647 /* maximum (signed) long value */
+#define LONG_MIN (-2147483647) /* minimum (signed) long value */
+
+#define UCHAR_MAX 255 /* maximum unsigned char value */
+#define USHRT_MAX 0xffff /* maximum unsigned short value */
+#define UINT_MAX 0xffff /* maximum unsigned int value */
+#define ULONG_MAX 0xffffffff /* maximum unsigned long value */
+
+#ifndef RAND_MAX
+#define RAND_MAX INT_MAX
+#endif
+#endif
+
+#endif
-#ifndef __MALLOC_H\r
-#define __MALLOC_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-extern void free __P((void *));\r
-extern void *malloc __P((size_t));\r
-extern void *realloc __P((void *, size_t));\r
-extern void *calloc __P((size_t, size_t));\r
-extern void *alloca __P((size_t));\r
-\r
-#endif\r
+#ifndef __MALLOC_H
+#define __MALLOC_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+extern void free __P((void *));
+extern void *malloc __P((size_t));
+extern void *realloc __P((void *, size_t));
+extern void *calloc __P((size_t, size_t));
+extern void *alloca __P((size_t));
+
+#endif
-/*\r
- */\r
-\r
-#ifndef _MATH_H\r
-#define _MATH_H\r
-\r
-extern double fabs(double);\r
-extern double floor(double);\r
-extern double ceil(double);\r
-extern double modf(double, double *);\r
-extern double frexp(double, int *);\r
-extern double ldexp(double, int);\r
-extern double atof(char *);\r
-\r
-extern double sqrt(double);\r
-\r
-extern double sin(double);\r
-extern double cos(double);\r
-extern double tan(double);\r
-extern double asin(double);\r
-extern double acos(double);\r
-extern double atan(double);\r
-extern double atan2(double, double);\r
-extern double sinh(double);\r
-extern double cosh(double);\r
-extern double tanh(double);\r
-\r
-extern double log(double);\r
-extern double log10(double);\r
-extern double pow(double, double);\r
-extern double exp(double);\r
-\r
-extern double eval_poly(double, double *, int);\r
-#endif\r
+/*
+ */
+
+#ifndef _MATH_H
+#define _MATH_H
+
+extern double fabs(double);
+extern double floor(double);
+extern double ceil(double);
+extern double modf(double, double *);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double atof(char *);
+
+extern double sqrt(double);
+
+extern double sin(double);
+extern double cos(double);
+extern double tan(double);
+extern double asin(double);
+extern double acos(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double sinh(double);
+extern double cosh(double);
+extern double tanh(double);
+
+extern double log(double);
+extern double log10(double);
+extern double pow(double, double);
+extern double exp(double);
+
+extern double eval_poly(double, double *, int);
+#endif
-#ifndef __STRING_H\r
-#include <string.h>\r
-#endif\r
+#ifndef __STRING_H
+#include <string.h>
+#endif
-/*\r
- ncurses.h\r
- \r
- just a fake - equal to curses.h\r
-*/\r
-\r
+/*
+ ncurses.h
+
+ just a fake - equal to curses.h
+*/
+
#include <curses.h>
\ No newline at end of file
-#ifndef __PATHS_H\r
-#define __PATHS_H\r
-\r
-#define _PATH_DEV "/dev/"\r
-#define _PATH_DEVNULL "/dev/null"\r
-#define _PATH_CONSOLE "/dev/console"\r
-#define _PATH_TTY "/dev/tty"\r
-\r
-#define _PATH_TMP "/tmp/"\r
-#define _PATH_UTMP "/var/run/utmp"\r
-\r
-#define _PATH_INIT "/bin/init"\r
-#define _PATH_LOGIN "/bin/login"\r
-#define _PATH_BSHELL "/bin/sh"\r
-#define _PATH_DEFPATH ".:/bin:/usr/bin:/etc:/usr/local/bin"\r
-\r
-#define _PATH_LIBERR "/usr/lib/liberror.txt"\r
-\r
-#define _PATH_TERMCAP "/etc/termcap"\r
-#define _PATH_PASSWD "/etc/passwd"\r
-#define _PATH_GROUP "/etc/group"\r
-\r
-#define _PATH_HOME "/home"\r
-\r
-#define _PATH_HOSTNAME "/etc/hostname"\r
-\r
-#endif /* __PATHS_H */\r
+#ifndef __PATHS_H
+#define __PATHS_H
+
+#define _PATH_DEV "/dev/"
+#define _PATH_DEVNULL "/dev/null"
+#define _PATH_CONSOLE "/dev/console"
+#define _PATH_TTY "/dev/tty"
+
+#define _PATH_TMP "/tmp/"
+#define _PATH_UTMP "/var/run/utmp"
+
+#define _PATH_INIT "/bin/init"
+#define _PATH_LOGIN "/bin/login"
+#define _PATH_BSHELL "/bin/sh"
+#define _PATH_DEFPATH ".:/bin:/usr/bin:/etc:/usr/local/bin"
+
+#define _PATH_LIBERR "/usr/lib/liberror.txt"
+
+#define _PATH_TERMCAP "/etc/termcap"
+#define _PATH_PASSWD "/etc/passwd"
+#define _PATH_GROUP "/etc/group"
+
+#define _PATH_HOME "/home"
+
+#define _PATH_HOSTNAME "/etc/hostname"
+
+#endif /* __PATHS_H */
-#ifndef __PWD_H\r
-#define __PWD_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <stdio.h>\r
-\r
-/* The passwd structure. */\r
-struct passwd {\r
- char *pw_name; /* Username */\r
- char *pw_passwd; /* Password */\r
- uid_t pw_uid; /* User ID */\r
- gid_t pw_gid; /* Group ID */\r
- char *pw_gecos; /* Real name */\r
- char *pw_dir; /* Home directory */\r
- char *pw_shell; /* Shell program */\r
-};\r
-\r
-extern void setpwent __P((void));\r
-extern void endpwent __P((void));\r
-extern struct passwd *getpwent __P((void));\r
-\r
-extern int putpwent __P((struct passwd * __p, FILE * __f));\r
-extern int getpw __P((uid_t uid, char *buf));\r
-\r
-extern struct passwd *fgetpwent __P((FILE * file));\r
-\r
-extern struct passwd *getpwuid __P((uid_t __uid));\r
-extern struct passwd *getpwnam __P((char *));\r
-\r
-extern struct passwd * __getpwent __P((int passwd_fd));\r
-\r
-extern char *_path_passwd;\r
-\r
-#define getlogin() getpwnam(getuid())\r
-\r
-#endif /* pwd.h */\r
+#ifndef __PWD_H
+#define __PWD_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <stdio.h>
+
+/* The passwd structure. */
+struct passwd {
+ char *pw_name; /* Username */
+ char *pw_passwd; /* Password */
+ uid_t pw_uid; /* User ID */
+ gid_t pw_gid; /* Group ID */
+ char *pw_gecos; /* Real name */
+ char *pw_dir; /* Home directory */
+ char *pw_shell; /* Shell program */
+};
+
+extern void setpwent __P((void));
+extern void endpwent __P((void));
+extern struct passwd *getpwent __P((void));
+
+extern int putpwent __P((struct passwd * __p, FILE * __f));
+extern int getpw __P((uid_t uid, char *buf));
+
+extern struct passwd *fgetpwent __P((FILE * file));
+
+extern struct passwd *getpwuid __P((uid_t __uid));
+extern struct passwd *getpwnam __P((char *));
+
+extern struct passwd * __getpwent __P((int passwd_fd));
+
+extern char *_path_passwd;
+
+#define getlogin() getpwnam(getuid())
+
+#endif /* pwd.h */
-/*\r
- * Definitions etc. for regexp(3) routines.\r
- *\r
- * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],\r
- * not the System V one.\r
- */\r
-#ifndef __REGEXP_H\r
-#define __REGEXP_H\r
-\r
-#define NSUBEXP 10\r
-\r
-typedef struct regexp {\r
- char *startp[NSUBEXP];\r
- char *endp[NSUBEXP];\r
- char regstart; /* Internal use only. */\r
- char reganch; /* Internal use only. */\r
- char *regmust; /* Internal use only. */\r
- int regmlen; /* Internal use only. */\r
- char program[1]; /* Unwarranted chumminess with compiler. */\r
-} regexp;\r
-\r
-extern regexp *regcomp __P((char *));\r
-extern int regexec __P((regexp *prog, char *string));\r
-extern void regsub __P((regexp *prog, char *source, char *dest));\r
-extern void regerror __P((char *));\r
-\r
-#endif\r
+/*
+ * Definitions etc. for regexp(3) routines.
+ *
+ * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
+ * not the System V one.
+ */
+#ifndef __REGEXP_H
+#define __REGEXP_H
+
+#define NSUBEXP 10
+
+typedef struct regexp {
+ char *startp[NSUBEXP];
+ char *endp[NSUBEXP];
+ char regstart; /* Internal use only. */
+ char reganch; /* Internal use only. */
+ char *regmust; /* Internal use only. */
+ int regmlen; /* Internal use only. */
+ char program[1]; /* Unwarranted chumminess with compiler. */
+} regexp;
+
+extern regexp *regcomp __P((char *));
+extern int regexec __P((regexp *prog, char *string));
+extern void regsub __P((regexp *prog, char *source, char *dest));
+extern void regerror __P((char *));
+
+#endif
-/*\r
- * The first byte of the regexp internal "program" is actually this magic\r
- * number; the start node begins in the second byte.\r
- */\r
-#define MAGIC 0234\r
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234
-#ifndef __SEARCH_H\r
-#define __SEARCH_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <stddef.h>\r
-\r
-#ifndef __COMPAR_FN_T\r
-#define __COMPAR_FN_T\r
-typedef int (*__compar_fn_t) __P((__ptr_t, __ptr_t));\r
-#endif\r
-\r
-/* for use with hsearch(3) */\r
-\r
-typedef struct entry { char *key; char *data; } ENTRY;\r
-typedef enum { FIND, ENTER } ACTION;\r
-\r
-extern ENTRY * hsearch __P((ENTRY __item, ACTION __action));\r
-extern int hcreate __P((unsigned __nel));\r
-extern void hdestroy __P((void));\r
-\r
-/* The tsearch routines are very interesting. They make many\r
- * assumptions about the compiler. It assumpts that the first field\r
- * in node must be the "key" field, which points to the datum.\r
- * Everything depends on that. It is a very tricky stuff. H.J.\r
- */\r
-/* For tsearch */\r
-typedef enum { preorder, postorder, endorder, leaf } VISIT;\r
-\r
-extern void *tsearch __P((void *__key, void **__rootp, __compar_fn_t compar));\r
-\r
-extern void *tfind __P((void *__key, void ** __rootp, __compar_fn_t compar));\r
-\r
-extern void *tdelete __P((void * __key, void ** __rootp, __compar_fn_t compar));\r
-\r
-#ifndef __ACTION_FN_T\r
-#define __ACTION_FN_T\r
-/* FYI, the first argument should be a pointer to "key".\r
- * Please read the man page for details.\r
- */\r
-typedef void (*__action_fn_t) __P((void *__nodep, VISIT __value, int __level));\r
-#endif\r
-\r
-extern void twalk __P((void * __root, __action_fn_t action));\r
-\r
-\r
-extern void * lfind __P((void * __key, void * __base,\r
- size_t * __nmemb, size_t __size,\r
- __compar_fn_t __compar));\r
-\r
-extern void * lsearch __P((void * __key, void * __base,\r
- size_t * __nmemb, size_t __size,\r
- __compar_fn_t __compar));\r
-\r
-#endif /* search.h */\r
+#ifndef __SEARCH_H
+#define __SEARCH_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <stddef.h>
+
+#ifndef __COMPAR_FN_T
+#define __COMPAR_FN_T
+typedef int (*__compar_fn_t) __P((__ptr_t, __ptr_t));
+#endif
+
+/* for use with hsearch(3) */
+
+typedef struct entry { char *key; char *data; } ENTRY;
+typedef enum { FIND, ENTER } ACTION;
+
+extern ENTRY * hsearch __P((ENTRY __item, ACTION __action));
+extern int hcreate __P((unsigned __nel));
+extern void hdestroy __P((void));
+
+/* The tsearch routines are very interesting. They make many
+ * assumptions about the compiler. It assumpts that the first field
+ * in node must be the "key" field, which points to the datum.
+ * Everything depends on that. It is a very tricky stuff. H.J.
+ */
+/* For tsearch */
+typedef enum { preorder, postorder, endorder, leaf } VISIT;
+
+extern void *tsearch __P((void *__key, void **__rootp, __compar_fn_t compar));
+
+extern void *tfind __P((void *__key, void ** __rootp, __compar_fn_t compar));
+
+extern void *tdelete __P((void * __key, void ** __rootp, __compar_fn_t compar));
+
+#ifndef __ACTION_FN_T
+#define __ACTION_FN_T
+/* FYI, the first argument should be a pointer to "key".
+ * Please read the man page for details.
+ */
+typedef void (*__action_fn_t) __P((void *__nodep, VISIT __value, int __level));
+#endif
+
+extern void twalk __P((void * __root, __action_fn_t action));
+
+
+extern void * lfind __P((void * __key, void * __base,
+ size_t * __nmemb, size_t __size,
+ __compar_fn_t __compar));
+
+extern void * lsearch __P((void * __key, void * __base,
+ size_t * __nmemb, size_t __size,
+ __compar_fn_t __compar));
+
+#endif /* search.h */
-#ifndef __SETJMP_H\r
-#define __SETJMP_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-/* FIXME: need to add alt registers */\r
-typedef int jmp_buf[7];\r
-\r
-int setjmp __P((jmp_buf env));\r
-void longjmp __P((jmp_buf env, int rv));\r
-\r
-#endif\r
+#ifndef __SETJMP_H
+#define __SETJMP_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+/* FIXME: need to add alt registers */
+typedef int jmp_buf[7];
+
+int setjmp __P((jmp_buf env));
+void longjmp __P((jmp_buf env, int rv));
+
+#endif
-#ifndef __STDIO_H\r
-#define __STDIO_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <stdarg.h>\r
-\r
-#define BUFSIZE 512 /* uzix buffer/block size */\r
-#define BUFSIZELOG 9 /* uzix buffer/block size log2 */\r
-#define BUFSIZ 256\r
-#define PATHLEN 512\r
-\r
-#ifndef SEEK_SET\r
-#define SEEK_SET 0\r
-#define SEEK_CUR 1\r
-#define SEEK_END 2\r
-#endif\r
-\r
-#define _IOFBF 0x00 /* full buffering */\r
-#define _IOLBF 0x01 /* line buffering */\r
-#define _IONBF 0x02 /* no buffering */\r
-#define __MODE_BUF 0x03 /* Modal buffering dependent on isatty */\r
-\r
-#define __MODE_FREEBUF 0x04 /* Buffer allocated with malloc, can free */\r
-#define __MODE_FREEFIL 0x08 /* FILE allocated with malloc, can free */\r
-\r
-#define __MODE_READ 0x10 /* Opened in read only */\r
-#define __MODE_WRITE 0x20 /* Opened in write only */\r
-#define __MODE_RDWR 0x30 /* Opened in read/write */\r
-\r
-#define __MODE_READING 0x40 /* Buffer has pending read data */\r
-#define __MODE_WRITING 0x80 /* Buffer has pending write data */\r
-\r
-#define __MODE_EOF 0x100 /* EOF status */\r
-#define __MODE_ERR 0x200 /* Error status */\r
-#define __MODE_UNGOT 0x400 /* Buffer has been polluted by ungetc */\r
-\r
-#define __MODE_IOTRAN 0\r
-\r
-typedef off_t fpos_t;\r
-/* when you add or change fields here, be sure to change the initialization\r
- * in stdio_init and fopen */\r
-struct __stdio_file {\r
- uchar *bufpos; /* the next byte to write to or read from */\r
- uchar *bufread; /* the end of data returned by last read() */\r
- uchar *bufwrite; /* highest address writable by macro */\r
- uchar *bufstart; /* the start of the buffer */\r
- uchar *bufend; /* the end of the buffer; ie the byte after\r
- the last malloc()ed byte */\r
- int fd; /* the file descriptor associated with the stream */\r
- int mode;\r
- char unbuf[8]; /* The buffer for 'unbuffered' streams */\r
- struct __stdio_file * next;\r
-};\r
-\r
-#define EOF (-1)\r
-#ifndef NULL\r
-#define NULL (0)\r
-#endif\r
-\r
-typedef struct __stdio_file FILE;\r
-\r
-extern FILE stdin[1];\r
-extern FILE stdout[1];\r
-extern FILE stderr[1];\r
-\r
-#define putc(c, stream) \\r
- (((stream)->bufpos >= (stream)->bufwrite) ? \\r
- fputc((c), (stream)) : \\r
- (uchar) (*(stream)->bufpos++ = (c)))\r
-#define getc(stream) \\r
- (((stream)->bufpos >= (stream)->bufread) ? \\r
- fgetc(stream) : \\r
- (*(stream)->bufpos++))\r
-\r
-#define putchar(c) putc((c), stdout)\r
-#define getchar() getc(stdin)\r
-\r
-extern char *gets __P((char *));\r
-\r
-extern int _putchar __P((int));\r
-extern int _getchar __P((void));\r
-\r
-#define ferror(fp) (((fp)->mode&__MODE_ERR) != 0)\r
-#define feof(fp) (((fp)->mode&__MODE_EOF) != 0)\r
-#define clearerr(fp) ((fp)->mode &= ~(__MODE_EOF|__MODE_ERR))\r
-#define fileno(fp) ((fp)->fd)\r
-\r
-/* These two call malloc */\r
-extern int setvbuf __P((FILE*, char*, int, size_t));\r
-#define setlinebuf(__fp) setvbuf((__fp), (char*)0, _IOLBF, 0)\r
-\r
-/* These don't */\r
-extern void setbuffer __P((FILE*, char*, size_t));\r
-#define setbuf(__fp, __buf) setbuffer((__fp), (__buf), BUFSIZ)\r
-\r
-extern int fgetc __P((FILE*));\r
-extern int fputc __P((int, FILE*));\r
-extern int ungetc __P((int, FILE*));\r
-\r
-extern int fclose __P((FILE*));\r
-extern int fflush __P((FILE*));\r
-#define stdio_pending(fp) ((fp)->bufread > (fp)->bufpos)\r
-extern char *fgets __P((char*, size_t, FILE*));\r
-extern FILE *__fopen __P((const char*, int, FILE*, const char*));\r
-\r
-#define fopen(__file, __mode) __fopen((__file), -1, (FILE*)0, (__mode))\r
-#define freopen(__file, __mode, __fp) __fopen((__file), -1, (__fp), (__mode))\r
-#define fdopen(__file, __mode) __fopen((char*)0, (__file), (FILE*)0, (__mode))\r
-\r
-extern int fputs __P((const void *, FILE*));\r
-extern int puts __P((const void *));\r
-\r
-extern int fread __P((void *, size_t, size_t, FILE *));\r
-extern int fwrite __P((const void *, size_t, size_t, FILE *));\r
-\r
-extern int fseek __P((FILE *fp, long offset, int whence));\r
-extern long ftell __P((FILE *fp));\r
-#define fseeko fseek\r
-#define ftello ftell\r
-\r
-extern int fgetpos __P((FILE *fp, fpos_t *pos));\r
-extern int fsetpos __P((FILE *fp, fpos_t *pos));\r
-\r
-extern int printf __P((const char*, ...));\r
-extern int fprintf __P((FILE*, const char*, ...));\r
-extern int sprintf __P((char*, const char*, ...));\r
-\r
-extern int vprintf __P((const char*, va_list));\r
-extern int vfprintf __P((FILE*, const char*, va_list));\r
-extern int vsprintf __P((char*, const char*, va_list));\r
-\r
-extern int scanf __P((const char*, ...));\r
-extern int fscanf __P((FILE*, const char*, ...));\r
-extern int sscanf __P((char*, const char*, ...));\r
-\r
-extern int vscanf __P((const char*, va_list));\r
-extern int vfscanf __P((FILE*, const char*, va_list));\r
-extern int vsscanf __P((char*, const char*, va_list));\r
-\r
-extern void perror __P((const char *__s));\r
-extern char *strerror __P((int __errno));\r
-\r
-extern char *tmpnam __P((char *buf));\r
-\r
-extern int rename __P((const char *oldname, const char *newname));\r
-extern void rewind __P((FILE *fp));\r
-extern FILE *popen __P((const char *, const char *));\r
-extern int pclose __P((FILE *));\r
-\r
-#endif /* __STDIO_H */\r
+#ifndef __STDIO_H
+#define __STDIO_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <stdarg.h>
+
+#define BUFSIZE 512 /* uzix buffer/block size */
+#define BUFSIZELOG 9 /* uzix buffer/block size log2 */
+#define BUFSIZ 256
+#define PATHLEN 512
+
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#endif
+
+#define _IOFBF 0x00 /* full buffering */
+#define _IOLBF 0x01 /* line buffering */
+#define _IONBF 0x02 /* no buffering */
+#define __MODE_BUF 0x03 /* Modal buffering dependent on isatty */
+
+#define __MODE_FREEBUF 0x04 /* Buffer allocated with malloc, can free */
+#define __MODE_FREEFIL 0x08 /* FILE allocated with malloc, can free */
+
+#define __MODE_READ 0x10 /* Opened in read only */
+#define __MODE_WRITE 0x20 /* Opened in write only */
+#define __MODE_RDWR 0x30 /* Opened in read/write */
+
+#define __MODE_READING 0x40 /* Buffer has pending read data */
+#define __MODE_WRITING 0x80 /* Buffer has pending write data */
+
+#define __MODE_EOF 0x100 /* EOF status */
+#define __MODE_ERR 0x200 /* Error status */
+#define __MODE_UNGOT 0x400 /* Buffer has been polluted by ungetc */
+
+#define __MODE_IOTRAN 0
+
+typedef off_t fpos_t;
+/* when you add or change fields here, be sure to change the initialization
+ * in stdio_init and fopen */
+struct __stdio_file {
+ uchar *bufpos; /* the next byte to write to or read from */
+ uchar *bufread; /* the end of data returned by last read() */
+ uchar *bufwrite; /* highest address writable by macro */
+ uchar *bufstart; /* the start of the buffer */
+ uchar *bufend; /* the end of the buffer; ie the byte after
+ the last malloc()ed byte */
+ int fd; /* the file descriptor associated with the stream */
+ int mode;
+ char unbuf[8]; /* The buffer for 'unbuffered' streams */
+ struct __stdio_file * next;
+};
+
+#define EOF (-1)
+#ifndef NULL
+#define NULL (0)
+#endif
+
+typedef struct __stdio_file FILE;
+
+extern FILE stdin[1];
+extern FILE stdout[1];
+extern FILE stderr[1];
+
+#define putc(c, stream) \
+ (((stream)->bufpos >= (stream)->bufwrite) ? \
+ fputc((c), (stream)) : \
+ (uchar) (*(stream)->bufpos++ = (c)))
+#define getc(stream) \
+ (((stream)->bufpos >= (stream)->bufread) ? \
+ fgetc(stream) : \
+ (*(stream)->bufpos++))
+
+#define putchar(c) putc((c), stdout)
+#define getchar() getc(stdin)
+
+extern char *gets __P((char *));
+
+extern int _putchar __P((int));
+extern int _getchar __P((void));
+
+#define ferror(fp) (((fp)->mode&__MODE_ERR) != 0)
+#define feof(fp) (((fp)->mode&__MODE_EOF) != 0)
+#define clearerr(fp) ((fp)->mode &= ~(__MODE_EOF|__MODE_ERR))
+#define fileno(fp) ((fp)->fd)
+
+/* These two call malloc */
+extern int setvbuf __P((FILE*, char*, int, size_t));
+#define setlinebuf(__fp) setvbuf((__fp), (char*)0, _IOLBF, 0)
+
+/* These don't */
+extern void setbuffer __P((FILE*, char*, size_t));
+#define setbuf(__fp, __buf) setbuffer((__fp), (__buf), BUFSIZ)
+
+extern int fgetc __P((FILE*));
+extern int fputc __P((int, FILE*));
+extern int ungetc __P((int, FILE*));
+
+extern int fclose __P((FILE*));
+extern int fflush __P((FILE*));
+#define stdio_pending(fp) ((fp)->bufread > (fp)->bufpos)
+extern char *fgets __P((char*, size_t, FILE*));
+extern FILE *__fopen __P((const char*, int, FILE*, const char*));
+
+#define fopen(__file, __mode) __fopen((__file), -1, (FILE*)0, (__mode))
+#define freopen(__file, __mode, __fp) __fopen((__file), -1, (__fp), (__mode))
+#define fdopen(__file, __mode) __fopen((char*)0, (__file), (FILE*)0, (__mode))
+
+extern int fputs __P((const void *, FILE*));
+extern int puts __P((const void *));
+
+extern int fread __P((void *, size_t, size_t, FILE *));
+extern int fwrite __P((const void *, size_t, size_t, FILE *));
+
+extern int fseek __P((FILE *fp, long offset, int whence));
+extern long ftell __P((FILE *fp));
+#define fseeko fseek
+#define ftello ftell
+
+extern int fgetpos __P((FILE *fp, fpos_t *pos));
+extern int fsetpos __P((FILE *fp, fpos_t *pos));
+
+extern int printf __P((const char*, ...));
+extern int fprintf __P((FILE*, const char*, ...));
+extern int sprintf __P((char*, const char*, ...));
+
+extern int vprintf __P((const char*, va_list));
+extern int vfprintf __P((FILE*, const char*, va_list));
+extern int vsprintf __P((char*, const char*, va_list));
+
+extern int scanf __P((const char*, ...));
+extern int fscanf __P((FILE*, const char*, ...));
+extern int sscanf __P((char*, const char*, ...));
+
+extern int vscanf __P((const char*, va_list));
+extern int vfscanf __P((FILE*, const char*, va_list));
+extern int vsscanf __P((char*, const char*, va_list));
+
+extern void perror __P((const char *__s));
+extern char *strerror __P((int __errno));
+
+extern char *tmpnam __P((char *buf));
+
+extern int rename __P((const char *oldname, const char *newname));
+extern void rewind __P((FILE *fp));
+extern FILE *popen __P((const char *, const char *));
+extern int pclose __P((FILE *));
+
+#endif /* __STDIO_H */
-#ifndef __STDLIB_H\r
-#define __STDLIB_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <malloc.h>\r
-#include <syscalls.h>\r
-\r
-/* Don't overwrite user definitions of NULL */\r
-#ifndef NULL\r
-#define NULL ((void *) 0)\r
-#endif\r
-\r
-/* Returned by `div' */\r
-typedef struct {\r
- int quot; /* Quotient */\r
- int rem; /* Remainder */\r
-} div_t;\r
-\r
-/* Returned by `ldiv' */\r
-typedef struct {\r
- long int quot; /* Quotient */\r
- long int rem; /* Remainder */\r
-} ldiv_t;\r
-\r
-/* For program termination */\r
-#define EXIT_FAILURE 1\r
-#define EXIT_SUCCESS 0\r
-\r
-extern void exit __P((int));\r
-extern void abort __P((void));\r
-\r
-\r
-extern int rand __P((void));\r
-extern void srand __P((uint seed));\r
-\r
-extern char *__longtoa __P((unsigned long, char *, int, char, char));\r
-extern char *itoa __P((int value, char *strP, int radix));\r
-extern char *ultoa __P((unsigned long value, char *strP, int radix));\r
-extern char *ltoa __P((long value, char *strP, int radix));\r
-\r
-extern int atoi __P((char *str));\r
-extern long atol __P((char *strP));\r
-\r
-extern char *_itoa __P((int value));\r
-extern char *_ltoa __P((long value));\r
-extern char *_ultoa __P((unsigned long value));\r
-\r
-extern char *ultostr __P((unsigned long value, int radix));\r
-extern char *ltostr __P((long value, int radix));\r
-\r
-extern long strtol __P ((const char * nptr, char ** endptr, int base));\r
-extern unsigned long strtoul __P ((const char * nptr,\r
- char ** endptr, int base));\r
-#ifndef __HAS_NO_DOUBLES__\r
-extern double strtod __P ((const char * nptr, char ** endptr));\r
-#endif\r
-\r
-extern char **environ;\r
-extern char *getenv __P((char *));\r
-extern int putenv __P((char *));\r
-extern int setenv __P((char *, char *, int));\r
-extern void unsetenv __P((char *));\r
-\r
-typedef void (*atexit_t) __P((int));\r
-typedef void (*onexit_t) __P((int, void *));\r
-extern int atexit __P((atexit_t));\r
-extern int on_exit __P((onexit_t, void *arg));\r
-extern onexit_t __cleanup;\r
-\r
-extern char *crypt __P((char *__key, char *__salt));\r
-\r
-typedef int (*cmp_func_t) __P((void *, void *));\r
-\r
-extern int _bsearch;\r
-extern void *bsearch __P((void *key, void *base, size_t num, size_t size, cmp_func_t cmp));\r
-extern void *lfind __P((void *key, void *base, size_t *num, size_t size, cmp_func_t cmp));\r
-extern void *lsearch __P((void *key, void *base, size_t *num, size_t size, cmp_func_t cmp));\r
-extern void *_qbuf;\r
-extern void qsort __P((void *base, size_t num, size_t size, cmp_func_t cmp));\r
-\r
-extern int opterr;\r
-extern int optind;\r
-extern char *optarg;\r
-extern int getopt __P((int argc, char *argv[], char *optstring));\r
-\r
-extern char *getpass(char *prompt);\r
-\r
-extern int _argc;\r
-extern char **_argv;\r
-\r
-#endif /* __STDLIB_H */\r
+#ifndef __STDLIB_H
+#define __STDLIB_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <malloc.h>
+#include <syscalls.h>
+
+/* Don't overwrite user definitions of NULL */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+/* Returned by `div' */
+typedef struct {
+ int quot; /* Quotient */
+ int rem; /* Remainder */
+} div_t;
+
+/* Returned by `ldiv' */
+typedef struct {
+ long int quot; /* Quotient */
+ long int rem; /* Remainder */
+} ldiv_t;
+
+/* For program termination */
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+
+extern void exit __P((int));
+extern void abort __P((void));
+
+
+extern int rand __P((void));
+extern void srand __P((uint seed));
+
+extern char *__longtoa __P((unsigned long, char *, int, char, char));
+extern char *itoa __P((int value, char *strP, int radix));
+extern char *ultoa __P((unsigned long value, char *strP, int radix));
+extern char *ltoa __P((long value, char *strP, int radix));
+
+extern int atoi __P((char *str));
+extern long atol __P((char *strP));
+
+extern char *_itoa __P((int value));
+extern char *_ltoa __P((long value));
+extern char *_ultoa __P((unsigned long value));
+
+extern char *ultostr __P((unsigned long value, int radix));
+extern char *ltostr __P((long value, int radix));
+
+extern long strtol __P ((const char * nptr, char ** endptr, int base));
+extern unsigned long strtoul __P ((const char * nptr,
+ char ** endptr, int base));
+#ifndef __HAS_NO_DOUBLES__
+extern double strtod __P ((const char * nptr, char ** endptr));
+#endif
+
+extern char **environ;
+extern char *getenv __P((char *));
+extern int putenv __P((char *));
+extern int setenv __P((char *, char *, int));
+extern void unsetenv __P((char *));
+
+typedef void (*atexit_t) __P((int));
+typedef void (*onexit_t) __P((int, void *));
+extern int atexit __P((atexit_t));
+extern int on_exit __P((onexit_t, void *arg));
+extern onexit_t __cleanup;
+
+extern char *crypt __P((char *__key, char *__salt));
+
+typedef int (*cmp_func_t) __P((void *, void *));
+
+extern int _bsearch;
+extern void *bsearch __P((void *key, void *base, size_t num, size_t size, cmp_func_t cmp));
+extern void *lfind __P((void *key, void *base, size_t *num, size_t size, cmp_func_t cmp));
+extern void *lsearch __P((void *key, void *base, size_t *num, size_t size, cmp_func_t cmp));
+extern void *_qbuf;
+extern void qsort __P((void *base, size_t num, size_t size, cmp_func_t cmp));
+
+extern int opterr;
+extern int optind;
+extern char *optarg;
+extern int getopt __P((int argc, char *argv[], char *optstring));
+
+extern char *getpass(char *prompt);
+
+extern int _argc;
+extern char **_argv;
+
+#endif /* __STDLIB_H */
-#ifndef __STRING_H\r
-#include <string.h>\r
-#endif\r
+#ifndef __STRING_H
+#include <string.h>
+#endif
-#ifndef _SYS_CDEFS_H\r
-#define _SYS_CDEFS_H\r
-#ifndef __FEATURES_H\r
-#include <features.h>\r
-#endif\r
-\r
-#ifdef __STDC__\r
-#define __CONCAT(x,y) x ## y\r
-#define __STRING(x) #x\r
-#else\r
-#define __CONCAT(x,y) x/**/y\r
-#define __STRING(x) #x\r
-#endif /* __STDC__ */\r
-\r
-/* This is not a typedef so `const __ptr_t' does the right thing */\r
-/* For K&R 'void' defined as 'char' */\r
-#define __ptr_t void *\r
-\r
-#endif\r
-\r
+#ifndef _SYS_CDEFS_H
+#define _SYS_CDEFS_H
+#ifndef __FEATURES_H
+#include <features.h>
+#endif
+
+#ifdef __STDC__
+#define __CONCAT(x,y) x ## y
+#define __STRING(x) #x
+#else
+#define __CONCAT(x,y) x/**/y
+#define __STRING(x) #x
+#endif /* __STDC__ */
+
+/* This is not a typedef so `const __ptr_t' does the right thing */
+/* For K&R 'void' defined as 'char' */
+#define __ptr_t void *
+
+#endif
+
-#ifndef _SYS_EXEC_H\r
-#define _SYS_EXEC_H\r
-\r
-#endif\r
+#ifndef _SYS_EXEC_H
+#define _SYS_EXEC_H
+
+#endif
-#ifndef _SYS_IOCTL_H\r
-#define _SYS_IOCTL_H\r
-\r
-#endif\r
-\r
+#ifndef _SYS_IOCTL_H
+#define _SYS_IOCTL_H
+
+#endif
+
-#ifndef _SYS_SEEK_H\r
-#define _SYS_SEEK_H\r
-\r
-#ifndef SEEK_OSET\r
-#define SEEK_OSET 0\r
-#define SEEK_OCUR 1\r
-#define SEEK_OEND 2\r
-#define SEEK_BSET 3\r
-#define SEEK_BCUR 4\r
-#define SEEK_BEND 5\r
-#endif\r
-\r
-#ifndef SEEK_SET\r
-#define SEEK_SET 0\r
-#define SEEK_CUR 1\r
-#define SEEK_END 2\r
-#endif\r
-\r
-#endif /* __SEEK_H */\r
+#ifndef _SYS_SEEK_H
+#define _SYS_SEEK_H
+
+#ifndef SEEK_OSET
+#define SEEK_OSET 0
+#define SEEK_OCUR 1
+#define SEEK_OEND 2
+#define SEEK_BSET 3
+#define SEEK_BCUR 4
+#define SEEK_BEND 5
+#endif
+
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#endif
+
+#endif /* __SEEK_H */
-#ifndef _SYS_UTSNAME_H\r
-#define _SYS_UTSNAME_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-struct utsname {\r
- char sysname[14];\r
- char nodename[14];\r
- char release[8];\r
- char version[8];\r
- char machine[8];\r
-};\r
-\r
-extern int uname __P ((struct utsname * __utsbuf));\r
-\r
-#endif\r
-\r
+#ifndef _SYS_UTSNAME_H
+#define _SYS_UTSNAME_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+struct utsname {
+ char sysname[14];
+ char nodename[14];
+ char release[8];
+ char version[8];
+ char machine[8];
+};
+
+extern int uname __P ((struct utsname * __utsbuf));
+
+#endif
+
-#ifndef _SYS_WAIT_H\r
-#define _SYS_WAIT_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-/* Bits in the third argument to `waitpid'. */\r
-#define WNOHANG 1 /* Don't block waiting. */\r
-#define WUNTRACED 2 /* Report status of stopped children. */\r
-\r
-/* Everything extant so far uses these same bits. */\r
-/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */\r
-#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)\r
-\r
-/* If WIFSIGNALED(STATUS), the terminating signal. */\r
-#define WTERMSIG(status) ((status) & 0x7f)\r
-\r
-/* If WIFSTOPPED(STATUS), the signal that stopped the child. */\r
-#define WSTOPSIG(status) WEXITSTATUS(status)\r
-\r
-/* Nonzero if STATUS indicates normal termination. */\r
-#define WIFEXITED(status) (((status) & 0xff) == 0)\r
-\r
-/* Nonzero if STATUS indicates termination by a signal. */\r
-#define WIFSIGNALED(status) (((unsigned int)((status)-1) & 0xFFFF) < 0xFF)\r
-\r
-/* Nonzero if STATUS indicates the child is stopped. */\r
-#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)\r
-\r
-/* Nonzero if STATUS indicates the child dumped core. */\r
-#define WCOREDUMP(status) ((status) & 0200)\r
-\r
-/* Macros for constructing status values. */\r
-#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))\r
-#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)\r
-\r
-/* Special values for the PID argument to `waitpid' and `wait4'. */\r
-#define WAIT_ANY (-1) /* Any process. */\r
-#define WAIT_MYPGRP 0 /* Any process in my process group. */\r
-\r
-extern pid_t waitpid __P((pid_t pid, int *__stat_loc, int options));\r
-\r
-/* Wait for a child to die. When one does, put its status in *STAT_LOC\r
- and return its process ID. For errors, return (pid_t) -1.\r
- */\r
-#define wait(statloc) waitpid(WAIT_ANY, statloc, 0)\r
-\r
-#endif\r
+#ifndef _SYS_WAIT_H
+#define _SYS_WAIT_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+/* Bits in the third argument to `waitpid'. */
+#define WNOHANG 1 /* Don't block waiting. */
+#define WUNTRACED 2 /* Report status of stopped children. */
+
+/* Everything extant so far uses these same bits. */
+/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
+#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
+
+/* If WIFSIGNALED(STATUS), the terminating signal. */
+#define WTERMSIG(status) ((status) & 0x7f)
+
+/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
+#define WSTOPSIG(status) WEXITSTATUS(status)
+
+/* Nonzero if STATUS indicates normal termination. */
+#define WIFEXITED(status) (((status) & 0xff) == 0)
+
+/* Nonzero if STATUS indicates termination by a signal. */
+#define WIFSIGNALED(status) (((unsigned int)((status)-1) & 0xFFFF) < 0xFF)
+
+/* Nonzero if STATUS indicates the child is stopped. */
+#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
+
+/* Nonzero if STATUS indicates the child dumped core. */
+#define WCOREDUMP(status) ((status) & 0200)
+
+/* Macros for constructing status values. */
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+
+/* Special values for the PID argument to `waitpid' and `wait4'. */
+#define WAIT_ANY (-1) /* Any process. */
+#define WAIT_MYPGRP 0 /* Any process in my process group. */
+
+extern pid_t waitpid __P((pid_t pid, int *__stat_loc, int options));
+
+/* Wait for a child to die. When one does, put its status in *STAT_LOC
+ and return its process ID. For errors, return (pid_t) -1.
+ */
+#define wait(statloc) waitpid(WAIT_ANY, statloc, 0)
+
+#endif
\1a
\ No newline at end of file
-#ifndef __TERMCAP_H\r
-#define __TERMCAP_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-extern char PC;\r
-extern char *UP;\r
-extern char *BC;\r
-extern int ospeed;\r
-\r
-extern int tgetent __P((char *, char *));\r
-extern int tgetflag __P((char *));\r
-extern int tgetnum __P((char *));\r
-extern char *tgetstr __P((char *, char **));\r
-\r
-extern void tputs __P((char *, int, int (*)(int)));\r
-extern char *tgoto __P((char *, int, int));\r
-extern char *tparam(); /* VARARGS */\r
-\r
-#endif /* _TERMCAP_H */\r
-\1a\r
+#ifndef __TERMCAP_H
+#define __TERMCAP_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+extern char PC;
+extern char *UP;
+extern char *BC;
+extern int ospeed;
+
+extern int tgetent __P((char *, char *));
+extern int tgetflag __P((char *));
+extern int tgetnum __P((char *));
+extern char *tgetstr __P((char *, char **));
+
+extern void tputs __P((char *, int, int (*)(int)));
+extern char *tgoto __P((char *, int, int));
+extern char *tparam(); /* VARARGS */
+
+#endif /* _TERMCAP_H */
+\1a
-#ifndef __TERMIOS_H\r
-#include <termios.h>\r
-#endif\r
+#ifndef __TERMIOS_H
+#include <termios.h>
+#endif
-#ifndef __TIME_H\r
-#define __TIME_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <stddef.h>\r
-#include <syscalls.h>\r
-\r
-#ifndef CLOCK_T\r
-#define CLOCK_T\r
-typedef long clock_t;\r
-#endif\r
-\r
-struct tm {\r
- int tm_sec;\r
- int tm_min;\r
- int tm_hour;\r
- int tm_mday;\r
- int tm_mon;\r
- int tm_year;\r
- int tm_wday;\r
- int tm_yday;\r
- int tm_isdst;\r
-};\r
-\r
-struct timezone {\r
- int tz_minuteswest; /* minutes west of Greenwich */\r
- int tz_dsttime; /* type of dst correction */\r
-};\r
-\r
-#define __isleap(year) \\r
- ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))\r
-\r
-extern char *tzname[2];\r
-extern int daylight;\r
-extern long timezone;\r
-\r
-extern long clock __P ((void));\r
-extern time_t mktime __P ((struct tm * __tp));\r
-extern double difftime __P ((time_t *__time2, time_t *__time1));\r
-\r
-extern time_t *gtime(time_t *tvec);\r
-\r
-extern void __tm_conv __P((struct tm *tmbuf, time_t *t, int offset));\r
-extern void __asctime __P((char *, struct tm *));\r
-extern char *asctime __P ((struct tm * __tp));\r
-extern char *ctime __P ((time_t * __tp));\r
-extern void tzset __P ((void));\r
-\r
-extern struct tm *gmtime __P ((time_t *__tp));\r
-extern struct tm *localtime __P ((time_t * __tp));\r
-extern unsigned long convtime __P ((time_t *time_field));\r
-\r
-#define CLOCKS_PER_SEC 100 /* FIXME: sysconf */\r
-#endif\r
+#ifndef __TIME_H
+#define __TIME_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <stddef.h>
+#include <syscalls.h>
+
+#ifndef CLOCK_T
+#define CLOCK_T
+typedef long clock_t;
+#endif
+
+struct tm {
+ int tm_sec;
+ int tm_min;
+ int tm_hour;
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+ int tm_wday;
+ int tm_yday;
+ int tm_isdst;
+};
+
+struct timezone {
+ int tz_minuteswest; /* minutes west of Greenwich */
+ int tz_dsttime; /* type of dst correction */
+};
+
+#define __isleap(year) \
+ ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
+
+extern char *tzname[2];
+extern int daylight;
+extern long timezone;
+
+extern long clock __P ((void));
+extern time_t mktime __P ((struct tm * __tp));
+extern double difftime __P ((time_t *__time2, time_t *__time1));
+
+extern time_t *gtime(time_t *tvec);
+
+extern void __tm_conv __P((struct tm *tmbuf, time_t *t, int offset));
+extern void __asctime __P((char *, struct tm *));
+extern char *asctime __P ((struct tm * __tp));
+extern char *ctime __P ((time_t * __tp));
+extern void tzset __P ((void));
+
+extern struct tm *gmtime __P ((time_t *__tp));
+extern struct tm *localtime __P ((time_t * __tp));
+extern unsigned long convtime __P ((time_t *time_field));
+
+#define CLOCKS_PER_SEC 100 /* FIXME: sysconf */
+#endif
-#ifndef __TYPES_H\r
-#define __TYPES_H\r
-\r
-#ifndef __FEATURES_H\r
-#include "features.h"\r
-#endif\r
-#include "stdint.h"\r
-\r
-#include "sys/types.h"\r
-#endif\r
-\r
+#ifndef __TYPES_H
+#define __TYPES_H
+
+#ifndef __FEATURES_H
+#include "features.h"
+#endif
+#include "stdint.h"
+
+#include "sys/types.h"
+#endif
+
-#ifndef __UTMP_H\r
-#define __UTMP_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-#include <paths.h>\r
-#include <time.h>\r
-\r
-#define UT_UNKNOWN 0\r
-#define UT_LINESIZE 12\r
-#define UT_NAMESIZE 8\r
-#define UT_HOSTSIZE 16\r
-\r
-#define RUN_LVL 1\r
-#define BOOT_TIME 2\r
-#define NEW_TIME 3\r
-#define OLD_TIME 4\r
-\r
-#define INIT_PROCESS 5\r
-#define LOGIN_PROCESS 6\r
-#define USER_PROCESS 7\r
-#define DEAD_PROCESS 8\r
-\r
-struct utmp {\r
- short ut_type; /* type of login */\r
- int ut_pid; /* pid of login-process */\r
- char ut_line[UT_LINESIZE]; /* devicename of tty -"/dev/", null-term */\r
- char ut_id[2]; /* abbrev. ttyname, as 01, s1 etc. */\r
- time_t ut_time; /* login time */\r
- char ut_user[UT_NAMESIZE]; /* username, not null-term */\r
- char ut_host[UT_HOSTSIZE]; /* hostname for remote login... */\r
- long ut_addr; /* IP addr of remote host */\r
-};\r
-\r
-extern void setutent __P((void));\r
-extern void utmpname __P((char *));\r
-extern struct utmp * getutent __P((void));\r
-extern struct utmp * getutid __P((struct utmp *));\r
-extern struct utmp * getutline __P((struct utmp *));\r
-extern struct utmp * pututline __P((struct utmp *));\r
-extern void endutent __P((void));\r
-\r
-struct utmp * __getutent __P((int));\r
-\r
-#endif /* __UTMP_H */\r
+#ifndef __UTMP_H
+#define __UTMP_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+#include <paths.h>
+#include <time.h>
+
+#define UT_UNKNOWN 0
+#define UT_LINESIZE 12
+#define UT_NAMESIZE 8
+#define UT_HOSTSIZE 16
+
+#define RUN_LVL 1
+#define BOOT_TIME 2
+#define NEW_TIME 3
+#define OLD_TIME 4
+
+#define INIT_PROCESS 5
+#define LOGIN_PROCESS 6
+#define USER_PROCESS 7
+#define DEAD_PROCESS 8
+
+struct utmp {
+ short ut_type; /* type of login */
+ int ut_pid; /* pid of login-process */
+ char ut_line[UT_LINESIZE]; /* devicename of tty -"/dev/", null-term */
+ char ut_id[2]; /* abbrev. ttyname, as 01, s1 etc. */
+ time_t ut_time; /* login time */
+ char ut_user[UT_NAMESIZE]; /* username, not null-term */
+ char ut_host[UT_HOSTSIZE]; /* hostname for remote login... */
+ long ut_addr; /* IP addr of remote host */
+};
+
+extern void setutent __P((void));
+extern void utmpname __P((char *));
+extern struct utmp * getutent __P((void));
+extern struct utmp * getutid __P((struct utmp *));
+extern struct utmp * getutline __P((struct utmp *));
+extern struct utmp * pututline __P((struct utmp *));
+extern void endutent __P((void));
+
+struct utmp * __getutent __P((int));
+
+#endif /* __UTMP_H */
-#ifndef _SYS_UTSNAME_H\r
-#define _SYS_UTSNAME_H\r
-#ifndef __TYPES_H\r
-#include <types.h>\r
-#endif\r
-\r
-struct utsname {\r
- char sysname[14];\r
- char nodename[14];\r
- char release[8];\r
- char version[8];\r
- char machine[8];\r
- char domainname[14];\r
-};\r
-\r
-extern int uname __P ((struct utsname * __utsbuf));\r
-\r
-#endif\r
-\1a\r
+#ifndef _SYS_UTSNAME_H
+#define _SYS_UTSNAME_H
+#ifndef __TYPES_H
+#include <types.h>
+#endif
+
+struct utsname {
+ char sysname[14];
+ char nodename[14];
+ char release[8];
+ char version[8];
+ char machine[8];
+ char domainname[14];
+};
+
+extern int uname __P ((struct utsname * __utsbuf));
+
+#endif
+\1a
-#ifndef __VARARGS_H\r
-#define __VARARGS_H\r
-\r
-#ifndef __STDARG_H\r
-typedef void *va_list;\r
-\r
-#define va_dcl va_list va_alist;\r
-#define va_start(ap) (ap) = (va_list)&va_alist\r
-#define va_arg(ap,t) ((t *)(((char *)(ap)) += sizeof(t)))[-1]\r
-#define va_end(ap) (ap) = NULL\r
-\r
-#endif\r
-#endif\r
-\1a\r
+#ifndef __VARARGS_H
+#define __VARARGS_H
+
+#ifndef __STDARG_H
+typedef void *va_list;
+
+#define va_dcl va_list va_alist;
+#define va_start(ap) (ap) = (va_list)&va_alist
+#define va_arg(ap,t) ((t *)(((char *)(ap)) += sizeof(t)))[-1]
+#define va_end(ap) (ap) = NULL
+
+#endif
+#endif
+\1a