1/*	$NetBSD: hosts_ctl.c,v 1.4.66.1 2012/04/23 16:48:54 riz Exp $	*/
2
3 /*
4  * hosts_ctl() combines common applications of the host access control
5  * library routines. It bundles its arguments then calls the hosts_access()
6  * access control checker. The host name and user name arguments should be
7  * empty strings, STRING_UNKNOWN or real data. If a match is found, the
8  * optional shell command is executed.
9  *
10  * Restriction: this interface does not pass enough information to support
11  * selective remote username lookups or selective hostname double checks.
12  *
13  * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
14  */
15
16#include <sys/cdefs.h>
17#ifndef lint
18#if 0
19static char sccsid[] = "@(#) hosts_ctl.c 1.4 94/12/28 17:42:27";
20#else
21__RCSID("$NetBSD: hosts_ctl.c,v 1.4.66.1 2012/04/23 16:48:54 riz Exp $");
22#endif
23#endif
24
25#include <stdio.h>
26
27#include "tcpd.h"
28
29/* hosts_ctl - limited interface to the hosts_access() routine */
30
31int     hosts_ctl(daemon, name, addr, user)
32char   *daemon;
33char   *name;
34char   *addr;
35char   *user;
36{
37    struct request_info request;
38
39    return (hosts_access(request_init(&request,
40				      RQ_DAEMON, daemon,
41				      RQ_CLIENT_NAME, name,
42				      RQ_CLIENT_ADDR, addr,
43				      RQ_USER, user,
44				      0)));
45}
46