]> andersk Git - moira.git/blame - include/moira.h
added group quotas
[moira.git] / include / moira.h
CommitLineData
6d409214 1/*
2 * $Source$
3 * $Author$
4 * $Header$
5 *
6 * Copyright (C) 1987 by the Massachusetts Institute of Technology
7 *
6d409214 8 */
9
b3c011db 10#ifndef _moira_h_
11#define _moira_h_
ebf77ded 12
ac3530a2 13/* return values from queries (and error codes) */
14
8defc06b 15#include "mr_et.h"
b3c011db 16#define MR_SUCCESS 0 /* Query was successful */
0fa91a0a 17
b3c011db 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 */
0fa91a0a 20
8defc06b 21/* return values for Moira server calls, used by clients */
ebf77ded 22
b3c011db 23#define MR_CONT 0 /* Everything okay, continue sending values. */
24#define MR_ABORT -1 /* Something went wrong don't send anymore
ebf77ded 25 values. */
26
311f6975 27#define MOIRA_SNAME "moira" /* Kerberos service key to use */
28
ac3530a2 29/* Protocol operations */
b3c011db 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
1a1fe0bc 38
ac3530a2 39/* values used in NFS physical flags */
b3c011db 40#define MR_FS_STUDENT 0x0001
41#define MR_FS_FACULTY 0x0002
42#define MR_FS_STAFF 0x0004
43#define MR_FS_MISC 0x0008
f4a12540 44
ac3530a2 45/* magic values to pass for list and user queries */
46#define UNIQUE_GID "create unique GID"
47#define UNIQUE_UID "create unique UID"
48#define UNIQUE_LOGIN "create unique login ID"
49
ea7f8538 50/* Structure used by Save Queue routines (for temporary storage of data) */
51struct save_queue
52{
53 struct save_queue *q_next;
54 struct save_queue *q_prev;
55 struct save_queue *q_lastget;
56 char *q_data;
57};
58
59/* Hash table declarations */
60struct bucket {
61 struct bucket *next;
62 int key;
63 char *data;
64};
65struct hash {
66 int size;
67 struct bucket **data;
68};
ac3530a2 69
f4a12540 70#ifdef __STDC__
b3c011db 71int mr_connect(char *server);
72int mr_disconnect();
73int mr_host(char *host, int size);
74int mr_auth(char *prog);
75int mr_access(char *handle, int argc, char **argv);
76int mr_access_internal(int argc, char **argv);
77int mr_query(char *handle, int argc, char **argv,
f4a12540 78 int (*callback)(), char *callarg);
b3c011db 79int mr_query_internal(int argc, char **argv,
f4a12540 80 int (*callback)(), char *callarg);
b3c011db 81int mr_noop();
ea7f8538 82struct save_queue *sq_create();
83struct hash *create_hash(int size);
84char *hash_lookup(struct hash *h, int key);
85char *strsave(char *s);
86char *strtrim(char *s);
819d4e30 87char *canonicalize_hostname(char *s);
f4a12540 88#else !__STDC__
b3c011db 89int mr_connect();
90int mr_disconnect();
91int mr_host();
92int mr_auth();
93int mr_access();
94int mr_query();
95int mr_noop();
ea7f8538 96struct save_queue *sq_create();
97struct hash *create_hash();
98char *hash_lookup();
99char *strsave();
100char *strtrim();
819d4e30 101char *canonicalize_hostname();
f4a12540 102#endif __STDC__
ebf77ded 103
b3c011db 104#endif _moira_h_ /* Do Not Add Anything after this line. */
This page took 0.08189 seconds and 5 git commands to generate.