]> andersk Git - moira.git/blob - include/moira.h
0e66d72c3e28e8786a58e2d54aeb51a46ee891ac
[moira.git] / include / moira.h
1 /*
2  *      $Source$
3  *      $Author$
4  *      $Header$
5  *
6  *      Copyright (C) 1987 by the Massachusetts Institute of Technology
7  *
8  */
9
10 #ifndef _sms_h_
11 #define _sms_h_
12
13 /* return values from queries (and error codes) */
14
15 #include "sms_et.h"
16 #define SMS_SUCCESS 0           /* Query was successful */
17
18 #define SMS_VERSION_1 1         /* Version in use from 7/87 to 4/88 */
19 #define SMS_VERSION_2 2         /* After 4/88, new query lib */
20
21 /* return values for sms server calls, used by clients */
22
23 #define SMS_CONT 0              /* Everything okay, continue sending values. */
24 #define SMS_ABORT -1            /* Something went wrong don't send anymore
25                                    values. */
26
27 /* Protocol operations */
28 #define SMS_NOOP 0
29 #define SMS_AUTH 1
30 #define SMS_SHUTDOWN 2
31 #define SMS_QUERY 3
32 #define SMS_ACCESS 4
33 #define SMS_DO_UPDATE 5
34 #define SMS_MOTD 6
35 #define SMS_MAX_PROC 6
36
37 /* values used in NFS physical flags */
38 #define SMS_FS_STUDENT  0x0001
39 #define SMS_FS_FACULTY  0x0002
40 #define SMS_FS_STAFF    0x0004
41 #define SMS_FS_MISC     0x0008
42
43 /* magic values to pass for list and user queries */
44 #define UNIQUE_GID      "create unique GID"
45 #define UNIQUE_UID      "create unique UID"
46 #define UNIQUE_LOGIN    "create unique login ID"
47
48 /* Structure used by Save Queue routines (for temporary storage of data) */
49 struct save_queue
50 {
51     struct save_queue *q_next;
52     struct save_queue *q_prev;
53     struct save_queue *q_lastget;
54     char *q_data;
55 };
56
57 /* Hash table declarations */
58 struct bucket {
59     struct bucket *next;
60     int key;
61     char *data;
62 };
63 struct hash {
64     int size;
65     struct bucket **data;
66 };
67
68 #ifdef __STDC__
69 int sms_connect();
70 int sms_disconnect();
71 int sms_auth();
72 int sms_access(char *handle, int argc, char **argv);
73 int sms_access_internal(int argc, char **argv);
74 int sms_query(char *handle, int argc, char **argv,
75               int (*callback)(), char *callarg);
76 int sms_query_internal(int argc, char **argv,
77                        int (*callback)(), char *callarg);
78 int sms_noop();
79 int sms_shutdown(char *reason);
80 struct save_queue *sq_create();
81 struct hash *create_hash(int size);
82 char *hash_lookup(struct hash *h, int key);
83 char *strsave(char *s);
84 char *strtrim(char *s);
85 char *canonicalize_hostname(char *s);
86 #else !__STDC__
87 int sms_connect();
88 int sms_disconnect();
89 int sms_auth();
90 int sms_access();
91 int sms_query();
92 int sms_noop();
93 int sms_shutdown();
94 struct save_queue *sq_create();
95 struct hash *create_hash();
96 char *hash_lookup();
97 char *strsave();
98 char *strtrim();
99 char *canonicalize_hostname();
100 #endif __STDC__
101
102 #endif _sms_h_                  /* Do Not Add Anything after this line. */
This page took 0.041129 seconds and 3 git commands to generate.