/*  $Revision: 1.3 $***/#include "nnrpd.h"#if	NNRP_LOADLIMIT > 0#include <nlist.h>#if 0STATIC struct nlist NameList[] = {    { "_avenrun" },#define	X_AVENRUN	0    { NULL }};#endifSTATIC struct nlist NameList[2];#define	X_AVENRUN	0/***  Get the current load average as an integer.*/intGetLoadAverage(){    int		fd;    int		oerrno;#if	defined(FSCALE)    long	avenrun[3];#else    double	avenrun[3];#endif	/* defined(FSCALE) */    fd = open("/dev/kmem", 0, 0);    if (fd < 0)	return -1;strcpy(NameList[0]._n._n_name, "_avenrun");NameList[0]._n._n_name[0] = NULL;#if	defined(HPUX)    (void)nlist("/hp-ux", NameList);#else#if	defined(SUNOS5)    (void)nlist("/dev/ksyms", NameList);#else    (void)nlist("/vmunix", NameList);#endif	/* defined(SUNOS5) */#endif	/* !defined(HPUX) */    if (NameList[0].n_type == 0     || lseek(fd, (off_t) NameList[X_AVENRUN].n_value, SEEK_SET) == -1     || read(fd, (char *)avenrun, sizeof avenrun) != sizeof avenrun) {	oerrno = errno;	(void)close(fd);	errno = oerrno;	return -1;    }    (void)close(fd);#if	defined(FSCALE)    return (int)(avenrun[0] + FSCALE / 2) >> FSHIFT;#else    return (int)(avenrun[0] + 0.5);#endif	/* defined(FSCALE) */}#endif	/* NNRP_LOADLIMIT > 0 */