|
|
1.1 ! root 1: /* ! 2: * $Source: /usr/src/kerberosIV/include/RCS/kparse.h,v $ ! 3: * $Author: kfall $ ! 4: * $Header: /usr/src/kerberosIV/include/RCS/kparse.h,v 4.6 90/06/25 20:50:23 kfall Exp $ ! 5: * ! 6: * Copyright 1988 by the Massachusetts Institute of Technology. ! 7: * ! 8: * For copying and distribution information, please see the file ! 9: * <mit-copyright.h>. ! 10: * ! 11: * Include file for kparse routines. ! 12: */ ! 13: ! 14: #ifdef ATHENA ! 15: #include <mit-copyright.h> ! 16: #endif ! 17: ! 18: #ifndef KPARSE_DEFS ! 19: #define KPARSE_DEFS ! 20: ! 21: /* ! 22: * values returned by fGetParameterSet() ! 23: */ ! 24: ! 25: #define PS_BAD_KEYWORD -2 /* unknown or duplicate keyword */ ! 26: #define PS_SYNTAX -1 /* syntax error */ ! 27: #define PS_OKAY 0 /* got a complete parameter set */ ! 28: #define PS_EOF 1 /* nothing more in the file */ ! 29: ! 30: /* ! 31: * values returned by fGetKeywordValue() ! 32: */ ! 33: ! 34: #define KV_SYNTAX -2 /* syntax error */ ! 35: #define KV_EOF -1 /* nothing more in the file */ ! 36: #define KV_OKAY 0 /* got a keyword/value pair */ ! 37: #define KV_EOL 1 /* nothing more on this line */ ! 38: ! 39: /* ! 40: * values returned by fGetToken() ! 41: */ ! 42: ! 43: #define GTOK_BAD_QSTRING -1 /* newline found in quoted string */ ! 44: #define GTOK_EOF 0 /* end of file encountered */ ! 45: #define GTOK_QSTRING 1 /* quoted string */ ! 46: #define GTOK_STRING 2 /* unquoted string */ ! 47: #define GTOK_NUMBER 3 /* one or more digits */ ! 48: #define GTOK_PUNK 4 /* punks are punctuation, newline, ! 49: * etc. */ ! 50: #define GTOK_WHITE 5 /* one or more whitespace chars */ ! 51: ! 52: /* ! 53: * extended character classification macros ! 54: */ ! 55: ! 56: #define ISOCTAL(CH) ( (CH>='0') && (CH<='7') ) ! 57: #define ISQUOTE(CH) ( (CH=='\"') || (CH=='\'') || (CH=='\`') ) ! 58: #define ISWHITESPACE(C) ( (C==' ') || (C=='\t') ) ! 59: #define ISLINEFEED(C) ( (C=='\n') || (C=='\r') || (C=='\f') ) ! 60: ! 61: /* ! 62: * tokens consist of any printable charcacter except comma, equal, or ! 63: * whitespace ! 64: */ ! 65: ! 66: #define ISTOKENCHAR(C) ((C>040) && (C<0177) && (C != ',') && (C != '=')) ! 67: ! 68: /* ! 69: * the parameter table defines the keywords that will be recognized by ! 70: * fGetParameterSet, and their default values if not specified. ! 71: */ ! 72: ! 73: typedef struct { ! 74: char *keyword; ! 75: char *defvalue; ! 76: char *value; ! 77: } parmtable; ! 78: ! 79: #define PARMCOUNT(P) (sizeof(P)/sizeof(P[0])) ! 80: ! 81: extern int LineNbr; /* current line # in parameter file */ ! 82: ! 83: extern char ErrorMsg[]; /* ! 84: * meaningful only when KV_SYNTAX, ! 85: * PS_SYNTAX, or PS_BAD_KEYWORD is ! 86: * returned by fGetKeywordValue or ! 87: * fGetParameterSet ! 88: */ ! 89: ! 90: extern char *strsave(); /* defined in this module */ ! 91: extern char *strutol(); /* defined in this module */ ! 92: ! 93: #endif /* KPARSE_DEFS */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.