From: thompson@tis.eds.com (Joel Thompson)
Newsgroups: comp.unix.wizards
Subject: Remove Me, Please!
Date: 28 Sep 92 11:51:51 GMT



How in the world do I get removed from this
list??

Joel Thompson
thompson@eds.com


	From uunet!sem.brl.mil!unix-wizards-request Sat Sep 26 18:34:14 1992
	Return-Path: <uunet!sem.brl.mil!unix-wizards-request>
	Received: from tis.eds.com (edsews) by america.aen.tis.gmeds.com (4.1/SMI-4.1)
		id AA28797; Sat, 26 Sep 92 18:34:07 EDT
	Received: by tis.eds.com (4.1/smail2.5/10-22-87)
	        id AA27210; Sat, 26 Sep 92 18:37:17 EDT
	Received: from SEM.BRL.MIL by relay1.UU.NET with SMTP 
		(5.61/UUNET-internet-primary) id AA28895; Sat, 26 Sep 92 18:20:16 -0400
	Received: from SEM.BRL.MIL by SEM.BRL.MIL id aa27936; 26 Sep 92 15:30 EDT
	Received: from sem.brl.mil by SEM.BRL.MIL id aa27876; 26 Sep 92 15:15 EDT
	Date:       Sat, 26 Sep 92 15:15:21 EST
	From: The Moderator (Mike Muuss) <uunet!BRL.MIL!Unix-Wizards-Request>
	To: UNIX-WIZARDS@BRL.MIL
	Reply-To: uunet!BRL.MIL!UNIX-WIZARDS
	Subject:    UNIX-WIZARDS Digest  V16#020
	Message-Id:  <9209261515.aa27876@SEM.BRL.MIL>
	Status: R

	UNIX-WIZARDS Digest          Sat, 26 Sep 1992              V16#020

	Today's Topics:
	                  Yacc grammar for dealing with text?
	                    iris kernel configuration error
	                Re: How to intercept UNIX system calls ?
	                          Re: Origins of Unix
	                            Re: unix prompt
	                Re: How to intercept UNIX system calls ?
	                            Keyboard logging
	                          Re: Origins of Unix
	                                 inodes
	                   Questions: UNIX,Threads and Motif
	                   xon/xoff, how do I turn them off?
	                            Origins of Unix
	                 Re: xon/xoff, how do I turn them off?
	                          Re: Keyboard logging
	               Re: changing controlling tty; can I do it?
	                        H-19 termcap data found
	                      Re: SED editor question....
	                         Re: Locking out users

	-----------------------------------------------------------------

	From: Morten Kjeldgaard <morten@oase.kemi.aau.dk>
	Subject: Yacc grammar for dealing with text?
	Date: 21 Sep 92 23:10:41 GMT
	Sender: news@aau.dk
	Nntp-Posting-Host: oase.kemi.aau.dk
	To:       unix-wizards@sem.brl.mil

	I am a novice in Yacc. I can figure out how to make a grammar that deals 
	with a simple interpreted grammar like 

	scale 15

	But how does one deal with large portions of text? I am thinking of something
	like

	text (
	bla bla ...

	bla
	)

	If anyone could post or mail an example, I would be most grateful!

	/Morten

	--
	Morten Kjeldgaard  ~ morten@oase.kemi.aau.dk ~ mok@kemi.aau.dk
	Biostructural Chemistry, Department of Chemistry, Aarhus University
	Langelandsgade 140, DK-8000 Aarhus C, Denmark
	Phone: +45 86 12 46 33 ~ +45 86 20 27 11 x6518 ~ Fax: +45 86 19 61 99

	-----------------------------

	From: PETER MARKIEWICZ <PETERM@inherit.mbi.ucla.edu>
	Subject: iris kernel configuration error
	Date: 21 Sep 92 19:08:25 GMT
	Sender: news@cognet.ucla.edu
	X-Xxmessage-Id: <A6E3700AD601415B@camelbreath.mbi.ucla.edu>
	X-Xxdate: Mon, 21 Sep 92 12:26:50 GMT
	X-Useragent: Nuntius v1.1.1d9
	To:       unix-wizards@sem.brl.mil


	 I've been having a strange problem with repartitioning the
	disk on a personal iris.

	 Following manual instructions, I reparitioned the hard disk,
	changing the swap space, making a new file system, etc. The
	manual then says to get into the shell and check things out
	with prtvtoc and df. Everything looks ok, and I am sure that
	the paritions don't overlap, and the / and /usr filesystems
	are created. Then I run the install program and everything
	seems to go ok, UNTIL I try to reboot, at which point
	the iris says there's an error in kernel configuration. The
	routine it says to run, autoconfig, for error messages
	is not available in miniroot (I'm using IRIX 4.0.1). 
	   I have notes from the previous sys adminstrator, who ran
	into the same problem when the disk had to be reformatted.
	There is a single command necessary to get the new kernel
	to be recognized properly. Unfortunately, he did not write
	it down(!!!!) The iris hasn't been on a service contract for a
	while so I can't use their tech support. Does anyone have
	any idea what is necessary? I'm installing from a CD-ROM,
	so the problem isn't corruption of a backup.

	-Peter Markiewicz
	peterm@inherit.mbi.ucla.edu

	-----------------------------

	From: "J. Jonas" <jeffj@krfiny.uucp>
	Subject: Re: How to intercept UNIX system calls ?
	Date: 24 Sep 92 18:17:34 GMT
	To:       unix-wizards@sem.brl.mil

	If you have SVR4 or equivalent, there's a wonderful feature
	called /proc.  The system call interface has a table of
	user functions to call upon entrance/exit.
	TRUSS uses this to report on all system calls.
	/proc allows you to grab already running processes.

	For source code you compile yourself
	(as opposed to debugging binary only code),
	the trick is to call your substitution function AROUND the real
	library call.

	For example:

	--- start program ---

	#include "substitutes.h"
	main()
	{
	sync ();
	}

	--- start "substitutes.h" ---
	#define sync my_sync
	#define read my_read
	#define write my_write
	#define printf my_printf

	--- start my_lib.c ---

	void my_sync()
	{
	printf("sync entered\n");
	sync();
	printf("sync retuned normally\n");
	}

	int my_getpid()
	{
	int retc;
	retc = getpid();
	printf("getpid returned %d\n", retc);
	return (retc);
	}


	--- end ---

	just compile with the substitution library.

	- Jeffrey Jonas
	jeffj@synsys.uucp
	-- 
	-- 
	Jeffrey Jonas

	jeffj@synsys.uucp

	-----------------------------

	From: Alan Carter <agc@bmdhh298.bnr.ca>
	Subject: Re: How to intercept UNIX system calls ?
	Date: 22 Sep 92 14:11:04 GMT
	Sender: News Administrator <news@bnr.uk>
	Nntp-Posting-Host: bmdhh298
	To:       unix-wizards@sem.brl.mil

	In article <HURTTA.92Sep22121028@klaava.Helsinki.FI>, hurtta@cs.Helsinki.FI (Kari E. Hurtta) writes:
	|> In article <6049@blue.cis.pitt.edu.UUCP> imtst@pitt.edu (I-ming Tsai) wrote:
	|> > 	When I tried to substitute the system calls with my own functions,
	|> >     I wrote the following simple program:
	|> > 
	[Code omitted]
	|> > 	I compiled them (under Sun 4/470 running SunOs 4.1.2) using
	|> > 
	|> > 	         cc -o test test.c myfunction.c
	|> > 
	|> >     I executed the "test", but got nothing. It didn't print my strings 
	|> >     on the screen. Any help ? Thank you in advance !
	|> 
	|> Of course NOT ! C's standard library (ie. printf) now calls your
	|> own write -function !!!

	Its worse that that he's dead, Jim, dead, Jim, dead, Jim. Never call an 
	executable 'test'. When you try to run it you may well get test(1) 
	instead, depending on your $PATH. Many shells have 'test' as a built-in 
	these days anyway. I use 't.c'.

	The way to grab the system calls (usually for diagnostic purposes) is
	to use a binary editor (or write a little program to turn 'od -c' 
	output back to binary, dump your target using 'od -c', and use vi). 
	You hack the file /usr/lib/libc.a, changing all references to say, 
	open, to nepo. You then provide your own open

	   int open(char *name, int oflag, mode_t mode)
	   {
	      /* Assume the trace file is already open, pointer in a global. */
	      fprintf(debugfile, "Opening file %s\n", name);
	      /* Hook up to normal open() functionality. */
	      return(nepo(name, oflag, mode);
	   }

	Now your own code (and third party libraries!) will link to your 'open',
	while 'open' uses 'nepo' to actually open files. Beware of infinite 
	recursion, as Kari E. Hurtta warns. For instance, don't use printf(3) 
	when hijacking write(2), which printf(3) calls.

	Or in the Free World, hack your kernel source :-)

	WARNING: If you do this to /usr/lib/libc.a on a multi-user system you 
	will prevent others from linking their own programs and cause your
	System Administrator to be tried for grevious bodily harm. In such a
	situation, use ar(1) to extract the required .o, hack that, and link
	it to your program. If you don't know what you're doing get local
	advice first.

	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	   Alan  

	   My opinions only - not necessarily the opinions of BNR or any other client.
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	-----------------------------

	From: Mark Allen Kampe <markk@pongo.west.sun.com>
	Subject: Re: Origins of Unix
	Date: 22 Sep 92 16:00:12 GMT
	NNTP-Posting-Host: pongo.west.sun.com
	To:       unix-wizards@sem.brl.mil

	The name "UNIX" is based on that most venerable and ancient OS "MULTICS".  I believe
	that Ken worked on "MULTICS" at MIT, and that at Bell Labs he strove to build 
	something just as elegant but much simpler.  Simpler than "MULTICS" would be "UNICS".

	-----------------------------

	From: Marien de Clercq <clercqm@mis5.nijmeg.ingr.com>
	Subject: Re: unix prompt
	Date: 22 Sep 92 11:00:29 GMT
	Sender: usenet adm <usenet@nijmeg.ingr.com>
	To:       unix-wizards@sem.brl.mil

	In article <32651@adm.brl.mil>, GEANEL@cn.laafb.af.mil writes:
	|> Do any of you know how to set up the Unix prompt (analogous to the DOS set 
	|> prompt $p$g) so that whenever a user change directories, the new directory 
	|> path shows up along with the prompt?  It has been a nuisance having to type 
	|> 'pwd' all the time.  

	Try this:

	PS1=`/usr/bin/tput bold`'${PWD##} '`/usr/bin/tput sgr0`
	export PS1

	or leave out the tput's if you don't want it to be bold.


	-- 
	Marien de Clercq                             ___   "Don't believe half of what
	Intergraph European Mfg. bv.       /|/|    //       you see 
	Nijmegen - The Netherlands        /   | __//        And none of what you hear"
	E-mail: clercqm@nijmeg.ingr.com  /    |/_/ \___                    -  Lou Reed

	-----------------------------

	From: "Kari E. Hurtta" <hurtta@cs.helsinki.fi>
	Subject: Re: How to intercept UNIX system calls ?
	Date: 22 Sep 92 10:10:28 GMT
	Sender: Uutis Ankka <news@klaava.helsinki.fi>
	Followup-To: comp.unix.wizards
	To:       unix-wizards@sem.brl.mil

	In article <6049@blue.cis.pitt.edu.UUCP> imtst@pitt.edu (I-ming Tsai) wrote:
	> 	When I tried to substitute the system calls with my own functions,
	>     I wrote the following simple program:
	> 
	> ====================  myfunction.c  =========================
	> open(path,flags,mode)
	> char *path;
	> int flags,mode;
	> {
	> printf("This is my open!\n");
	> return(1);
	> }
	> 
	> write(fd,buff,nbytes)
	> int fd,nbytes;
	> char buff;
	> {
	> printf("This is my write!\n");
	> return(2);
	> }
	> 
	> close(fd)
	> int fd;
	> {
	> printf("This is my close!\n");
	> return(3);
	> }
	> ===================== end of myfunction.c ======================    
	> 
	> 	I compiled them (under Sun 4/470 running SunOs 4.1.2) using
	> 
	> 	         cc -o test test.c myfunction.c
	> 
	>     I executed the "test", but got nothing. It didn't print my strings 
	>     on the screen. Any help ? Thank you in advance !

	Of course NOT ! C's standard library (ie. printf) now calls your
	own write -function !!!

	- K E H

	-----------------------------

	From: Paul van Boxmeer <paul@integow.uucp>
	Subject: Keyboard logging
	Date: 22 Sep 92 08:54:05 GMT
	To:       unix-wizards@sem.brl.mil



	Hello out there,

	i need a program to log all keyboard input and the times on which these
	keys were entered.

	The log-file will later be used to examine a users response time at
	specific menu's, data entry screens, error-messages, etc. wich is used
	for research on user-interfaces.

	My question is:

		how do i log terminal input (including times) without a
		user and any program knowing he/she/it is being logged.

	This program should produce a file like /tmp/tty..., which contains:
	"which key strokes at what time (time can be relative to start)"

	Just writing a filter isn't enaugh. Programs like sh, vi will complain that
	input doesn't come from a terminal. Oh, the program should work on BSD 
	both and SYSV systems, no particular hardware and in a network.

	Maybe i'm overlooking something very simple, but i'm stuck right here.

	Any help will be very welcome,

	please e-mail to the address below.

	Thanx in advance,

	Paul. (paul@integow.uucp)

	-- 
	UUCP: ..!uunet!mcsun!hp4nl!integow!paul	or  paul@integow.uucp
	Paul van Boxmeer, software engineer, Integrity software consultants, 
	         Pelmolenlaan 2, 3447 GW Woerden, Netherlands,
	            tel +31 3480-30131, fax +31 3480-30182

	-----------------------------

	From: BRANDAUER CARL M <brandy@tramp.colorado.edu>
	Subject: Re: Origins of Unix
	Date: 24 Sep 92 21:18:45 GMT
	Sender: USENET News System <news@ucsu.colorado.edu>
	Nntp-Posting-Host: tramp.colorado.edu
	To:       unix-wizards@sem.brl.mil

	markk@pongo.West.Sun.COM (Mark Allen Kampe) writes:

	>The name "UNIX" is based on that most venerable and ancient OS "MULTICS".  I believe
	>that Ken worked on "MULTICS" at MIT, and that at Bell Labs he strove to build 
	>something just as elegant but much simpler.  Simpler than "MULTICS" would be "UNICS".

	UNIX is a pun on MULTICS by Brian Kernighan.  He and the rest of the crew
	all worked on MULTICS at Bell Labs until management decided to pull out
	of the effort, which had included MIT and General Electric.

	-----------------------------

	From: "Chris M. Cavers" <cavers@menudo.uh.edu>
	Subject: inodes
	Date: 22 Sep 92 21:55:09 GMT
	Sender: cavers@menudo.uh.edu
	To:       unix-wizards@sem.brl.mil

	I am trying to read the inodes (actually dinodes) of data files from disk.
	This is for sun os 4.1.2.

	The following is in the rest of this message:
	a) source code to read in inodes from the device
	b) a combined list of:
		1) ls -li of the root directory of the device
		2) output from the source code listed below
	    
	    Example lines from the list 
		3 = inode	ic_size        = 0   8192
		3 drwxr-xr-x  2 root         8192 Sep 21 18:16 lost+found
	    The first line is from the program  and the second one is from the
		ls -li command.  The ic_size field is from the inode and it
		should give the size of the file.

	My question is: why doesn't it read in inodes numbered 5-31 correctly?
	(I printed out everything in these inodes and all of the bytes in them
	were nulls).

	/*Chris Cavers*/

	#include <sys/time.h>
	#include <sys/param.h>
	#include <sys/types.h>
	#include <ufs/fs.h>
	#include <sys/vnode.h>
	#include <ufs/inode.h>
	#include <stdio.h>
	#include <fcntl.h>
	#include <errno.h>

	int dv;	/* file handle for the device*/
	struct fs sb;	/*where we store the superblock for the disk*/

	extern int errno;

	error(a)	/*print out error message and exit program*/
	char a[];
	{
	perror(a);
	exit(1);
	}

	close_device()  /*close the device*/
	{
	if (close(dv) == -1)
		error("cannot close device");
	}


	open_device(d)  /*open the device specified*/
	char d[];       /*device to open-full pathname-e.g. '/dev/s1'*/
	{
	if ((dv = open(d,O_RDONLY)) == -1)
		error("cannot open device");
	}


	get_superblock()   /*get the superblock from the disk device*/
	{
	if (lseek(dv,SBOFF,0) == -1)   /* SBOFF = offset of superblock-see fs.h*/
		error("cannot lseek to superblock");
	if (read(dv,&sb,sizeof(struct fs)) != sizeof(struct fs))
		error("cannot read in superblock");
	}

	get_inode(inum,ino)  /*get inode number inum and store it in ino*/
	int inum;	/*inode number to read from disk*/
	struct dinode *ino;  /*where we return the disk inode*/
	{
	if (lseek(dv,dbtob(fsbtodb(&sb, itod(&sb,inum))),0) == -1)
		error("cannot lseek to inode");
	if (lseek(dv,itoo(&sb,inum) * sizeof(struct dinode),1) == -1)
		error("cannot lseek second time to inode");
	if (read(dv,ino,sizeof(struct dinode)) != sizeof(struct dinode))
		error("cannot read disk inode");
	printf("%6d = inode\t",inum);
	print_dinode(ino);
	}


	main()
	{
	struct dinode i;
	int in=1;
	open_device("/dev/mydisk0");
	get_superblock();
	printf("\n");
	for (in = 1;in < 81;in++) 
	    get_inode(in,&i);
	close_device();
	printf("\n");
	}



	print_dinode(ino)    /*print out the contents of a dinode - see ufs/inode.h*/
	struct dinode *ino;
	{
	struct icommon i;
	long *a;

	i = ino->di_un.di_icom;
	a = &i.ic_size;  /*because ic_size is a quadword*/
	printf("ic_size        = %ld   %ld\n",a[0],a[1]);
	}



	     1 = inode	ic_size        = 0   0
	     2 = inode	ic_size        = 0   512
	     2 drwxr-xr-x  3 root         4608 Sep 22 15:38 .
	     2 drwxr-xr-x 14 root          512 Sep 21 18:12 ..
	     3 = inode	ic_size        = 0   8192
	     3 drwxr-xr-x  2 root         8192 Sep 21 18:16 lost+found
	     4 -rw-r--r--  1 root       110400 Sep 21 18:18 testfile.deletable
	     4 = inode	ic_size        = 0   110400
	     5 -rw-r--r--  1 root        69905 Sep 21 18:20 d
	     5 = inode	ic_size        = 0   0
	     6 -r--r--r--  1 root         1262 Sep 22 14:46 a.out.h
	     6 = inode	ic_size        = 0   0
	     7 -r--r--r--  1 root          162 Sep 22 14:46 alloca.h
	     7 = inode	ic_size        = 0   0
	     8 -r--r--r--  1 root          316 Sep 22 14:46 ar.h
	     8 = inode	ic_size        = 0   0
	     9 -r--r--r--  1 root          293 Sep 22 14:46 assert.h
	     9 = inode	ic_size        = 0   0
	    10 -r--r--r--  1 root          952 Sep 22 14:46 auevents.h
	    10 = inode	ic_size        = 0   0
	    11 -r--r--r--  1 root          743 Sep 22 14:46 ctype.h
	    11 = inode	ic_size        = 0   0
	    12 -r--r--r--  1 root         5270 Sep 22 14:46 curses.h
	    12 = inode	ic_size        = 0   0
	    13 -r--r--r--  1 root          448 Sep 22 14:46 dbm.h
	    13 = inode	ic_size        = 0   0
	    14 -r--r--r--  1 root         1728 Sep 22 14:46 des_crypt.h
	    14 = inode	ic_size        = 0   0
	    15 -r--r--r--  1 root         1117 Sep 22 14:46 dirent.h
	    15 = inode	ic_size        = 0   0
	    16 -r--r--r--  1 root         1050 Sep 22 14:46 disktab.h
	    16 = inode	ic_size        = 0   0
	    17 -r--r--r--  1 root          617 Sep 22 14:46 dlfcn.h
	    17 = inode	ic_size        = 0   0
	    18 -r--r--r--  1 root          172 Sep 22 14:46 errno.h
	    18 = inode	ic_size        = 0   0
	    19 -r--r--r--  1 root         1022 Sep 22 14:46 exportent.h
	    19 = inode	ic_size        = 0   0
	    20 -r--r--r--  1 root          180 Sep 22 14:46 fcntl.h
	    20 = inode	ic_size        = 0   0
	    21 -r--r--r--  1 root         5164 Sep 22 14:46 floatingpoint.h
	    21 = inode	ic_size        = 0   0
	    22 -r--r--r--  1 root          580 Sep 22 14:46 frame.h
	    22 = inode	ic_size        = 0   0
	    23 -r--r--r--  1 root         1171 Sep 22 14:46 fstab.h
	    23 = inode	ic_size        = 0   0
	    24 -r--r--r--  1 root          385 Sep 22 14:46 ftw.h
	    24 = inode	ic_size        = 0   0
	    25 -r--r--r--  1 root          380 Sep 22 14:47 grp.h
	    25 = inode	ic_size        = 0   0
	    26 -r--r--r--  1 root          272 Sep 22 14:47 grpadj.h
	    26 = inode	ic_size        = 0   0
	    27 -r--r--r--  1 root          513 Sep 22 14:47 kvm.h
	    27 = inode	ic_size        = 0   0
	    28 -r--r--r--  1 root         1266 Sep 22 14:47 langinfo.h
	    28 = inode	ic_size        = 0   0
	    29 -r--r--r--  1 root          221 Sep 22 14:47 lastlog.h
	    29 = inode	ic_size        = 0   0
	    30 -r--r--r--  1 root         1016 Sep 22 14:47 limits.h
	    30 = inode	ic_size        = 0   0
	    31 -r--r--r--  1 root         5223 Sep 22 14:47 link.h
	    31 = inode	ic_size        = 0   0
	    32 -r--r--r--  1 root         3388 Sep 22 14:47 locale.h
	    32 = inode	ic_size        = 0   3388
	    33 -r--r--r--  1 root         1579 Sep 22 14:47 malloc.h
	    33 = inode	ic_size        = 0   1579
	    34 -r--r--r--  1 root         9889 Sep 22 14:47 math.h
	    34 = inode	ic_size        = 0   9889
	    35 -r--r--r--  1 root          194 Sep 22 14:47 memory.h
	    35 = inode	ic_size        = 0   194
	    36 -r--r--r--  1 root         2920 Sep 22 14:47 mntent.h
	    36 = inode	ic_size        = 0   2920
	    37 -r--r--r--  1 root          377 Sep 22 14:47 mon.h
	    37 = inode	ic_size        = 0   377
	    38 -r--r--r--  1 root          525 Sep 22 14:47 mp.h
	    38 = inode	ic_size        = 0   525
	    39 -r--r--r--  1 root          451 Sep 22 14:47 nan.h
	    39 = inode	ic_size        = 0   451
	    40 -r--r--r--  1 root         1761 Sep 22 14:47 ndbm.h
	    40 = inode	ic_size        = 0   1761
	    41 -r--r--r--  1 root         2649 Sep 22 14:47 netdb.h
	    41 = inode	ic_size        = 0   2649
	    42 -r--r--r--  1 root         1205 Sep 22 14:47 nlist.h
	    42 = inode	ic_size        = 0   1205
	    43 -r--r--r--  1 root         1307 Sep 22 14:47 poll.h
	    43 = inode	ic_size        = 0   1307
	    44 -r--r--r--  1 root         1145 Sep 22 14:47 prof.h
	    44 = inode	ic_size        = 0   1145
	    45 -r--r--r--  1 root          563 Sep 22 14:47 pwd.h
	    45 = inode	ic_size        = 0   563
	    46 -r--r--r--  1 root          503 Sep 22 14:47 pwdadj.h
	    46 = inode	ic_size        = 0   503
	    47 -r--r--r--  1 root          700 Sep 22 14:47 ranlib.h
	    47 = inode	ic_size        = 0   700
	    48 -r--r--r--  1 root         1991 Sep 22 14:47 rasterfile.h
	    48 = inode	ic_size        = 0   1991
	    49 -r--r--r--  1 root         9750 Sep 22 14:47 regexp.h
	    49 = inode	ic_size        = 0   9750
	    50 -r--r--r--  1 root         2072 Sep 22 14:47 resolv.h
	    50 = inode	ic_size        = 0   2072
	    51 -r--r--r--  1 root          296 Sep 22 14:47 search.h
	    51 = inode	ic_size        = 0   296
	    52 -r--r--r--  1 root         1422 Sep 22 14:47 setjmp.h
	    52 = inode	ic_size        = 0   1422
	    53 -r--r--r--  1 root          139 Sep 22 14:47 sgtty.h
	    53 = inode	ic_size        = 0   139
	    54 -r--r--r--  1 root         3317 Sep 22 14:48 signal.h
	    54 = inode	ic_size        = 0   3317
	    55 -r--r--r--  1 root         2178 Sep 22 14:48 stab.h
	    55 = inode	ic_size        = 0   2178
	    56 -r--r--r--  1 root          165 Sep 22 14:48 stddef.h
	    56 = inode	ic_size        = 0   165
	    57 -r--r--r--  1 root         1732 Sep 22 14:48 stdio.h
	    57 = inode	ic_size        = 0   1732
	    58 -r--r--r--  1 root         1376 Sep 22 14:48 stdlib.h
	    58 = inode	ic_size        = 0   1376
	    59 -r--r--r--  1 root         1068 Sep 22 14:48 string.h
	    59 = inode	ic_size        = 0   1068
	    60 -r--r--r--  1 root          363 Sep 22 14:48 strings.h
	    60 = inode	ic_size        = 0   363
	    61 -r--r--r--  1 root         3016 Sep 22 14:49 stropts.h
	    61 = inode	ic_size        = 0   3016
	    62 -r--r--r--  1 root          387 Sep 22 14:49 struct.h
	    62 = inode	ic_size        = 0   387
	    63 -rwxr-xr-x  1 root         4471 Sep 22 14:49 sun2
	    63 = inode	ic_size        = 0   4471
	    64 -r--r--r--  1 root         4714 Sep 22 14:49 syscall.h
	    64 = inode	ic_size        = 0   4714
	    65 -r--r--r--  1 root         3683 Sep 22 14:49 sysexits.h
	    65 = inode	ic_size        = 0   3683
	    66 -r--r--r--  1 root         2632 Sep 22 14:49 syslog.h
	    66 = inode	ic_size        = 0   2632
	    67 -r--r--r--  1 root         1245 Sep 22 14:49 tar.h
	    67 = inode	ic_size        = 0   1245
	    68 -r--r--r--  1 root          748 Sep 22 14:49 termio.h
	    68 = inode	ic_size        = 0   748
	    69 -r--r--r--  1 root         5837 Sep 22 14:49 termios.h
	    69 = inode	ic_size        = 0   5837
	    70 -r--r--r--  1 root          553 Sep 22 14:49 time.h
	    70 = inode	ic_size        = 0   553
	    71 -r--r--r--  1 root         5827 Sep 22 14:49 tiuser.h
	    71 = inode	ic_size        = 0   5827
	    72 -r--r--r--  1 root          929 Sep 22 14:49 ttyent.h
	    72 = inode	ic_size        = 0   929
	    73 -r--r--r--  1 root         3657 Sep 22 14:49 tzfile.h
	    73 = inode	ic_size        = 0   3657
	    74 -r--r--r--  1 root         4481 Sep 22 14:49 unistd.h
	    74 = inode	ic_size        = 0   4481
	    75 -r--r--r--  1 root          280 Sep 22 14:49 ustat.h
	    75 = inode	ic_size        = 0   280
	    76 -r--r--r--  1 root          350 Sep 22 14:49 utime.h
	    76 = inode	ic_size        = 0   350
	    77 -r--r--r--  1 root          668 Sep 22 14:49 utmp.h
	    77 = inode	ic_size        = 0   668
	    78 -r--r--r--  1 root         4544 Sep 22 14:49 values.h
	    78 = inode	ic_size        = 0   4544
	    79 -r--r--r--  1 root          539 Sep 22 14:49 varargs.h
	    79 = inode	ic_size        = 0   539
	    80 -r--r--r--  1 root          932 Sep 22 14:49 vfont.h
	    80 = inode	ic_size        = 0   932
	    81 -r--r--r--  1 root          392 Sep 22 14:49 vfork.h

	-----------------------------

	From: Byron Lister <lister@paisly.sna.dec.com>
	Subject: Questions: UNIX,Threads and Motif
	Date: 22 Sep 92 00:42:52 GMT
	Sender: USENET News Service <usenet@funlwb.enet.dec.com>
	Nntp-Posting-Host: paisly.sna.dec.com
	To:       unix-wizards@sem.brl.mil



	Hello Everybody,

	        The following questions are from a friend who does not have net
	        access (in fact I do not have access to comp.unix.wizards, am
	        getting this posted by another friend). Any responses on any of
	        these will be greatly appreciated.

	        Could all email resposes please go to lister@aussie.enet.dec.com

	        Thanks in advance,

	        David Mills.

	 ------------------------------------------------------------------------------

	                                UNIX Questions

	Below are some technical questions regarding UNIX, threads, and Motif.  I
	would be most grateful if you can shed any light in any of these areas.

	1.  How different are OSF/1 and SVR4 ?   That is, if software is to be
	    developed for both platforms at the same time, will the sub-set of System
	    Calls that is available on both architecures be so restrictive that
	    building a large scale system becomes extremely difficult?

	2.  Is it likely that the DCE environment will be easilly available on SVR4?
	    That is, does DCE contain some fundamental requirements that SVR4 cannot
	    deliver?  What are these requirements that SVR4 cannot deliver?

	3.  What are the major advantages of using threads over seperate processes?
	    The areas I would expect improvements in are: cheaper creation, cheaper
	    context switching, and cheaper inter-thread communications.  Creation cost
	    can be fixed by having processes "standing by", inter-process
	    communication can be fixed using shared-memory, so how important is
	    context switching?  Are there other issues here?

	4.  How are threads implemented using "off the shelf" packages?  That is, does
	    the kernel have to provide seperate scheduling on a per-thread basis, or
	    is it implemented above the kernel, and therefore lacks the per-thread
	    scheduling? In multi-CPU machines, can more than one thread from a given
	    process execute on more than one CPU at the same time?  Without kernel
	    support, I suspect this is a big ask.  If kernel support is required, is
	    such support common?  Specifically, does OSF/1 and SVR4 contain this
	    support?

	5.  How are blocking system calls (such as "read" from a comms link) handled
	    in a threaded environment? Assuming only the thread issuing the "read"
	    blocks (leaving other threads in the same process to execute), how does
	    the process containing the thread ever know when the I/O completes, and
	    hence that the thread can continue?  Does "select" or "poll" come into
	    this somewhere?

	6.  How does X11 and Motif cope with threads?  That is, can two different
	    threads maintain their own windows and widgets without re-entrancy
	    problems?  Does using multiple Xt application context blocks (ie one per
	    thread) have anything to do with making this work?

	7.  If  you were going to build a Trading System with open systems as a basic
	    philosophy, and have chosen Motif with one CPU per user, with application
	    threads, forking, or the Xt callback approach?

	Your help is much appreciated.

	David Brown

	-----------------------------

	From: "Edward J. Hartnett" <ejh@khonshu.colorado.edu>
	Subject: xon/xoff, how do I turn them off?
	Date: 24 Sep 92 20:13:51 GMT
	Sender: The Daily Planet <news@colorado.edu>
	Nntp-Posting-Host: khonshu.colorado.edu
	To:       unix-wizards@sem.brl.mil

	I posted this question on comp.unix.admin but got no answers at all.
	Is this not wizardly enough? If not, please excuse me, and if you know
	the answer, please tell me!


	I have a user who is dialing in from home and using emacs. She is
	having a problem, as it turns out, because every time she uses a
	control-S (common in emacs), she send the XOFF character and freezes
	everything up.

	She has checked her software and her xo/xoff is disabled. But it's not
	on the Sun. I know that I need a new gettytab entry, and need to
	modify ttytab accordingly. I've read all the manual pages and I still
	not clear on the syntax I need to use to turn XON/XOFF off.

	6|std.2400|2400-baud:\
		:sp#2400:ht:

	I can see from the man page of gettytab that I need to somhow put
	options xf and xn in there, but what do I set them to if I don't want
	anything to be xon and xoff?
	--
	Edward Hartnett			ejh@khonshu.colorado.edu

	-----------------------------

	From: twestowen@cc.curtin.edu.au
	Subject: Origins of Unix
	Date: 22 Sep 92 13:03:38 GMT
	Sender: News Manager <news@cujo.curtin.edu.au>
	To:       unix-wizards@sem.brl.mil


	G'day all

	I'm trying to find out what UNIX stands for, and if in fact it stands
	for anything or if it is just a name, where it originated from.

	If anyone has ANY info on this could they please mail me back as soon as
	possible as i need to know rather urgently.

	Thanks.

	Cya..

	-- 
	 ---------------------------------------------------------------
	 PSImail  : psi%050529452300070::TWESTOWEN
	 Internet : TWESTOWEN@cc.curtin.edu.au
	 Bitnet   : TWESTOWEN%cc.curtin.edu.au@cunyvm.bitnet
	 UUCP     : uunet!munnari.oz!cc.curtin.edu.au!TWESTOWEN
	 ---------------------------------------------------------------

	-----------------------------

	From: A Wizard of Earth C <terry@cs.weber.edu>
	Subject: Re: xon/xoff, how do I turn them off?
	Date: 24 Sep 92 23:15:45 GMT
	Sender: news@fcom.cc.utah.edu
	To:       unix-wizards@sem.brl.mil

	In article <EJH.92Sep24161351@khonshu.colorado.edu> ejh@khonshu.colorado.edu (Edward J. Hartnett) writes:
	>I posted this question on comp.unix.admin but got no answers at all.

	You should have tried comp.dcom.modems.

	>I have a user who is dialing in from home and using emacs. She is
	>having a problem, as it turns out, because every time she uses a
	>control-S (common in emacs), she send the XOFF character and freezes
	>everything up.
	>
	>She has checked her software and her xo/xoff is disabled. But it's not
	>on the Sun. I know that I need a new gettytab entry, and need to
	>modify ttytab accordingly. I've read all the manual pages and I still
	>not clear on the syntax I need to use to turn XON/XOFF off.
	>
	>6|std.2400|2400-baud:\
	>	:sp#2400:ht:
	>
	>I can see from the man page of gettytab that I need to somhow put
	>options xf and xn in there, but what do I set them to if I don't want
	>anything to be xon and xoff?

	This is just for the login and the initial shell settings.  Unless you
	did an stty -a to the modem port while she was trying to use emacs and
	truly saw that it was still set, it probably was not.

	The more likely explanation is one of:

	1)	You have enabled ^S/^Q flow control on your modem.
	2)	She has enabled ^S/^Q flow control on her modem.
	3)	Her modem software or terminal use "local" flow control,
		where the output is buffered in local memory, and a real
		^S is not sent to the host until the local buffer is full
		(DEC VT220 terminals do this with the "hold screen" button;
		most PC terminal emulators will have this as an option), or
		she may be using the "Pause" or "Scroll Lock" keys because
		she is a typical DOS user.

	A line monitor between the computer and your modem, and her modem and
	her terminal/PC would tell you where it was going wrong, as will an
	examination of your modem settings, her modem settings, and her software
	and/or terminal.


						Terry Lambert
						terry_lambert@npd.novell.com
						terry@icarus.weber.edu
	---
	Any opinions in this posting are my own and not those of my present
	or previous employers.
	-- 
	 -------------------------------------------------------------------------------
	                                        "I have an 8 user poetic license" - me
	 Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
	 -------------------------------------------------------------------------------

	-----------------------------

	From: Barry Shein <bzs@ares.std.com>
	Subject: Re: Keyboard logging
	Date: 23 Sep 92 09:11:22 GMT
	Sender: Mr USENET himself <usenet@world.std.com>
	Nntp-Posting-Host: ares.std.com
	To:       unix-wizards@sem.brl.mil


	>i need a program to log all keyboard input and the times on which these
	>keys were entered.

	Get the sources to BSD script and hack it up a little to do the
	logging you describe. It won't work on SYSV's that don't have pty's.

	-----------------------------

	From: Matthias Urlichs <urlichs@smurf.sub.org>
	Subject: Re: changing controlling tty; can I do it?
	Keywords: tty rlogin Sun NFS
	Date: 22 Sep 92 19:43:47 GMT
	To:       unix-wizards@sem.brl.mil

	In comp.unix.wizards, article <BuswJH.DJz@chinet.chi.il.us>,
	  drharvey@chinet.chi.il.us (Douglas Harvey) writes:
	> be _very_ handy if I could go to another workstation, say, mach3, 
	> rlogin to mach2, and take over as the controlling terminal for PID 23:
	> 
	> 	mach3% rlogin mach2
	> 	mach2% chgtty 23       (perhaps)
	> 	[output from process 23 ... ]
	> 
	> 1.  Is this possible?
	> 
	Take a hard look at the "screen" package.

	-- 
	"355/113 -- Not the famous irrational number PI, but an incredible
	simulation!"
	-- 
	Matthias Urlichs  --  urlichs@smurf.sub.org -- urlichs@smurf.ira.uka.de   /(o\
	Humboldtstrasse 7 -- 7500 Karlsruhe 1 -- Germany  --  +49-721-9612521     \o)/

	-----------------------------

	From: "Danny M. Nessett" <nessett@llnl.gov>
	Subject: H-19 termcap data found
	Date: 24 Sep 92 20:01:15 GMT
	Sender: usenet@lll-winken.llnl.gov
	Nntp-Posting-Host: nessett.ocf.llnl.gov
	To:       unix-wizards@sem.brl.mil

	Thanks to all who responded to my request for termcap data fro the H-19. I'm
	a little red-faced here. Not being a termcap expert, I looked for H-19, not
	h19 and so didn't see the entry. Sorry for any wasted minutes/bandwidth.

	I'm still in the market for a manual for the H-19, preferably something with
	a circuit diagram.

	Dan Nessett

	-----------------------------

	From: David Spencer <spencer@panix.com>
	Subject: Re: SED editor question....
	Date: 24 Sep 92 12:26:44 GMT
	To:       unix-wizards@sem.brl.mil

	ubacw00@ucl.ac.uk (Mick Farmer) writes:

	>Bruce Sams asks how to include the line before a pattern.
	>This can be done using the hold space, preferably in a
	>script file.

	csplit(1).

	-----------------------------

	From: J Greely <jgreely@morganucodon.cis.ohio-state.edu>
	Subject: Re: Locking out users
	Date: 23 Sep 92 18:53:15 GMT
	Sender: NETnews         <news@cis.ohio-state.edu>
	Originator: jgreely@morganucodon.cis.ohio-state.edu
	To:       unix-wizards@sem.brl.mil

	In article <1992Sep23.095934.22670@gucis.cit.gu.edu.au>
	 dconnors@gucis.cit.gu.edu.au (David Connors) writes:
	>All he had to do was use the menus to invoke xedit, add a menu item which
	>did :"xterm -e tcsh" - and away he went.

	What you've described is a broken x terminal login setup.  It
	shouldn't have allowed someone with a non-user shell in.  NeXTs used
	to be broken this way, too.

	>Of course, he could have even used chsh to unlock his OWN account!

	I'd call that a broken chsh.
	-- 
	J Greely (jgreely@cis.ohio-state.edu; osu-cis!jgreely)

	-----------------------------


	End of UNIX-WIZARDS Digest
	**************************