Annotation of 43BSDReno/kerberosIV/include/kparse.h, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.