]> andersk Git - moira.git/blobdiff - include/moira.h
Build shared libmoira via libtool.
[moira.git] / include / moira.h
index d3e06b376288d94f15d6bd60a4e51df0294bf915..cfddccdea1ba15d4b5d06673fe6da5dbf5649cf3 100644 (file)
@@ -1,18 +1,30 @@
-/*
- *     $Source$
- *     $Author$
- *     $Header$
+/* $Id$
  *
- *     Copyright (C) 1987 by the Massachusetts Institute of Technology
+ * Copyright (C) 1987-1998 by the Massachusetts Institute of Technology
  *
  */
 
 #ifndef _moira_h_
 #define _moira_h_
 
-/* return values from queries (and error codes) */
+#ifdef _WIN32
+#include <windows.h>
+#ifndef strcasecmp
+#define strcasecmp      stricmp
+#endif
+#ifndef snprintf
+#define snprintf      _snprintf
+#endif
+#endif /*_WIN32 */
 
+/* return values from queries (and error codes) */
+#include <stdlib.h>
+#include <sys/types.h>
+#include <com_err.h>
 #include "mr_et.h"
+#include "krb_et.h"
+#include "ureg_err.h"
+
 #define MR_SUCCESS 0           /* Query was successful */
 
 #define MR_VERSION_1 1         /* Version in use from 7/87 to 4/88 */
 #define MR_ACCESS 4
 #define MR_DO_UPDATE 5
 #define MR_MOTD 6
-#define MR_MAX_PROC 6
+#define MR_PROXY 7
+#define MR_SETVERSION 8
+#define MR_KRB5_AUTH 9
+#define MR_MAX_PROC 9
 
 /* values used in NFS physical flags */
 #define MR_FS_STUDENT  0x0001
 /* 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;
+  struct save_queue *q_next;
+  struct save_queue *q_prev;
+  struct save_queue *q_lastget;
+  void *q_data;
 };
 
 /* Hash table declarations */
 struct bucket {
-    struct bucket *next;
-    int        key;
-    char *data;
+  struct bucket *next;
+  int key;
+  void *data;
 };
 struct hash {
-    int        size;
-    struct bucket **data;
+  int size;
+  struct bucket **data;
 };
 
-#ifdef __STDC__
+/* prototypes from critical.c */
+void critical_alert(char *whoami, char *instance, char *msg, ...);
+void send_zgram(char *inst, char *msg);
+
+/* prototypes from fixhost.c */
+char *canonicalize_hostname(char *s);
+
+/* prototypes from fixname.c */
+void FixName(char *ilnm, char *ifnm, char *last, char *first, char *middle);
+void FixCase(unsigned char *p);
+void LookForJrAndIII(char *nm, int *pends_jr, int *pends_sr,
+                    int *pends_ii, int *pends_iii,
+                    int *pends_iv, int *pends_v);
+void LookForSt(char *nm);
+void LookForO(char *nm);
+void TrimTrailingSpace(char *ip);
+void GetMidInit(char *nm, char *mi);
+void RemoveHyphens(char *str);
+
+/* prototypes from hash.c */
+struct hash *create_hash(int size);
+void *hash_lookup(struct hash *h, int key);
+int hash_update(struct hash *h, int key, void *value);
+int hash_store(struct hash *h, int key, void *value);
+void hash_search(struct hash *h, void *value, void (*callback)(int));
+void hash_step(struct hash *h, void (*callback)(int, void *, void *),
+              void *hint);
+void hash_destroy(struct hash *h);
+
+/* prototypes from kname_unparse.c */
+char *mr_kname_unparse(char *p, char *i, char *r);
+
+/* prototypes from kname_parse.c */
+int mr_kname_parse(char *np, char *ip, char *rp, char *fullname);
+
+/* prototypes from nfsparttype.c */
+char *parse_filesys_type(char *fs_type_name);
+char *format_filesys_type(char *fs_status);
+
+/* prototypes from sq.c */
+struct save_queue *sq_create(void);
+int sq_save_data(struct save_queue *sq, void *data);
+int sq_save_args(int argc, char *argv[], struct save_queue *sq);
+int sq_save_unique_data(struct save_queue *sq, void *data);
+int sq_save_unique_string(struct save_queue *sq, char *data);
+/* in sq_get_data and sq_remove_data, the `data' arg should be a
+   pointer to a pointer */
+int sq_get_data(struct save_queue *sq, void *data);
+int sq_remove_data(struct save_queue *sq, void *data);
+void sq_remove_last_data(struct save_queue *sq);
+int sq_empty(struct save_queue *sq);
+void sq_destroy(struct save_queue *sq);
+
+/* prototypes from strs.c */
+char *strtrim(char *s);
+char *uppercase(char *s);
+char *lowercase(char *s);
+
+#ifndef HAVE_STRLCPY
+size_t strlcpy(char *dst, const char *src, size_t size);
+#endif
+#ifndef HAVE_STRLCAT
+size_t strlcat(char *dst, const char *src, size_t size);
+#endif
+
+/* mr_ functions */
+int mr_access(char *handle, int argc, char **argv);
+int mr_auth(char *prog);
 int mr_connect(char *server);
-int mr_disconnect();
+int mr_disconnect(void);
+int mr_do_update(void);
 int mr_host(char *host, int size);
 int mr_motd(char **motd);
-int mr_auth(char *prog);
-int mr_access(char *handle, int argc, char **argv);
-int mr_access_internal(int argc, char **argv);
+int mr_noop(void);
+int mr_proxy(char *principal, char *orig_authtype);
 int mr_query(char *handle, int argc, char **argv,
-             int (*callback)(), char *callarg);
-int mr_query_internal(int argc, char **argv,
-                      int (*callback)(), char *callarg);
-int mr_noop();
-struct save_queue *sq_create();
-struct hash *create_hash(int size);
-char *hash_lookup(struct hash *h, int key);
-char *strsave(char *s);
-char *strtrim(char *s);
-char *canonicalize_hostname(char *s);
-#else /* !__STDC__ */
-int mr_connect();
-int mr_disconnect();
-int mr_host();
-int mr_motd();
-int mr_auth();
-int mr_access();
-int mr_query();
-int mr_noop();
-struct save_queue *sq_create();
-struct hash *create_hash();
-char *hash_lookup();
-char *strsave();
-char *strtrim();
-char *canonicalize_hostname();
-#endif  /* __STDC__ */
+            int (*callback)(int, char **, void *), void *callarg);
+int mr_version(int version);
+
+/* error-name backward compatibility */
+#define MR_INGRES_ERR          MR_DBMS_ERR
+#define MR_INGRES_SOFTFAIL     MR_DBMS_SOFTFAIL
+
+
+#ifdef __GNUC__
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#define __attribute__(x)
+#endif
+#else /* ! __GNUC __ */
+#define __attribute__(x)
+#endif
+
+#define RCSID(id) static char *rcsid __attribute__ ((__unused__)) = id
 
 #endif /* _moira_h_ */         /* Do Not Add Anything after this line. */
This page took 0.038908 seconds and 4 git commands to generate.