Subject: chflags - immutable|appendonly files come to 2BSD(#210 - Part 14 of 14)
Index:	bin,etc,lib,sys/many_files 2.11BSD

Description:
	Files/directories can not be declared append-only, immutable, archived 
	or not to be dumped under 2.11BSD.

	dump(8) lacked the ability to bypass files marked for 'nodump'.

	Upper case only and Hazeltine terminal support made the tty driver 
	(and several utilities - 'vi' and 'getty' to name two) needlessly
	complicated and larger (especially since those devices are obsolete).

	open(2) can not provide for atomically obtaining a flock(2)'d
	file descriptor.

	open(2)ing with O_NDELAY (now called O_NONBLOCK) would not wait
	for carrier on the first i/o operation.

	Obsolete stub system calls 'setdopt' and 'getdopt' were still
	present in the kernel even though they have never done anything
	except take up space.

Repeat-By:
	This section does not apply this time since this is an 'update'
	which adds new functionality rather than fixing an existing bug.

Fix:
	Refer to part 1 (#197) for the complete description and installation
	instructions.

	This is part 14 of 14 (#210).

	Files affected by this part are:

/usr/src/new/crash/crashsubs.c
/usr/src/ucb/tset/tset.c
/usr/src/usr.bin/tabs.c
/VERSION

=====================cut  here========================
*** /usr/src/new/crash/crashsubs.c.old	Sat Aug 22 14:30:48 1987
--- /usr/src/new/crash/crashsubs.c	Thu Dec 15 19:52:16 1994
***************
*** 1,6 ****
- 
  /*
   *	U N I X   2 . 9 B S D   C R A S H   A N A L Y Z E R   S U B S
   */
  
  #include <stdio.h>
--- 1,8 ----
  /*
   *	U N I X   2 . 9 B S D   C R A S H   A N A L Y Z E R   S U B S
+  *
+  * 'LCASE' and 'LTILDE' went away.  Some day this program should be
+  * rewritten to reflect the current system.  12/9/94
   */
  
  #include <stdio.h>
***************
*** 579,585 ****
  ttyflg(flgs)
  unsigned *flgs;
  {
! #define	TTY_FLAGS "\0\1TANDEM\2CBREAK\3LCASE\4ECHO\5CRMOD\6RAW\7ODDP\10EVENP\11NL1\12NL2\13TAB1\14TAB2\15CR1\16CR2\17FF1\20BS1\21CRTBS\22PRTERA\23CRTERA\24TILDE\25MDMBUF\26LITOUT\27TOSTOP\30FLUSHO\31NOHANG\32L001000\33CRTKILL\34PASS8\35CTLECH\36PENDIN\DECCTQ"
  	printb((u_long) *flgs, TTY_FLAGS);
  }
  
--- 581,587 ----
  ttyflg(flgs)
  unsigned *flgs;
  {
! #define	TTY_FLAGS "\0\1TANDEM\2CBREAK\4ECHO\5CRMOD\6RAW\7ODDP\10EVENP\11NL1\12NL2\13TAB1\14TAB2\15CR1\16CR2\17FF1\20BS1\21CRTBS\22PRTERA\23CRTERA\25MDMBUF\26LITOUT\27TOSTOP\30FLUSHO\31NOHANG\32L001000\33CRTKILL\34PASS8\35CTLECH\36PENDIN\DECCTQ"
  	printb((u_long) *flgs, TTY_FLAGS);
  }
  
*** /usr/src/ucb/tset/tset.c.old	Mon Jan 18 09:36:19 1993
--- /usr/src/ucb/tset/tset.c	Fri Dec  9 21:42:17 1994
***************
*** 4,18 ****
   * specifies the terms and conditions for redistribution.
   */
  
! #ifndef lint
  char copyright[] =
  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
   All rights reserved.\n";
- #endif not lint
  
! #ifndef lint
! static char sccsid[] = "@(#)tset.c	5.8 (Berkeley) 4/28/86";
! #endif not lint
  
  /*
  **  TSET -- set terminal modes
--- 4,16 ----
   * specifies the terms and conditions for redistribution.
   */
  
! #if	!defined(lint) && defined(DOSCCS)
  char copyright[] =
  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
   All rights reserved.\n";
  
! static char sccsid[] = "@(#)tset.c	5.8.1 (2.11BSD GTE) 12/9/94";
! #endif
  
  /*
  **  TSET -- set terminal modes
***************
*** 1084,1093 ****
  		setdelay("dB", BSdelay, BSbits, &mode.sg_flags);
  		setdelay("dF", FFdelay, FFbits, &mode.sg_flags);
  		setdelay("dT", TBdelay, TBbits, &mode.sg_flags);
- 		if (tgetflag("UC") || (command[0] & 0140) == 0100)
- 			mode.sg_flags |= LCASE;
- 		else if (tgetflag("LC"))
- 			mode.sg_flags &= ~LCASE;
  		mode.sg_flags &= ~(EVENP | ODDP | RAW);
  # ifdef CBREAK
  		mode.sg_flags &= ~CBREAK;
--- 1082,1087 ----
*** /usr/src/usr.bin/tabs.c.old	Mon Feb 16 16:22:29 1987
--- /usr/src/usr.bin/tabs.c	Fri Dec  9 21:49:15 1994
***************
*** 1,4 ****
! static char *sccsid = "@(#)tabs.c	4.1 (Berkeley) 10/1/80";
  #include <stdio.h>
  #include <sgtty.h>
  
--- 1,4 ----
! static char *sccsid = "@(#)tabs.c	4.1.1 (2.11BSD) 12/9/94";
  #include <stdio.h>
  #include <sgtty.h>
  
***************
*** 88,99 ****
  
  		default:
  				gtty (0, &tb);
! 				if ( (tb.sg_flags & (LCASE|CRMOD)) == CRMOD) {
! 					/* test for CR map on, upper case off, i.e. terminet but not 33 */
  					if ((tb.sg_ispeed) == B300) /* test for 300 baud */
  						misc();
  				}
! 				else if ((tb.sg_flags & (CRMOD|LCASE)) == 0 && (tb.sg_ispeed ) == B150) {
  					/* apparent model 37 */
  					tty37();
  				}
--- 88,99 ----
  
  		default:
  				gtty (0, &tb);
! 				if (tb.sg_flags & CRMOD) {
! 					/* test for CR map on, i.e. terminet but not 33 */
  					if ((tb.sg_ispeed) == B300) /* test for 300 baud */
  						misc();
  				}
! 				else if ((tb.sg_flags & CRMOD) == 0 && (tb.sg_ispeed ) == B150) {
  					/* apparent model 37 */
  					tty37();
  				}
*** /VERSION.old	Sun Nov 20 19:00:13 1994
--- /VERSION	Mon Dec 19 19:31:33 1994
***************
*** 1,4 ****
! Current Patch Level: 196
  
  2.11 BSD
  ============
--- 1,4 ----
! Current Patch Level: 210
  
  2.11 BSD
  ============
