Print this page
*** NO COMMENTS ***

@@ -20,35 +20,56 @@
  * CDDL HEADER END
  */
 /*
  * Copyright 1995 Sun Microsystems Inc.
  * All rights reserved.
+ *
+ * Copyright 2012 Nexenta Systems, Inc.  All rights reserved.
  */
                                                             
-
 #ifndef __TABLE_H
 #define __TABLE_H
 
-#pragma ident   "%Z%%M% %I%     %E% SMI"        /* SMI4.1 1.4 */
-
 #ifdef  __cplusplus
 extern "C" {
 #endif
 
+#include <sys/types.h>
+
 #define NUMLETTERS 27 /* 26 letters  + 1 for anything else */
 #define TABLESIZE (NUMLETTERS*NUMLETTERS)
 
 typedef struct tablenode *tablelist;
-struct tablenode {
+typedef struct tablenode {
         char *key;
         char *datum;
         tablelist next;
-};
-typedef struct tablenode tablenode;
+} tablenode;
 
-typedef tablelist stringtable[TABLESIZE];
+/* Stores a list of strings */
+typedef struct stringnode {
+        char *str;
+        struct stringnode *s_next;
+} stringnode;
 
+/* Stores a list of (name,list-of-groups) */
+typedef struct groupentrynode *groupentrylist;
+
+typedef struct groupentrynode {
+        char *name;
+        stringnode *groups;
+        groupentrylist next;
+} groupentrynode;
+
+typedef struct revhandle {
+        tablelist       ngtable[TABLESIZE];
+        groupentrylist  grouptable[TABLESIZE];
+        struct grouplist *grouplist;   /* stores a list of users in a group */
+        uint_t          rh_index;
+        boolean_t       rh_byuser;
+} revhandle_t;
+
 int tablekey();
 char *lookup();
 void store();
 
 #ifdef  __cplusplus