[BACK]Return to facpri.c CVS log [TXT][DIR] Up to [local] / src / sbin / ipf

File: [local] / src / sbin / ipf / Attic / facpri.c (download)

Revision 1.4, Mon Mar 13 23:40:19 2000 UTC (24 years, 3 months ago) by kjell
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7
Changes since 1.3: +0 -0 lines

Import of Darren Reed's IPFilter 3.3.11. See sbin/ipf/HISTORY for detailed
changelog. Documentation changes are now way behind. Volunteers?

/*	$OpenBSD: facpri.c,v 1.4 2000/03/13 23:40:19 kjell Exp $	*/

/*
 * Copyright (C) 1993-1998 by Darren Reed.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that this notice is preserved and due credit is given
 * to the original author and the contributors.
 */
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <sys/types.h>
#if !defined(__SVR4) && !defined(__svr4__)
#include <strings.h>
#endif
#include <stdlib.h>
#include <unistd.h>
#include <stddef.h>
#include <syslog.h>
#include "facpri.h"

#if !defined(lint)
static const char rcsid[] = "@(#)$IPFilter: facpri.c,v 1.2 1999/08/01 11:10:45 darrenr Exp $";
#endif

typedef	struct	table	{
	char	*name;
	int	value;
} table_t;

table_t	facs[] = {
	{ "kern", LOG_KERN },	{ "user", LOG_USER },
	{ "mail", LOG_MAIL },	{ "daemon", LOG_DAEMON },
	{ "auth", LOG_AUTH },	{ "syslog", LOG_SYSLOG },
	{ "lpr", LOG_LPR },	{ "news", LOG_NEWS },
	{ "uucp", LOG_UUCP },
#if LOG_CRON == LOG_CRON2 
	{ "cron2", LOG_CRON1 },
#else
	{ "cron", LOG_CRON1 },
#endif
#ifdef	LOG_FTP
	{ "ftp", LOG_FTP },
#endif
#ifdef	LOG_AUTHPRIV
	{ "authpriv", LOG_AUTHPRIV },
#endif
#ifdef	LOG_AUDIT
	{ "audit", LOG_AUDIT },
#endif
#ifdef	LOG_LFMT
	{ "logalert", LOG_LFMT },
#endif
#if LOG_CRON == LOG_CRON1
	{ "cron", LOG_CRON2 },
#else
	{ "cron2", LOG_CRON2 },
#endif
	{ "local0", LOG_LOCAL0 },	{ "local1", LOG_LOCAL1 },
	{ "local2", LOG_LOCAL2 },	{ "local3", LOG_LOCAL3 },
	{ "local4", LOG_LOCAL4 },	{ "local5", LOG_LOCAL5 },
	{ "local6", LOG_LOCAL6 },	{ "local7", LOG_LOCAL7 },
	{ NULL, 0 }
};


/*
 * map a facility number to its name
 */
char *
fac_toname(facpri)
	int facpri;
{
	int	i, j, fac;

	fac = facpri & LOG_FACMASK;
	j = fac >> 3;
	if (j < 24) {
		if (facs[j].value == fac)
			return facs[j].name;
		for (i = 0; facs[i].name; i++)
			if (fac == facs[i].value)
				return facs[i].name;
	}

	return NULL;
}


/*
 * map a facility name to its number
 */
int
fac_findname(name)
	char *name;
{
	int	i;

	for (i = 0; facs[i].name; i++)
		if (!strcmp(facs[i].name, name))
			return facs[i].value;
	return -1;
}


table_t	pris[] = {
	{ "emerg", LOG_EMERG },		{ "alert", LOG_ALERT  },
	{ "crit", LOG_CRIT },		{ "err", LOG_ERR  },
	{ "warn", LOG_WARNING },	{ "notice", LOG_NOTICE  },
	{ "info", LOG_INFO },		{ "debug", LOG_DEBUG  },
	{ NULL, 0 }
};


/*
 * map a priority name to its number
 */
int
pri_findname(name)
	char *name;
{
	int	i;

	for (i = 0; pris[i].name; i++)
		if (!strcmp(pris[i].name, name))
			return pris[i].value;
	return -1;
}


/*
 * map a priority number to its name
 */
char *
pri_toname(facpri)
	int facpri;
{
	int	i, pri;

	pri = facpri & LOG_PRIMASK;
	if (pris[pri].value == pri)
		return pris[pri].name;
	for (i = 0; pris[i].name; i++)
		if (pri == pris[i].value)
			return pris[i].name;
	return NULL;
}