1BSD/s7/htmpg.c

Compare this file to the similar file:
Show the results in this format:

/*
 * htmp - manipulation routines for "htmp" data base
 * Bill Joy UCB September 24, 1977
 * << get routines >>
 */
struct htmp {
	int	uid;
	char	home[28];
	int	ttytype;
} hentry;

char	htmp[]	"/etc/htmp";

hget(tty)
	char tty;
{
	register int hunit;

	hunit = open(htmp, 0);
	if (hunit < 0)
		goto bad;
	if (seek(hunit, tty * sizeof hentry, 0))
		goto bad;
	if (read(hunit, &hentry, sizeof hentry) != sizeof hentry) {
		hentry.uid = 0;
		hentry.home[0] = '/';
		hentry.home[1] = 0;
		hentry.ttytype = 'un';
	}
	close(hunit);
	return (0);
bad:
	close(hunit);
	return (-1);
}

hgethome()
{

	return (hentry.home);
}

hgetuid()
{

	return(hentry.uid);
}

hgettype()
{

	return(hentry.ttytype);
}

hsgettype()
{
	static char ttype[3];

	ttype[0] = hentry.ttytype & 0377;
	ttype[1] = (hentry.ttytype >> 8) & 0377;
	return (ttype);
}