Print this page
*** NO COMMENTS ***
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/cmd/ypcmd/revnetgroup/table.h
+++ new/usr/src/cmd/ypcmd/revnetgroup/table.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License, Version 1.0 only
6 6 * (the "License"). You may not use this file except in compliance
7 7 * with the License.
8 8 *
9 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 10 * or http://www.opensolaris.org/os/licensing.
11 11 * See the License for the specific language governing permissions
12 12 * and limitations under the License.
13 13 *
14 14 * When distributing Covered Code, include this CDDL HEADER in each
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 16 * If applicable, add the following below this CDDL HEADER, with the
17 17 * fields enclosed by brackets "[]" replaced with your own identifying
18 18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 19 *
20 20 * CDDL HEADER END
21 21 */
22 22 /*
23 23 * Copyright 1995 Sun Microsystems Inc.
24 24 * All rights reserved.
25 + *
26 + * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
25 27 */
26 -
27 28
28 29 #ifndef __TABLE_H
29 30 #define __TABLE_H
30 31
31 -#pragma ident "%Z%%M% %I% %E% SMI" /* SMI4.1 1.4 */
32 -
33 32 #ifdef __cplusplus
34 33 extern "C" {
35 34 #endif
36 35
37 -#define NUMLETTERS 27 /* 26 letters + 1 for anything else */
38 -#define TABLESIZE (NUMLETTERS*NUMLETTERS)
36 +#include <sys/types.h>
39 37
38 +#define NUMLETTERS 27 /* 26 letters + 1 for anything else */
39 +#define TABLESIZE (NUMLETTERS*NUMLETTERS)
40 +
40 41 typedef struct tablenode *tablelist;
41 -struct tablenode {
42 +typedef struct tablenode {
42 43 char *key;
43 44 char *datum;
44 45 tablelist next;
45 -};
46 -typedef struct tablenode tablenode;
46 +} tablenode;
47 47
48 -typedef tablelist stringtable[TABLESIZE];
48 +/* Stores a list of strings */
49 +typedef struct stringnode {
50 + char *str;
51 + struct stringnode *s_next;
52 +} stringnode;
49 53
54 +/* Stores a list of (name,list-of-groups) */
55 +typedef struct groupentrynode *groupentrylist;
56 +
57 +typedef struct groupentrynode {
58 + char *name;
59 + stringnode *groups;
60 + groupentrylist next;
61 +} groupentrynode;
62 +
63 +typedef struct revhandle {
64 + tablelist ngtable[TABLESIZE];
65 + groupentrylist grouptable[TABLESIZE];
66 + struct grouplist *grouplist; /* stores a list of users in a group */
67 + uint_t rh_index;
68 + boolean_t rh_byuser;
69 +} revhandle_t;
70 +
50 71 int tablekey();
51 72 char *lookup();
52 73 void store();
53 74
54 75 #ifdef __cplusplus
55 76 }
56 77 #endif
57 78
58 79 #endif /* __TABLE_H */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX