Add checkpoint tty signaling support to stty and tcsh. The signal
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 13 Oct 2003 21:24:29 +0000 (21:24 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 13 Oct 2003 21:24:29 +0000 (21:24 +0000)
defaults to '^E'.

bin/stty/cchar.c
bin/stty/stty.1
contrib/tcsh/ed.init.c
contrib/tcsh/ed.term.c
contrib/tcsh/ed.term.h

index 4925fd8..6aadbff 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)cchar.c 8.5 (Berkeley) 4/2/94
  * $FreeBSD: src/bin/stty/cchar.c,v 1.9.2.2 2001/07/04 22:40:00 kris Exp $
- * $DragonFly: src/bin/stty/cchar.c,v 1.4 2003/09/28 14:39:15 hmp Exp $
+ * $DragonFly: src/bin/stty/cchar.c,v 1.5 2003/10/13 21:24:26 dillon Exp $
  */
 
 #include <sys/types.h>
@@ -56,6 +56,7 @@ static int c_cchar (const void *, const void *);
  * command line.
  */
 struct cchar cchars1[] = {
+       { "ckpt",       VCHECKPT,       CCHECKPT },
        { "discard",    VDISCARD,       CDISCARD },
        { "dsusp",      VDSUSP,         CDSUSP },
        { "eof",        VEOF,           CEOF },
index e1167aa..62fb8ee 100644 (file)
@@ -34,7 +34,7 @@
 .\"
 .\"     @(#)stty.1     8.4 (Berkeley) 4/18/94
 .\" $FreeBSD: src/bin/stty/stty.1,v 1.13.2.6 2001/12/14 14:22:09 ru Exp $
-.\" $DragonFly: src/bin/stty/stty.1,v 1.2 2003/06/17 04:22:50 dillon Exp $
+.\" $DragonFly: src/bin/stty/stty.1,v 1.3 2003/10/13 21:24:26 dillon Exp $
 .\"
 .Dd April 18, 1994
 .Dt STTY 1
@@ -397,6 +397,7 @@ Recognized control-characters:
 .It lnext Ta Tn VLNEXT Ta LNEXT No character
 .It reprint Ta Tn VREPRINT Ta REPRINT No character
 .It status Ta Tn VSTATUS Ta STATUS No character
+.It ckpt Ta Tn VCHECKPT Ta CKPT No character
 .El
 .Ed
 .It Cm min Ar number
index b293c19..0cecc01 100644 (file)
@@ -1,4 +1,7 @@
-/* $Header: /src/pub/tcsh/ed.init.c,v 3.48 2002/07/06 22:28:13 christos Exp $ */
+/*
+ * $Header: /src/pub/tcsh/ed.init.c,v 3.48 2002/07/06 22:28:13 christos Exp $
+ * $DragonFly: src/contrib/tcsh/Attic/ed.init.c,v 1.2 2003/10/13 21:24:29 dillon Exp $
+ */
 /*
  * ed.init.c: Editor initializations
  */
@@ -67,7 +70,7 @@ static unsigned char ttychars[NN_IO][C_NCC] = {
        (uc)CWERASE,    (uc)CSUSP,       (uc)CDSUSP,       (uc)CREPRINT,
        (uc)CDISCARD,   (uc)CLNEXT,      (uc)CSTATUS,      (uc)CPAGE,
        (uc)CPGOFF,     (uc)CKILL2,      (uc)CBRK,         (uc)CMIN,
-       (uc)CTIME
+       (uc)CTIME,      (uc)CCHECKPT
     },
     {
        CINTR,           CQUIT,           CERASE,          CKILL, 
@@ -76,7 +79,7 @@ static unsigned char ttychars[NN_IO][C_NCC] = {
        _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, 
        CDISCARD,        _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, 
        _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, 1,
-       0
+       0,              CCHECKPT
     },
     {  
        0,               0,               0,               0,
index f205e05..f9b26de 100644 (file)
@@ -1,4 +1,7 @@
-/* $Header: /src/pub/tcsh/ed.term.c,v 1.28 2002/07/06 22:28:13 christos Exp $ */
+/*
+ * $Header: /src/pub/tcsh/ed.term.c,v 1.28 2002/07/06 22:28:13 christos Exp $
+ * $DragonFly: src/contrib/tcsh/Attic/ed.term.c,v 1.2 2003/10/13 21:24:29 dillon Exp $
+ */
 /*
  * ed.term.c: Low level terminal interface
  */
@@ -67,7 +70,8 @@ ttyperm_t ttylist = {
        { "chars:", (C_SH(C_MIN)|C_SH(C_TIME)|C_SH(C_SWTCH)|C_SH(C_DSWTCH)|
                     C_SH(C_WERASE)|C_SH(C_REPRINT)|C_SH(C_SUSP)|C_SH(C_DSUSP)|
                     C_SH(C_EOF)|C_SH(C_EOL)|C_SH(C_DISCARD)|C_SH(C_PGOFF)|
-                    C_SH(C_KILL2)|C_SH(C_PAGE)|C_SH(C_STATUS)|C_SH(C_LNEXT)), 
+                    C_SH(C_KILL2)|C_SH(C_PAGE)|C_SH(C_STATUS)|C_SH(C_CHECKPT)|
+                    C_SH(C_LNEXT)),
                     0 }
     },
     {
@@ -507,6 +511,9 @@ static struct tcshmodes {
 # if defined(VSTATUS) || defined(TIOCGPAGE)
     { "status",                C_SH(C_STATUS), M_CHAR },
 # endif /* VSTATUS */
+# if defined(VCHECKPT) || defined(TIOCGPAGE)
+    { "ckpt",          C_SH(C_CHECKPT),M_CHAR },
+# endif /* VSTATUS */
 # if defined(VPAGE) || defined(TIOCGPAGE)
     { "page",          C_SH(C_PAGE),   M_CHAR },
 # endif /* VPAGE */
@@ -835,6 +842,9 @@ tty_getchar(td, s)
 # ifdef VSTATUS
        s[C_STATUS]     = n->c_cc[VSTATUS];
 # endif /* VSTATUS */
+# ifdef VCHECKPT
+       s[C_CHECKPT]    = n->c_cc[VCHECKPT];
+# endif /* VCHECKPT */
 # ifdef VPAGE
        s[C_PAGE]       = n->c_cc[VPAGE];
 # endif /* VPAGE */
@@ -859,6 +869,7 @@ tty_getchar(td, s)
        struct ttypagestat *n = &td->d_pc;
 
        s[C_STATUS]     = n->tps_statc;
+       s[C_CHECKPT]    = n->tps_checkp;
        s[C_PAGE]       = n->tps_pagec;
        s[C_PGOFF]      = n->tps_pgoffc;
     }
@@ -973,6 +984,9 @@ tty_setchar(td, s)
 # ifdef VSTATUS
        n->c_cc[VSTATUS]        = s[C_STATUS];
 # endif /* VSTATUS */
+# ifdef VCHECKPT
+       n->c_cc[VCHECKPT]       = s[C_CHECKPT];
+# endif /* VCHECKPT */
 # ifdef VPAGE
        n->c_cc[VPAGE]          = s[C_PAGE];
 # endif /* VPAGE */
index f868213..6e64550 100644 (file)
@@ -1,4 +1,7 @@
-/* $Header: /src/pub/tcsh/ed.term.h,v 1.16 2002/07/06 22:28:13 christos Exp $ */
+/*
+ * $Header: /src/pub/tcsh/ed.term.h,v 1.16 2002/07/06 22:28:13 christos Exp $
+ * $DragonFly: src/contrib/tcsh/Attic/ed.term.h,v 1.2 2003/10/13 21:24:29 dillon Exp $
+ */
 /*
  * ed.term.h: Local terminal header
  */
 # undef  CDISCARD
 # undef  CLNEXT
 # undef  CSTATUS
+# undef  CCHECKPT
 # undef  CPAGE
 # undef  CPGOFF
 # undef  CKILL2
 #ifndef CSTATUS
 # define CSTATUS       TO_CONTROL('t')
 #endif /* CSTATUS */
+#ifndef CCHECKPT
+# define CCHECKPT      TO_CONTROL('e')
+#endif /* CCHECKPT */
 #ifndef CPAGE
 # define CPAGE         ' '
 #endif /* CPAGE */
 #    undef VSTATUS
 #   endif /* NUMCC <= VSTATUS */
 #  endif /* VSTATUS */
+#  ifdef VCHECKPT
+#   if NUMCC <= VCHECKPT
+#    undef VCHECKPT
+#   endif /* NUMCC <= VCHECKPT */
+#  endif /* VCHECKPT */
 #  ifdef VPAGE
 #   if NUMCC <= VPAGE
 #    undef VPAGE
 #define C_BRK          22
 #define C_MIN          23
 #define C_TIME         24
-#define C_NCC          25
+#define C_CHECKPT      25
+#define C_NCC          26
 #define C_SH(A)                (1 << (A))
 
 /*