-#define SMS_FS_STUDENT 0x0001
-#define SMS_FS_FACULTY 0x0002
-#define SMS_FS_STAFF 0x0004
-#define SMS_FS_MISC 0x0008
+/* Protocol operations */
+#define MR_NOOP 0
+#define MR_AUTH 1
+#define MR_SHUTDOWN 2
+#define MR_QUERY 3
+#define MR_ACCESS 4
+#define MR_DO_UPDATE 5
+#define MR_MOTD 6
+#define MR_MAX_PROC 6
+
+/* values used in NFS physical flags */
+#define MR_FS_STUDENT 0x0001
+#define MR_FS_FACULTY 0x0002
+#define MR_FS_STAFF 0x0004
+#define MR_FS_MISC 0x0008
+#define MR_FS_GROUPQUOTA 0x0010
+
+/* magic values to pass for list and user queries */
+#define UNIQUE_GID "create unique GID"
+#define UNIQUE_UID "create unique UID"
+#define UNIQUE_LOGIN "create unique login ID"
+
+/* Structure used by Save Queue routines (for temporary storage of data) */
+struct save_queue
+{
+ struct save_queue *q_next;
+ struct save_queue *q_prev;
+ struct save_queue *q_lastget;
+ char *q_data;
+};
+
+/* Hash table declarations */
+struct bucket {
+ struct bucket *next;
+ int key;
+ char *data;
+};
+struct hash {
+ int size;
+ struct bucket **data;
+};