Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_FS_1_19910112
-
kcc-5/lib/ttynam.c
There are 9 other files named ttynam.c in the archive. Click here to see a list.
/* TTYNAME, ISATTY
** Copyright (C) 1988 by Ken Harrenstien, SRI International
*/
#include "c-env.h"
#include "stdio.h" /* For L_ctermid */
#include "string.h" /* For strcat */
#include "fcntl.h"
#if SYS_T20+SYS_10X
#include "jsys.h"
#define isatty_mac(fd) \
( (acs[1] = fcntl(fd, F_GETSYSFD, 0)) > 0 /* Get JFN for FD */\
&& jsys(DVCHR, acs) /* Get dev type */\
&& ((acs[2]>>DV_TYP_S)&DV_TYP_M) == _DVTTY) /* See if TTY */
#endif
char *
ttyname(fd)
int fd;
{
#if SYS_T20+SYS_10X
static char nambuf[L_ctermid];
int acs[5];
if (isatty_mac(fd)) { /* Do DVCHR, win if TTY */
acs[2] = acs[1]; /* Get resulting device designator */
acs[1] = (int) (nambuf-1);
if (jsys(DEVST, acs)) /* Convert designator to string */
return strcat(nambuf, ":"); /* Return "TTYnn:" */
}
return NULL; /* Not TTY or something failed */
#else
#error ttyname() not implemented for this system.
#endif
}
int
isatty(fd)
int fd;
{
#if SYS_T20+SYS_10X
int acs[5];
return isatty_mac(fd); /* Return TRUE if DVCHR says TTY */
#else
#error isatty() not implemented for this system.
#endif
}