- print the line discipline using the new ioctl

- print the queue size
This commit is contained in:
christos 2013-09-12 19:47:23 +00:00
parent dffa067438
commit 700d3ab22a
5 changed files with 27 additions and 42 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: extern.h,v 1.12 2011/08/29 14:51:19 joerg Exp $ */
/* $NetBSD: extern.h,v 1.13 2013/09/12 19:47:23 christos Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -43,7 +43,7 @@ void gread(struct termios *, char *);
int ksearch(char ***, struct info *);
int msearch(char ***, struct info *);
void optlist(void);
void print(struct termios *, struct winsize *, int, enum FMT);
void print(struct termios *, struct winsize *, int, const char *, enum FMT);
__dead void usage(void);
extern const struct cchar cchars1[], cchars2[];

View File

@ -1,4 +1,4 @@
/* $NetBSD: key.c,v 1.20 2004/04/01 16:10:03 tsarna Exp $ */
/* $NetBSD: key.c,v 1.21 2013/09/12 19:47:23 christos Exp $ */
/*-
* Copyright (c) 1991, 1993, 1994
@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)key.c 8.4 (Berkeley) 2/20/95";
#else
__RCSID("$NetBSD: key.c,v 1.20 2004/04/01 16:10:03 tsarna Exp $");
__RCSID("$NetBSD: key.c,v 1.21 2013/09/12 19:47:23 christos Exp $");
#endif
#endif /* not lint */
@ -146,7 +146,7 @@ ksearch(char ***argvp, struct info *ip)
void
f_all(struct info *ip)
{
print(&ip->t, &ip->win, ip->ldisc, STTY_BSD);
print(&ip->t, &ip->win, ip->queue, ip->ldisc, STTY_BSD);
}
void
@ -185,7 +185,7 @@ f_dec(struct info *ip)
void
f_everything(struct info *ip)
{
print(&ip->t, &ip->win, ip->ldisc, STTY_BSD);
print(&ip->t, &ip->win, ip->queue, ip->ldisc, STTY_BSD);
}
void

View File

@ -1,4 +1,4 @@
/* $NetBSD: print.c,v 1.22 2005/06/26 19:10:49 christos Exp $ */
/* $NetBSD: print.c,v 1.23 2013/09/12 19:47:23 christos Exp $ */
/*-
* Copyright (c) 1991, 1993, 1994
@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)print.c 8.6 (Berkeley) 4/16/94";
#else
__RCSID("$NetBSD: print.c,v 1.22 2005/06/26 19:10:49 christos Exp $");
__RCSID("$NetBSD: print.c,v 1.23 2013/09/12 19:47:23 christos Exp $");
#endif
#endif /* not lint */
@ -52,7 +52,8 @@ static void bput(const char *);
static const char *ccval(const struct cchar *, int);
void
print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt)
print(struct termios *tp, struct winsize *wp, int queue, const char *ldisc,
enum FMT fmt)
{
const struct cchar *p;
long tmp;
@ -62,29 +63,6 @@ print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt)
cnt = 0;
/* Line discipline. */
#ifdef TTYDISC
if (ldisc != TTYDISC) {
switch(ldisc) {
case TABLDISC:
cnt += printf("tablet disc; ");
break;
case SLIPDISC:
cnt += printf("slip disc; ");
break;
case PPPDISC:
cnt += printf("ppp disc; ");
break;
case STRIPDISC:
cnt += printf("strip disc; ");
break;
default:
cnt += printf("#%d disc; ", ldisc);
break;
}
}
#endif
/* Line speed. */
ispeed = cfgetispeed(tp);
ospeed = cfgetospeed(tp);
@ -93,8 +71,14 @@ print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt)
printf("ispeed %d baud; ospeed %d baud;", ispeed, ospeed);
else
cnt += printf("speed %d baud;", ispeed);
if (fmt >= STTY_BSD)
if (fmt >= STTY_BSD) {
cnt += printf(" %d rows; %d columns;", wp->ws_row, wp->ws_col);
if (queue)
cnt += printf(" queue = %d;", queue);
if (ldisc)
cnt += printf(" line = %s;", ldisc);
}
if (cnt)
(void)printf("\n");

View File

@ -1,4 +1,4 @@
/* $NetBSD: stty.c,v 1.22 2012/06/20 10:09:43 wiz Exp $ */
/* $NetBSD: stty.c,v 1.23 2013/09/12 19:47:23 christos Exp $ */
/*-
* Copyright (c) 1989, 1991, 1993, 1994
@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1991, 1993, 1994\
#if 0
static char sccsid[] = "@(#)stty.c 8.3 (Berkeley) 4/2/94";
#else
__RCSID("$NetBSD: stty.c,v 1.22 2012/06/20 10:09:43 wiz Exp $");
__RCSID("$NetBSD: stty.c,v 1.23 2013/09/12 19:47:23 christos Exp $");
#endif
#endif /* not lint */
@ -58,8 +58,6 @@ __RCSID("$NetBSD: stty.c,v 1.22 2012/06/20 10:09:43 wiz Exp $");
#include "stty.h"
#include "extern.h"
int main(int, char *[]);
int
main(int argc, char *argv[])
{
@ -99,12 +97,14 @@ main(int argc, char *argv[])
args: argc -= optind;
argv += optind;
if (ioctl(i.fd, TIOCGETD, &i.ldisc) < 0)
err(1, "TIOCGETD");
if (ioctl(i.fd, TIOCGLINED, i.ldisc) < 0)
err(1, "TIOCGLINED");
if (tcgetattr(i.fd, &i.t) < 0)
err(1, "tcgetattr");
if (ioctl(i.fd, TIOCGWINSZ, &i.win) < 0)
warn("TIOCGWINSZ");
if (ioctl(i.fd, TIOCGQSIZE, &i.queue) < 0)
warn("TIOCGQSIZE");
switch(fmt) {
case STTY_NOTSET:
@ -113,7 +113,7 @@ args: argc -= optind;
/* FALLTHROUGH */
case STTY_BSD:
case STTY_POSIX:
print(&i.t, &i.win, i.ldisc, fmt);
print(&i.t, &i.win, i.queue, i.ldisc, fmt);
break;
case STTY_GFLAG:
gprint(&i.t);

View File

@ -1,4 +1,4 @@
/* $NetBSD: stty.h,v 1.10 2003/08/07 09:05:42 agc Exp $ */
/* $NetBSD: stty.h,v 1.11 2013/09/12 19:47:23 christos Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -39,7 +39,8 @@
struct info {
int fd; /* file descriptor */
int ldisc; /* line discipline */
linedn_t ldisc; /* line discipline */
int queue; /* queue size */
int off; /* turn off */
int set; /* need set */
int wset; /* need window set */