Solaris and AIX have no ttydefaults.h.

This commit is contained in:
Nicholas Marriott 2009-08-20 05:34:58 +00:00
parent 966818c23d
commit 09cc530299
4 changed files with 115 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $Id: cmd-new-session.c,v 1.57 2009-08-19 15:57:54 nicm Exp $ */
/* $Id: cmd-new-session.c,v 1.58 2009-08-20 05:34:57 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -22,9 +22,6 @@
#include <termios.h>
#include <unistd.h>
#define TTYDEFCHARS
#include <sys/ttydefaults.h>
#include "tmux.h"
/*

View File

@ -1,4 +1,4 @@
/* $Id: compat.h,v 1.11 2009-08-19 09:00:05 nicm Exp $ */
/* $Id: compat.h,v 1.12 2009-08-20 05:34:58 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -80,6 +80,18 @@
#include "compat/vis.h"
#endif
#ifdef HAVE_TTYDEFAULTS_H
#ifdef HAVE_TTYDEFCHARS
#define TTYDEFCHARS
#endif
#include <sys/ttydefaults.h>
#else
#ifndef OXTABS
#define OXTABS 0
#endif
#include "compat/ttydefaults.h"
#endif
#ifndef HAVE_IMSG
#include "compat/imsg.h"
#endif

96
compat/ttydefaults.h Normal file
View File

@ -0,0 +1,96 @@
/* $Id: ttydefaults.h,v 1.1 2009-08-20 05:34:58 nicm Exp $ */
/* $OpenBSD: ttydefaults.h,v 1.6 2003/06/02 23:28:22 millert Exp $ */
/* $NetBSD: ttydefaults.h,v 1.8 1996/04/09 20:55:45 cgd Exp $ */
/*-
* Copyright (c) 1982, 1986, 1993
* The Regents of the University of California. All rights reserved.
* (c) UNIX System Laboratories, Inc.
* All or some portions of this file are derived from material licensed
* to the University of California by American Telephone and Telegraph
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
* the permission of UNIX System Laboratories, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
*/
/*
* System wide defaults for terminal state.
*/
#ifndef _SYS_TTYDEFAULTS_H_
#define _SYS_TTYDEFAULTS_H_
/*
* Defaults on "first" open.
*/
#define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY)
#define TTYDEF_OFLAG (OPOST | ONLCR | OXTABS)
#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)
#define TTYDEF_CFLAG (CREAD | CS8 | HUPCL)
#define TTYDEF_SPEED (B9600)
/*
* Control Character Defaults
*/
#define CTRL(x) (x&037)
#define CEOF CTRL('d')
#define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */
#define CERASE 0177
#define CINTR CTRL('c')
#define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */
#define CKILL CTRL('u')
#define CMIN 1
#define CQUIT 034 /* FS, ^\ */
#define CSUSP CTRL('z')
#define CTIME 0
#define CDSUSP CTRL('y')
#define CSTART CTRL('q')
#define CSTOP CTRL('s')
#define CLNEXT CTRL('v')
#define CDISCARD CTRL('o')
#define CWERASE CTRL('w')
#define CREPRINT CTRL('r')
#define CEOT CEOF
/* compat */
#define CBRK CEOL
#define CRPRNT CREPRINT
#define CFLUSH CDISCARD
/* PROTECTED INCLUSION ENDS HERE */
#endif /* !_SYS_TTYDEFAULTS_H_ */
/*
* #define TTYDEFCHARS to include an array of default control characters.
*/
#ifdef TTYDEFCHARS
cc_t ttydefchars[NCCS] = {
CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT,
_POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT,
CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE
};
#undef TTYDEFCHARS
#endif

6
configure vendored
View File

@ -1,5 +1,5 @@
#!/bin/sh
# $Id: configure,v 1.26 2009-08-19 15:57:54 nicm Exp $
# $Id: configure,v 1.27 2009-08-20 05:34:58 nicm Exp $
TMUX_PLATFORM=${TMUX_PLATFORM:-`uname -s`}
@ -32,6 +32,7 @@ cat <<EOF >>$CONFIG_H
#undef HAVE_STRSEP
#undef HAVE_STRTONUM
#undef HAVE_TREE_H
#undef HAVE_TTYDEFAULTS_H
#undef HAVE_TTYDEFCHARS
#undef HAVE_UTIL_H
#undef HAVE_VIS
@ -58,6 +59,7 @@ case $TMUX_PLATFORM in
#define HAVE_STRSEP
#define HAVE_STRTONUM
#define HAVE_TREE_H
#define HAVE_TTYDEFAULTS_H
#define HAVE_TTYDEFCHARS
#define HAVE_UTIL_H
#define HAVE_VIS
@ -81,6 +83,7 @@ EOF
#define HAVE_PTY_H
#define HAVE_STRCASESTR
#define HAVE_STRSEP
#define HAVE_TTYDEFAULTS_H
EOF
cat <<EOF >>$CONFIG_MK
CFLAGS+= -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE
@ -167,6 +170,7 @@ EOF
#define HAVE_STRLCAT
#define HAVE_STRLCPY
#define HAVE_STRSEP
#define HAVE_TTYDEFAULTS_H
#define HAVE_TTYDEFCHARS
#define HAVE_UTIL_H
EOF