[BACK]Return to chrdef.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / mg

Annotation of src/usr.bin/mg/chrdef.h, Revision 1.7

1.7     ! kjell       1: /*     $OpenBSD: chrdef.h,v 1.6 2005/04/03 02:09:28 db Exp $   */
        !             2:
        !             3: /* This file is in the public domain. */
1.3       niklas      4:
1.1       deraadt     5: /*
1.2       millert     6:  * sys/default/chardef.h: character set specific #defines for Mg 2a
1.1       deraadt     7:  * Warning: System specific ones exist
                      8:  */
                      9:
                     10: /*
1.6       db         11:  * Casting should be at least as efficient as anding with 0xff,
1.1       deraadt    12:  * and won't have the size problems.  Override in sysdef.h if no
                     13:  * unsigned char type.
                     14:  */
                     15: #define        CHARMASK(c)     ((unsigned char) (c))
                     16:
                     17: /*
                     18:  * These flags, and the macros below them,
                     19:  * make up a do-it-yourself set of "ctype" macros that
                     20:  * understand the DEC multinational set, and let me ask
                     21:  * a slightly different set of questions.
                     22:  */
1.4       vincent    23: #define _MG_W  0x01            /* Word.                         */
                     24: #define _MG_U  0x02            /* Upper case letter.            */
                     25: #define _MG_L  0x04            /* Lower case letter.            */
                     26: #define _MG_C  0x08            /* Control.                      */
                     27: #define _MG_P  0x10            /* end of sentence punctuation   */
                     28: #define        _MG_D   0x20            /* is decimal digit              */
1.1       deraadt    29:
1.4       vincent    30: #define ISWORD(c)      ((cinfo[CHARMASK(c)]&_MG_W)!=0)
                     31: #define ISCTRL(c)      ((cinfo[CHARMASK(c)]&_MG_C)!=0)
                     32: #define ISUPPER(c)     ((cinfo[CHARMASK(c)]&_MG_U)!=0)
                     33: #define ISLOWER(c)     ((cinfo[CHARMASK(c)]&_MG_L)!=0)
                     34: #define ISEOSP(c)      ((cinfo[CHARMASK(c)]&_MG_P)!=0)
                     35: #define        ISDIGIT(c)      ((cinfo[CHARMASK(c)]&_MG_D)!=0)
1.1       deraadt    36: #define TOUPPER(c)     ((c)-0x20)
                     37: #define TOLOWER(c)     ((c)+0x20)
                     38:
                     39: /*
1.2       millert    40:  * Generally useful thing for chars
1.1       deraadt    41:  */
                     42: #define CCHR(x)                ((x) ^ 0x40)    /* CCHR('?') == DEL */
                     43:
                     44: #ifndef        METACH
1.2       millert    45: #define        METACH          CCHR('[')
1.1       deraadt    46: #endif
                     47:
1.2       millert    48: #ifdef XKEYS
                     49: #define        K00             256
                     50: #define        K01             257
                     51: #define        K02             258
                     52: #define        K03             259
                     53: #define        K04             260
                     54: #define        K05             261
                     55: #define        K06             262
                     56: #define        K07             263
                     57: #define        K08             264
                     58: #define        K09             265
                     59: #define        K0A             266
                     60: #define        K0B             267
                     61: #define        K0C             268
                     62: #define        K0D             269
                     63: #define        K0E             270
                     64: #define        K0F             271
                     65: #define        K10             272
                     66: #define        K11             273
                     67: #define        K12             274
                     68: #define        K13             275
                     69: #define        K14             276
                     70: #define        K15             277
                     71: #define        K16             278
                     72: #define        K17             279
                     73: #define        K18             280
                     74: #define        K19             281
                     75: #define        K1A             282
                     76: #define        K1B             283
                     77: #define        K1C             284
                     78: #define        K1D             285
                     79: #define        K1E             286
                     80: #define        K1F             287
1.1       deraadt    81: #endif