]> andersk Git - moira.git/blame - include/moira.h
add MR_PROXY as procno 7, and bump MR_MAX_PROC.
[moira.git] / include / moira.h
CommitLineData
7ac48069 1/* $Id$
6d409214 2 *
7ac48069 3 * Copyright (C) 1987-1998 by the Massachusetts Institute of Technology
6d409214 4 *
6d409214 5 */
6
b3c011db 7#ifndef _moira_h_
8#define _moira_h_
ebf77ded 9
ac3530a2 10/* return values from queries (and error codes) */
11
7ac48069 12#include <com_err.h>
8defc06b 13#include "mr_et.h"
7ac48069 14#include "krb_et.h"
15#include "gdss_et.h"
16#include "ureg_err.h"
b3c011db 17#define MR_SUCCESS 0 /* Query was successful */
0fa91a0a 18
b3c011db 19#define MR_VERSION_1 1 /* Version in use from 7/87 to 4/88 */
20#define MR_VERSION_2 2 /* After 4/88, new query lib */
0fa91a0a 21
8defc06b 22/* return values for Moira server calls, used by clients */
ebf77ded 23
b3c011db 24#define MR_CONT 0 /* Everything okay, continue sending values. */
25#define MR_ABORT -1 /* Something went wrong don't send anymore
ebf77ded 26 values. */
27
311f6975 28#define MOIRA_SNAME "moira" /* Kerberos service key to use */
29
ac3530a2 30/* Protocol operations */
b3c011db 31#define MR_NOOP 0
32#define MR_AUTH 1
33#define MR_SHUTDOWN 2
34#define MR_QUERY 3
35#define MR_ACCESS 4
36#define MR_DO_UPDATE 5
37#define MR_MOTD 6
e586854a 38#define MR_PROXY 7
39#define MR_MAX_PROC 7
1a1fe0bc 40
ac3530a2 41/* values used in NFS physical flags */
b3c011db 42#define MR_FS_STUDENT 0x0001
43#define MR_FS_FACULTY 0x0002
44#define MR_FS_STAFF 0x0004
45#define MR_FS_MISC 0x0008
936af1a7 46#define MR_FS_GROUPQUOTA 0x0010
f4a12540 47
ac3530a2 48/* magic values to pass for list and user queries */
49#define UNIQUE_GID "create unique GID"
50#define UNIQUE_UID "create unique UID"
51#define UNIQUE_LOGIN "create unique login ID"
52
ea7f8538 53/* Structure used by Save Queue routines (for temporary storage of data) */
54struct save_queue
55{
7ac48069 56 struct save_queue *q_next;
57 struct save_queue *q_prev;
58 struct save_queue *q_lastget;
59 void *q_data;
ea7f8538 60};
61
62/* Hash table declarations */
63struct bucket {
7ac48069 64 struct bucket *next;
65 int key;
66 void *data;
ea7f8538 67};
68struct hash {
7ac48069 69 int size;
70 struct bucket **data;
ea7f8538 71};
ac3530a2 72
7ac48069 73/* prototypes from critical.c */
74void critical_alert(char *instance, char *msg, ...);
75void send_zgram(char *inst, char *msg);
76
77/* prototypes from fixhost.c */
78char *canonicalize_hostname(char *s);
79
80/* prototypes from fixname.c */
81void FixName(char *ilnm, char *ifnm, char *last, char *first, char *middle);
82void FixCase(char *p);
83void LookForJrAndIII(char *nm, int *pends_jr, int *pends_sr,
84 int *pends_ii, int *pends_iii,
85 int *pends_iv, int *pends_v);
86void LookForSt(char *nm);
87void LookForO(char *nm);
88void TrimTrailingSpace(char *ip);
89void GetMidInit(char *nm, char *mi);
cbd64bea 90void RemoveHyphens(char *str);
7ac48069 91
92/* prototypes from gdss_convert.c */
93int gdss2et(int code);
94
95/* prototypes from hash.c */
96struct hash *create_hash(int size);
97void *hash_lookup(struct hash *h, int key);
98int hash_update(struct hash *h, int key, void *value);
99int hash_store(struct hash *h, int key, void *value);
100void hash_search(struct hash *h, void *value, void (*callback)(int));
101void hash_step(struct hash *h, void (*callback)(int, void *, void *),
102 void *hint);
103void hash_destroy(struct hash *h);
104
7ac48069 105/* prototypes from kname_unparse.c */
106char *kname_unparse(char *p, char *i, char *r);
107
108/* prototypes from nfsparttype.c */
109char *parse_filesys_type(char *fs_type_name);
110char *format_filesys_type(char *fs_status);
111
112/* prototypes from sq.c */
113struct save_queue *sq_create(void);
114int sq_save_data(struct save_queue *sq, void *data);
115int sq_save_args(int argc, char *argv[], struct save_queue *sq);
116int sq_save_unique_data(struct save_queue *sq, void *data);
117int sq_save_unique_string(struct save_queue *sq, char *data);
118/* in sq_get_data and sq_remove_data, the `data' arg should be a
119 pointer to a pointer */
120int sq_get_data(struct save_queue *sq, void *data);
121int sq_remove_data(struct save_queue *sq, void *data);
444b050f 122void sq_remove_last_data(struct save_queue *sq);
7ac48069 123int sq_empty(struct save_queue *sq);
124void sq_destroy(struct save_queue *sq);
125
126/* prototypes from strs.c */
127char *strtrim(char *s);
128char *uppercase(char *s);
129char *lowercase(char *s);
130
131/* mr_ functions */
132int mr_access(char *handle, int argc, char **argv);
133int mr_auth(char *prog);
e586854a 134int mr_proxy(char *principal, char *orig_authtype);
b3c011db 135int mr_connect(char *server);
7ac48069 136int mr_disconnect(void);
137int mr_do_update(void);
b3c011db 138int mr_host(char *host, int size);
843d19d8 139int mr_motd(char **motd);
7ac48069 140int mr_noop(void);
b3c011db 141int mr_query(char *handle, int argc, char **argv,
7ac48069 142 int (*callback)(int, char **, void *), void *callarg);
ebf77ded 143
2043da3e 144/* error-name backward compatibility */
145#define MR_INGRES_ERR MR_DBMS_ERR
146#define MR_INGRES_SOFTFAIL MR_DBMS_SOFTFAIL
147
7ac48069 148
ea0caf4a 149#ifdef __GNUC__
150#if __GNUC_MINOR__ < 7
151#define __attribute__(x)
152#endif
153#else /* ! __GNUC __ */
7ac48069 154#define __attribute__(x)
155#endif
156
157#define RCSID(id) static char *rcsid __attribute__ ((__unused__)) = id
158
3fcd2703 159#endif /* _moira_h_ */ /* Do Not Add Anything after this line. */
This page took 0.34819 seconds and 5 git commands to generate.