summaryrefslogtreecommitdiffstats
path: root/src/include/kerberosIV
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1990-10-29 16:47:45 +0000
committerJohn Kohl <jtkohl@mit.edu>1990-10-29 16:47:45 +0000
commitcaca7f1edde2da9fc7dce2541542d01e9b30bae4 (patch)
tree2e9aa5e5b022db3bf1e751fe26722bd51165ec4a /src/include/kerberosIV
parentd9d8bfe13af25befd5b15bd3271dd8d3f34f4856 (diff)
downloadkrb5-caca7f1edde2da9fc7dce2541542d01e9b30bae4.tar.gz
krb5-caca7f1edde2da9fc7dce2541542d01e9b30bae4.tar.xz
krb5-caca7f1edde2da9fc7dce2541542d01e9b30bae4.zip
Initial revision
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1371 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/kerberosIV')
-rw-r--r--src/include/kerberosIV/kparse.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/include/kerberosIV/kparse.h b/src/include/kerberosIV/kparse.h
new file mode 100644
index 000000000..7dc90e24a
--- /dev/null
+++ b/src/include/kerberosIV/kparse.h
@@ -0,0 +1,91 @@
+/*
+ * $Source$
+ * $Author$
+ * $Header$
+ *
+ * Copyright 1988 by the Massachusetts Institute of Technology.
+ *
+ * For copying and distribution information, please see the file
+ * <mit-copyright.h>.
+ *
+ * Include file for kparse routines.
+ */
+
+#include <mit-copyright.h>
+
+#ifndef KPARSE_DEFS
+#define KPARSE_DEFS
+
+/*
+ * values returned by fGetParameterSet()
+ */
+
+#define PS_BAD_KEYWORD -2 /* unknown or duplicate keyword */
+#define PS_SYNTAX -1 /* syntax error */
+#define PS_OKAY 0 /* got a complete parameter set */
+#define PS_EOF 1 /* nothing more in the file */
+
+/*
+ * values returned by fGetKeywordValue()
+ */
+
+#define KV_SYNTAX -2 /* syntax error */
+#define KV_EOF -1 /* nothing more in the file */
+#define KV_OKAY 0 /* got a keyword/value pair */
+#define KV_EOL 1 /* nothing more on this line */
+
+/*
+ * values returned by fGetToken()
+ */
+
+#define GTOK_BAD_QSTRING -1 /* newline found in quoted string */
+#define GTOK_EOF 0 /* end of file encountered */
+#define GTOK_QSTRING 1 /* quoted string */
+#define GTOK_STRING 2 /* unquoted string */
+#define GTOK_NUMBER 3 /* one or more digits */
+#define GTOK_PUNK 4 /* punks are punctuation, newline,
+ * etc. */
+#define GTOK_WHITE 5 /* one or more whitespace chars */
+
+/*
+ * extended character classification macros
+ */
+
+#define ISOCTAL(CH) ( (CH>='0') && (CH<='7') )
+#define ISQUOTE(CH) ( (CH=='\"') || (CH=='\'') || (CH=='\`') )
+#define ISWHITESPACE(C) ( (C==' ') || (C=='\t') )
+#define ISLINEFEED(C) ( (C=='\n') || (C=='\r') || (C=='\f') )
+
+/*
+ * tokens consist of any printable charcacter except comma, equal, or
+ * whitespace
+ */
+
+#define ISTOKENCHAR(C) ((C>040) && (C<0177) && (C != ',') && (C != '='))
+
+/*
+ * the parameter table defines the keywords that will be recognized by
+ * fGetParameterSet, and their default values if not specified.
+ */
+
+typedef struct {
+ char *keyword;
+ char *defvalue;
+ char *value;
+} parmtable;
+
+#define PARMCOUNT(P) (sizeof(P)/sizeof(P[0]))
+
+extern int LineNbr; /* current line # in parameter file */
+
+extern char ErrorMsg[]; /*
+ * meaningful only when KV_SYNTAX,
+ * PS_SYNTAX, or PS_BAD_KEYWORD is
+ * returned by fGetKeywordValue or
+ * fGetParameterSet
+ */
+
+extern char *strsave(); /* defined in this module */
+extern char *strutol(); /* defined in this module */
+
+#endif /* KPARSE_DEFS */