]> andersk Git - moira.git/blob - include/moira.h
#define MR_INGRES_ERR and MR_INGRES_SOFTFAIL for backward compatibility
[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 _moira_h_
11 #define _moira_h_
12
13 /* return values from queries (and error codes) */
14
15 #include "mr_et.h"
16 #define MR_SUCCESS 0            /* Query was successful */
17
18 #define MR_VERSION_1 1          /* Version in use from 7/87 to 4/88 */
19 #define MR_VERSION_2 2          /* After 4/88, new query lib */
20
21 /* return values for Moira server calls, used by clients */
22
23 #define MR_CONT 0               /* Everything okay, continue sending values. */
24 #define MR_ABORT -1             /* Something went wrong don't send anymore
25                                    values. */
26
27 #define MOIRA_SNAME     "moira" /* Kerberos service key to use */
28
29 /* Protocol operations */
30 #define MR_NOOP 0
31 #define MR_AUTH 1
32 #define MR_SHUTDOWN 2
33 #define MR_QUERY 3
34 #define MR_ACCESS 4
35 #define MR_DO_UPDATE 5
36 #define MR_MOTD 6
37 #define MR_MAX_PROC 6
38
39 /* values used in NFS physical flags */
40 #define MR_FS_STUDENT   0x0001
41 #define MR_FS_FACULTY   0x0002
42 #define MR_FS_STAFF     0x0004
43 #define MR_FS_MISC      0x0008
44 #define MR_FS_GROUPQUOTA 0x0010
45
46 /* magic values to pass for list and user queries */
47 #define UNIQUE_GID      "create unique GID"
48 #define UNIQUE_UID      "create unique UID"
49 #define UNIQUE_LOGIN    "create unique login ID"
50
51 /* Structure used by Save Queue routines (for temporary storage of data) */
52 struct save_queue
53 {
54     struct save_queue *q_next;
55     struct save_queue *q_prev;
56     struct save_queue *q_lastget;
57     char *q_data;
58 };
59
60 /* Hash table declarations */
61 struct bucket {
62     struct bucket *next;
63     int key;
64     char *data;
65 };
66 struct hash {
67     int size;
68     struct bucket **data;
69 };
70
71 #ifdef __STDC__
72 int mr_connect(char *server);
73 int mr_disconnect();
74 int mr_host(char *host, int size);
75 int mr_motd(char **motd);
76 int mr_auth(char *prog);
77 int mr_access(char *handle, int argc, char **argv);
78 int mr_access_internal(int argc, char **argv);
79 int mr_query(char *handle, int argc, char **argv,
80               int (*callback)(), char *callarg);
81 int mr_query_internal(int argc, char **argv,
82                        int (*callback)(), char *callarg);
83 int mr_noop();
84 struct save_queue *sq_create();
85 struct hash *create_hash(int size);
86 char *hash_lookup(struct hash *h, int key);
87 char *strsave(char *s);
88 char *strtrim(char *s);
89 char *canonicalize_hostname(char *s);
90 #else /* !__STDC__ */
91 int mr_connect();
92 int mr_disconnect();
93 int mr_host();
94 int mr_motd();
95 int mr_auth();
96 int mr_access();
97 int mr_query();
98 int mr_noop();
99 struct save_queue *sq_create();
100 struct hash *create_hash();
101 char *hash_lookup();
102 char *strsave();
103 char *strtrim();
104 char *canonicalize_hostname();
105 #endif  /* __STDC__ */
106
107 /* error-name backward compatibility */
108 #define MR_INGRES_ERR           MR_DBMS_ERR
109 #define MR_INGRES_SOFTFAIL      MR_DBMS_SOFTFAIL
110
111 #endif /* _moira_h_ */          /* Do Not Add Anything after this line. */
This page took 0.319724 seconds and 5 git commands to generate.