[comp.os.minix] V1.3 posting #2 - /usr/include

ast@cs.vu.nl (Andy Tanenbaum) (05/30/88)

I have sort of dropped minix/include as a directory, and have all the include
files in /usr/include now.  This is more like UNIX.  The directory /usr/include
has three subdirectories, fs, minix, and sys.  The files in fs and minix are
links to minix/h/something, except for blocksize.h.  Here is /usr/include:

-rw-rw-rw-  1 ast           133 May 16 20:40 /usr/include/ar.h
-rw-r--r--  1 ast           673 May 16 20:40 /usr/include/ctype.h
-rw-r--r--  1 ast          1133 May 16 20:40 /usr/include/errno.h
-rw-r--r--  1 ast            66 May 16 20:40 /usr/include/grp.h
-rw-r--r--  1 ast           128 May 16 20:40 /usr/include/pwd.h
-rw-r--r--  1 ast           634 May 16 20:40 /usr/include/regexp.h
-rw-r--r--  1 ast            98 May 16 20:40 /usr/include/setjmp.h
-rw-r--r--  1 ast          1015 May 16 20:40 /usr/include/sgtty.h
-rw-r--r--  1 ast          1115 May 16 20:40 /usr/include/signal.h
-rw-r--r--  1 ast          1307 May 16 20:40 /usr/include/stdio.h
-rw-r--r--  1 ast           139 May 16 20:40 /usr/include/time.h

/usr/include/fs:
total 10
-rw-r--r--  1 ast          2988 May 16 20:40 buf.h
-rw-r--r--  1 ast          2819 May 16 20:40 const.h
-rw-r--r--  1 ast          2080 May 16 20:40 super.h
-rw-r--r--  1 ast           710 May 16 20:40 type.h

/usr/include/minix:
total 20
-rw-r--r--  1 ast            59 May 16 20:40 blocksize.h
-rw-r--r--  1 ast          1683 May 16 20:40 callnr.h
-rw-r--r--  1 ast          7328 May 16 20:40 com.h
-rw-r--r--  1 ast          4309 May 16 20:40 const.h
-rw-r--r--  1 ast          4001 May 16 20:40 type.h

/usr/include/sys:
total 5
-r--r--r--  1 ast            96 May 16 20:40 dir.h
-r--r--r--  1 ast           861 May 16 20:40 stat.h
-r--r--r--  1 ast            88 May 16 20:40 timeb.h
-r--r--r--  1 ast            94 May 16 20:40 times.h
-r--r--r--  1 ast           218 May 16 20:40 types.h

This posting contains some complete files (*.h) and some diff listings to
be used with fix (*.diff).  The files in /usr/include/minix and /usr/include/fs
really are links to minix/h and minix/fs.  I will post those later, when I get
around to those directories.  For the time being, just link them to the current
files there.  There aren't many changes to the kernel h files in any event.

All the postings in the first round are provisional.  Please look at them
carefully and report bugs.  If lots of bugs are reported, I may make a second
round of postings later with the definitive version.

If you reported some bug earlier, please check to see if it is corrected.  If
not, yell.  This applies to bug fixes.  If you posted some piece of software
that is small, beautiful, V7-like, and was fully debugged, and I have not
put it in V1.3, let me know.  It might have been an oversight.  I miss lots of
stuff (chronic information overload again).

: This is a shar archive.  Extract with sh, not csh.
: This archive ends with exit, so do not worry about trailing junk.
: --------------------------- cut here --------------------------
PATH=/bin:/usr/bin:/usr/ucb
echo Extracting 'listing'
sed 's/^X//' > 'listing' << '+ END-OF-FILE ''listing'
Xtotal 15
X-rw-rw-rw-  1 ast          2954 May 16 22:00 alldiff
X-rw-rw-rw-  1 ast           133 May 16 22:09 ar.h
X-r--r--r--  1 ast            96 May 16 22:09 dir.h
X-rw-rw-rw-  1 ast           109 May 16 22:09 grp.h.diff
X-rw-rw-rw-  1 ast             0 May 16 22:09 listing
X-rw-rw-rw-  1 ast            62 May 16 22:09 setjmp.h.diff
X-rw-rw-rw-  1 ast            57 May 16 22:09 sgtty.h.diff
X-rw-rw-rw-  1 ast            94 May 16 22:09 signal.h.diff
X-r--r--r--  1 ast           861 May 16 22:09 stat.h
X-rw-rw-rw-  1 ast           269 May 16 22:09 stdio.h.diff
X-rw-r--r--  1 ast           139 May 16 22:09 time.h
X-r--r--r--  1 ast            88 May 16 22:09 timeb.h
X-r--r--r--  1 ast            94 May 16 22:09 times.h
X-r--r--r--  1 ast           218 May 16 22:09 types.h
+ END-OF-FILE listing
chmod 'u=rw,g=rw,o=rw' 'listing'
set `wc -c 'listing'`
count=$1
case $count in
769)	:;;
*)	echo 'Bad character count in ''listing' >&2
		echo 'Count should be 769' >&2
esac
echo Extracting 'ar.h'
sed 's/^X//' > 'ar.h' << '+ END-OF-FILE ''ar.h'
X#define	ARMAG	0177545
X
Xstruct ar_hdr {
X	char	ar_name[14];
X	long	ar_date;
X	char	ar_uid;
X	char	ar_gid;
X	int	ar_mode;
X	long	ar_size;
X};
+ END-OF-FILE ar.h
chmod 'u=rw,g=rw,o=rw' 'ar.h'
set `wc -c 'ar.h'`
count=$1
case $count in
133)	:;;
*)	echo 'Bad character count in ''ar.h' >&2
		echo 'Count should be 133' >&2
esac
echo Extracting 'dir.h'
sed 's/^X//' > 'dir.h' << '+ END-OF-FILE ''dir.h'
X#ifndef DIRSIZ
X#define	DIRSIZ	14
X#endif
X
Xstruct direct {
X	ino_t	d_ino;
X	char	d_name[DIRSIZ];
X};
+ END-OF-FILE dir.h
chmod 'u=r,g=r,o=r' 'dir.h'
set `wc -c 'dir.h'`
count=$1
case $count in
96)	:;;
*)	echo 'Bad character count in ''dir.h' >&2
		echo 'Count should be 96' >&2
esac
echo Extracting 'stat.h'
sed 's/^X//' > 'stat.h' << '+ END-OF-FILE ''stat.h'
Xstruct stat {
X    short int st_dev;
X    unsigned short st_ino;
X    unsigned short st_mode;
X    short int st_nlink;
X    short int st_uid;
X    short int st_gid;
X    short int st_rdev;
X    long st_size;
X    long st_atime;
X    long st_mtime;
X    long st_ctime;
X};
X
X/* Some common definitions. */
X#define S_IFMT  0170000		/* type of file */
X#define S_IFDIR 0040000  	/* directory */
X#define S_IFCHR 0020000		/* character special */
X#define S_IFBLK 0060000		/* block special */
X#define S_IFREG 0100000		/* regular */
X#define S_ISUID   04000		/* set user id on execution */
X#define S_ISGID   02000		/* set group id on execution */
X#define S_ISVTX   01000		/* save swapped text even after use */
X#define S_IREAD   00400		/* read permission, owner */
X#define S_IWRITE  00200		/* write permission, owner */
X#define S_IEXEC   00100		/* execute/search permission, owner */
+ END-OF-FILE stat.h
chmod 'u=r,g=r,o=r' 'stat.h'
set `wc -c 'stat.h'`
count=$1
case $count in
861)	:;;
*)	echo 'Bad character count in ''stat.h' >&2
		echo 'Count should be 861' >&2
esac
echo Extracting 'time.h'
sed 's/^X//' > 'time.h' << '+ END-OF-FILE ''time.h'
Xstruct tm {
X	int	tm_sec;
X	int	tm_min;
X	int	tm_hour;
X	int	tm_mday;
X	int	tm_mon;
X	int	tm_year;
X	int	tm_wday;
X	int	tm_yday;
X	int	tm_isdst;
X};
+ END-OF-FILE time.h
chmod 'u=rw,g=r,o=r' 'time.h'
set `wc -c 'time.h'`
count=$1
case $count in
139)	:;;
*)	echo 'Bad character count in ''time.h' >&2
		echo 'Count should be 139' >&2
esac
echo Extracting 'timeb.h'
sed 's/^X//' > 'timeb.h' << '+ END-OF-FILE ''timeb.h'
Xstruct timeb {
X	long	time;
X	unsigned short millitm;
X	short	timezone;
X	short	dstflag;
X};
+ END-OF-FILE timeb.h
chmod 'u=r,g=r,o=r' 'timeb.h'
set `wc -c 'timeb.h'`
count=$1
case $count in
88)	:;;
*)	echo 'Bad character count in ''timeb.h' >&2
		echo 'Count should be 88' >&2
esac
echo Extracting 'times.h'
sed 's/^X//' > 'times.h' << '+ END-OF-FILE ''times.h'
Xstruct tms {
X	time_t	tms_utime;
X	time_t	tms_stime;
X	time_t	tms_cutime;
X	time_t	tms_cstime;
X};
+ END-OF-FILE times.h
chmod 'u=r,g=r,o=r' 'times.h'
set `wc -c 'times.h'`
count=$1
case $count in
94)	:;;
*)	echo 'Bad character count in ''times.h' >&2
		echo 'Count should be 94' >&2
esac
echo Extracting 'types.h'
sed 's/^X//' > 'types.h' << '+ END-OF-FILE ''types.h'
Xtypedef long		off_t;
Xtypedef long		time_t;
Xtypedef unsigned short	ino_t;
Xtypedef short		dev_t;
X
X#define makedev(maj, min)	(((maj)<<8) | (min))
X#define minor(dev)		((dev) & 0xFF)
X#define major(dev)		(((dev)>>8) & 0xFF)
+ END-OF-FILE types.h
chmod 'u=r,g=r,o=r' 'types.h'
set `wc -c 'types.h'`
count=$1
case $count in
218)	:;;
*)	echo 'Bad character count in ''types.h' >&2
		echo 'Count should be 218' >&2
esac
echo Extracting 'grp.h.diff'
sed 's/^X//' > 'grp.h.diff' << '+ END-OF-FILE ''grp.h.diff'
X2,4c2,4
X< 	char	*name;
X< 	char	*passwd;
X< 	int	gid;
X---
X> 	char	*gr_name;
X> 	char	*gr_passwd;
X> 	int	gr_gid;
+ END-OF-FILE grp.h.diff
chmod 'u=rw,g=rw,o=rw' 'grp.h.diff'
set `wc -c 'grp.h.diff'`
count=$1
case $count in
109)	:;;
*)	echo 'Bad character count in ''grp.h.diff' >&2
		echo 'Count should be 109' >&2
esac
echo Extracting 'setjmp.h.diff'
sed 's/^X//' > 'setjmp.h.diff' << '+ END-OF-FILE ''setjmp.h.diff'
X0a1,2
X> /* _JBLEN should be 3 for IBM PC, 13 for ATARI. */
X> 
+ END-OF-FILE setjmp.h.diff
chmod 'u=rw,g=rw,o=rw' 'setjmp.h.diff'
set `wc -c 'setjmp.h.diff'`
count=$1
case $count in
62)	:;;
*)	echo 'Bad character count in ''setjmp.h.diff' >&2
		echo 'Count should be 62' >&2
esac
echo Extracting 'sgtty.h.diff'
sed 's/^X//' > 'sgtty.h.diff' << '+ END-OF-FILE ''sgtty.h.diff'
X20c20
X< /* Fields in t_flags. */
X---
X> /* Field names */
+ END-OF-FILE sgtty.h.diff
chmod 'u=rw,g=rw,o=rw' 'sgtty.h.diff'
set `wc -c 'sgtty.h.diff'`
count=$1
case $count in
57)	:;;
*)	echo 'Bad character count in ''sgtty.h.diff' >&2
		echo 'Count should be 57' >&2
esac
echo Extracting 'signal.h.diff'
sed 's/^X//' > 'signal.h.diff' << '+ END-OF-FILE ''signal.h.diff'
X1d0
X< #define NR_SIGS           16	/* number of signals used */
X20a20
X> #define	NR_SIGS		NSIG
+ END-OF-FILE signal.h.diff
chmod 'u=rw,g=rw,o=rw' 'signal.h.diff'
set `wc -c 'signal.h.diff'`
count=$1
case $count in
94)	:;;
*)	echo 'Bad character count in ''signal.h.diff' >&2
		echo 'Count should be 94' >&2
esac
echo Extracting 'stdio.h.diff'
sed 's/^X//' > 'stdio.h.diff' << '+ END-OF-FILE ''stdio.h.diff'
X38,39c38,39
X< #define fgetc(f)		getc(f)
X< #define fputc(c,f)		putc(c,f)
X---
X> #define getc(f)			fgetc(f)
X> #define putc(c,f)		fputc(c,f)
X56a57,62
X> 
X> extern FILE	*fopen();
X> extern FILE	*freopen();
X> extern long	ftell();
X> extern char	*fgets();
X> extern char	*gets();
+ END-OF-FILE stdio.h.diff
chmod 'u=rw,g=rw,o=rw' 'stdio.h.diff'
set `wc -c 'stdio.h.diff'`
count=$1
case $count in
269)	:;;
*)	echo 'Bad character count in ''stdio.h.diff' >&2
		echo 'Count should be 269' >&2
esac
exit 0