Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / netgroup.h @ 13

History | View | Annotate | Download (2.49 KB)

1 13 up20180614
/*        $NetBSD: netgroup.h,v 1.10 2009/10/21 01:07:45 snj Exp $        */
2
3
/*
4
 * Copyright (c) 1994 Christos Zoulas
5
 * All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or without
8
 * modification, are permitted provided that the following conditions
9
 * are met:
10
 * 1. Redistributions of source code must retain the above copyright
11
 *    notice, this list of conditions and the following disclaimer.
12
 * 2. Redistributions in binary form must reproduce the above copyright
13
 *    notice, this list of conditions and the following disclaimer in the
14
 *    documentation and/or other materials provided with the distribution.
15
 *
16
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
17
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26
 * SUCH DAMAGE.
27
 */
28
29
#ifndef _NETGROUP_H_
30
#define        _NETGROUP_H_
31
32
#include <sys/cdefs.h>
33
34
#define        _PATH_NETGROUP                "/etc/netgroup"
35
36
#define        _PATH_NETGROUP_DB        "/var/db/netgroup.db"
37
38
#define        _PATH_NETGROUP_MKDB        "/usr/sbin/netgroup_mkdb"
39
40
#define        _NG_KEYBYNAME                '1'        /* stored by name */
41
#define        _NG_KEYBYUSER                '2'        /* stored by user */
42
#define        _NG_KEYBYHOST                '3'        /* stored by host */
43
44
#define _NG_ERROR        -1
45
#define _NG_NONE         0
46
#define _NG_NAME         1
47
#define _NG_GROUP         2
48
49
struct netgroup {
50
        __aconst char *ng_host;                /* host name */
51
        __aconst char *ng_user;                /* user name */
52
        __aconst char *ng_domain;        /* domain name */
53
        struct        netgroup *ng_next;        /* thread */
54
};
55
56
__BEGIN_DECLS
57
void        setnetgrent        (const char *);
58
int        getnetgrent        (const char **, const char **, const char **);
59
void        endnetgrent        (void);
60
int        innetgr                (const char *, const char *, const char *,
61
                             const char *);
62
#ifdef _NETGROUP_PRIVATE
63
char    *_ng_makekey(const char *, const char *, size_t);
64
int        _ng_parse(char **, char **, struct netgroup **);
65
void        _ng_print(char *, size_t, const struct netgroup *);
66
void        _ng_cycle(const char *, const StringList *);
67
#endif /* _NETGROUP_PRIVATE */
68
69
__END_DECLS
70
71
#endif /* !_NETGROUP_H_ */