Home | History | Annotate | Download | only in sys
      1 /*	$NetBSD: ttydefaults.h,v 1.16 2008/05/24 14:06:39 yamt Exp $	*/
      2 
      3 /*-
      4  * Copyright (c) 1982, 1986, 1993
      5  *	The Regents of the University of California.  All rights reserved.
      6  * (c) UNIX System Laboratories, Inc.
      7  * All or some portions of this file are derived from material licensed
      8  * to the University of California by American Telephone and Telegraph
      9  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
     10  * the permission of UNIX System Laboratories, Inc.
     11  *
     12  * Redistribution and use in source and binary forms, with or without
     13  * modification, are permitted provided that the following conditions
     14  * are met:
     15  * 1. Redistributions of source code must retain the above copyright
     16  *    notice, this list of conditions and the following disclaimer.
     17  * 2. Redistributions in binary form must reproduce the above copyright
     18  *    notice, this list of conditions and the following disclaimer in the
     19  *    documentation and/or other materials provided with the distribution.
     20  * 3. Neither the name of the University nor the names of its contributors
     21  *    may be used to endorse or promote products derived from this software
     22  *    without specific prior written permission.
     23  *
     24  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     25  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     27  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     29  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     30  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     31  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     32  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     33  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     34  * SUCH DAMAGE.
     35  *
     36  *	@(#)ttydefaults.h	8.4 (Berkeley) 1/21/94
     37  */
     38 
     39 /*
     40  * System wide defaults for terminal state.
     41  */
     42 #ifndef _SYS_TTYDEFAULTS_H_
     43 #define	_SYS_TTYDEFAULTS_H_
     44 
     45 /*
     46  * Defaults on "first" open.
     47  */
     48 #define	TTYDEF_IFLAG	(BRKINT | ICRNL | IMAXBEL | IXON | IXANY)
     49 #define TTYDEF_OFLAG	(OPOST | ONLCR | OXTABS)
     50 #define TTYDEF_LFLAG	(ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)
     51 #define TTYDEF_CFLAG	(CREAD | CS8 | HUPCL)
     52 #define TTYDEF_SPEED	(B9600)
     53 
     54 /*
     55  * Control Character Defaults
     56  */
     57 #define CTRL(x)	(x&037)
     58 #define	CEOF		CTRL('d')
     59 #define	CEOL		((unsigned char)'\377')	/* XXX avoid _POSIX_VDISABLE */
     60 #define	CERASE		0177
     61 #define	CINTR		CTRL('c')
     62 #define	CSTATUS		CTRL('t')
     63 #define	CKILL		CTRL('u')
     64 #define	CMIN		1
     65 #define	CQUIT		034		/* FS, ^\ */
     66 #define	CSUSP		CTRL('z')
     67 #define	CTIME		0
     68 #define	CDSUSP		CTRL('y')
     69 #define	CSTART		CTRL('q')
     70 #define	CSTOP		CTRL('s')
     71 #define	CLNEXT		CTRL('v')
     72 #define	CDISCARD 	CTRL('o')
     73 #define	CWERASE 	CTRL('w')
     74 #define	CREPRINT 	CTRL('r')
     75 #define	CEOT		CEOF
     76 /* compat */
     77 #define	CBRK		CEOL
     78 #define CRPRNT		CREPRINT
     79 #define	CFLUSH		CDISCARD
     80 
     81 /* PROTECTED INCLUSION ENDS HERE */
     82 #endif /* !_SYS_TTYDEFAULTS_H_ */
     83 
     84 /*
     85  * #define TTYDEFCHARS to include an array of default control characters.
     86  */
     87 #ifdef _KERNEL
     88 #ifdef TTYDEFCHARS
     89 const cc_t ttydefchars[NCCS] = {
     90 	[VEOF] = CEOF,
     91 	[VEOL] = CEOL,
     92 	[VEOL2] = CEOL,
     93 	[VERASE] = CERASE,
     94 	[VWERASE] = CWERASE,
     95 	[VKILL] = CKILL,
     96 	[VREPRINT] = CREPRINT,
     97 	[7] = _POSIX_VDISABLE,	/* spare */
     98 	[VINTR] = CINTR,
     99 	[VQUIT] = CQUIT,
    100 	[VSUSP] = CSUSP,
    101 	[VDSUSP] = CDSUSP,
    102 	[VSTART] = CSTART,
    103 	[VSTOP] = CSTOP,
    104 	[VLNEXT] = CLNEXT,
    105 	[VDISCARD] = CDISCARD,
    106 	[VMIN] = CMIN,
    107 	[VTIME] = CTIME,
    108 	[VSTATUS] = CSTATUS,
    109 	[19] = _POSIX_VDISABLE,	/* spare */
    110 };
    111 #undef TTYDEFCHARS
    112 #else
    113 extern const cc_t ttydefchars[NCCS];
    114 #endif
    115 #endif /* _KERNEL */
    116