The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/sys/ttydefaults.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1982, 1986, 1993
    3  *      The Regents of the University of California.  All rights reserved.
    4  * (c) UNIX System Laboratories, Inc.
    5  * All or some portions of this file are derived from material licensed
    6  * to the University of California by American Telephone and Telegraph
    7  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    8  * the permission of UNIX System Laboratories, Inc.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  * 4. Neither the name of the University nor the names of its contributors
   19  *    may be used to endorse or promote products derived from this software
   20  *    without specific prior written permission.
   21  *
   22  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   25  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   28  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   29  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   31  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   32  * SUCH DAMAGE.
   33  *
   34  *      @(#)ttydefaults.h       8.4 (Berkeley) 1/21/94
   35  * $FreeBSD: releng/10.0/sys/sys/ttydefaults.h 249311 2013-04-09 16:16:34Z ed $
   36  */
   37 
   38 /*
   39  * System wide defaults for terminal state.
   40  */
   41 #ifndef _SYS_TTYDEFAULTS_H_
   42 #define _SYS_TTYDEFAULTS_H_
   43 
   44 /*
   45  * Defaults on "first" open.
   46  */
   47 #define TTYDEF_IFLAG    (BRKINT | ICRNL | IMAXBEL | IXON | IXANY)
   48 #define TTYDEF_OFLAG    (OPOST | ONLCR)
   49 #define TTYDEF_LFLAG_NOECHO (ICANON | ISIG | IEXTEN)
   50 #define TTYDEF_LFLAG_ECHO (TTYDEF_LFLAG_NOECHO \
   51         | ECHO | ECHOE | ECHOKE | ECHOCTL)
   52 #define TTYDEF_LFLAG TTYDEF_LFLAG_ECHO
   53 #define TTYDEF_CFLAG    (CREAD | CS8 | HUPCL)
   54 #define TTYDEF_SPEED    (B9600)
   55 
   56 /*
   57  * Control Character Defaults
   58  */
   59 /*
   60  * XXX: A lot of code uses lowercase characters, but control-character
   61  * conversion is actually only valid when applied to uppercase
   62  * characters. We just treat lowercase characters as if they were
   63  * inserted as uppercase.
   64  */
   65 #define CTRL(x) ((x) >= 'a' && (x) <= 'z' ? \
   66         ((x) - 'a' + 1) : (((x) - 'A' + 1) & 0x7f))
   67 #define CEOF            CTRL('D')
   68 #define CEOL            0xff            /* XXX avoid _POSIX_VDISABLE */
   69 #define CERASE          CTRL('?')
   70 #define CERASE2         CTRL('H')
   71 #define CINTR           CTRL('C')
   72 #define CSTATUS         CTRL('T')
   73 #define CKILL           CTRL('U')
   74 #define CMIN            1
   75 #define CQUIT           CTRL('\\')
   76 #define CSUSP           CTRL('Z')
   77 #define CTIME           0
   78 #define CDSUSP          CTRL('Y')
   79 #define CSTART          CTRL('Q')
   80 #define CSTOP           CTRL('S')
   81 #define CLNEXT          CTRL('V')
   82 #define CDISCARD        CTRL('O')
   83 #define CWERASE         CTRL('W')
   84 #define CREPRINT        CTRL('R')
   85 #define CEOT            CEOF
   86 /* compat */
   87 #define CBRK            CEOL
   88 #define CRPRNT          CREPRINT
   89 #define CFLUSH          CDISCARD
   90 
   91 /* PROTECTED INCLUSION ENDS HERE */
   92 #endif /* !_SYS_TTYDEFAULTS_H_ */
   93 
   94 /*
   95  * #define TTYDEFCHARS to include an array of default control characters.
   96  */
   97 #ifdef TTYDEFCHARS
   98 
   99 #include <sys/cdefs.h>
  100 #include <sys/_termios.h>
  101 
  102 static const cc_t ttydefchars[] = {
  103         CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, CERASE2, CINTR,
  104         CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, CDISCARD, CMIN, CTIME,
  105         CSTATUS, _POSIX_VDISABLE
  106 };
  107 _Static_assert(sizeof(ttydefchars) / sizeof(cc_t) == NCCS,
  108     "Size of ttydefchars does not match NCCS");
  109 
  110 #undef TTYDEFCHARS
  111 #endif /* TTYDEFCHARS */

Cache object: b1d4c51de40361cbf86f312b8448b1d6


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.