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

Annotation of src/usr.bin/file/names.h, Revision 1.1

1.1     ! deraadt     1: /*
        !             2:  * Names.h - names and types used by ascmagic in file(1).
        !             3:  * These tokens are here because they can appear anywhere in
        !             4:  * the first HOWMANY bytes, while tokens in /etc/magic must
        !             5:  * appear at fixed offsets into the file. Don't make HOWMANY
        !             6:  * too high unless you have a very fast CPU.
        !             7:  *
        !             8:  * Copyright (c) Ian F. Darwin, 1987.
        !             9:  * Written by Ian F. Darwin.
        !            10:  *
        !            11:  * See LEGAL.NOTICE
        !            12:  *
        !            13:  * $Id: names.h,v 1.4 1995/04/28 19:23:56 christos Exp $
        !            14:  */
        !            15:
        !            16: /* these types are used to index the table 'types': keep em in sync! */
        !            17: #define L_C    0               /* first and foremost on UNIX */
        !            18: #define        L_FORT  1               /* the oldest one */
        !            19: #define L_MAKE 2               /* Makefiles */
        !            20: #define L_PLI  3               /* PL/1 */
        !            21: #define L_MACH 4               /* some kinda assembler */
        !            22: #define L_ENG  5               /* English */
        !            23: #define        L_PAS   6               /* Pascal */
        !            24: #define        L_MAIL  7               /* Electronic mail */
        !            25: #define        L_NEWS  8               /* Usenet Netnews */
        !            26:
        !            27: static char *types[] = {
        !            28:        "C program text",
        !            29:        "FORTRAN program text",
        !            30:        "make commands text" ,
        !            31:        "PL/1 program text",
        !            32:        "assembler program text",
        !            33:        "English text",
        !            34:        "Pascal program text",
        !            35:        "mail text",
        !            36:        "news text",
        !            37:        "can't happen error on names.h/types",
        !            38:        0};
        !            39:
        !            40: static struct names {
        !            41:        char *name;
        !            42:        short type;
        !            43: } names[] = {
        !            44:        /* These must be sorted by eye for optimal hit rate */
        !            45:        /* Add to this list only after substantial meditation */
        !            46:        {"/*",          L_C},   /* must precede "The", "the", etc. */
        !            47:        {"#include",    L_C},
        !            48:        {"char",        L_C},
        !            49:        {"The",         L_ENG},
        !            50:        {"the",         L_ENG},
        !            51:        {"double",      L_C},
        !            52:        {"extern",      L_C},
        !            53:        {"float",       L_C},
        !            54:        {"real",        L_C},
        !            55:        {"struct",      L_C},
        !            56:        {"union",       L_C},
        !            57:        {"CFLAGS",      L_MAKE},
        !            58:        {"LDFLAGS",     L_MAKE},
        !            59:        {"all:",        L_MAKE},
        !            60:        {".PRECIOUS",   L_MAKE},
        !            61: /* Too many files of text have these words in them.  Find another way
        !            62:  * to recognize Fortrash.
        !            63:  */
        !            64: #ifdef NOTDEF
        !            65:        {"subroutine",  L_FORT},
        !            66:        {"function",    L_FORT},
        !            67:        {"block",       L_FORT},
        !            68:        {"common",      L_FORT},
        !            69:        {"dimension",   L_FORT},
        !            70:        {"integer",     L_FORT},
        !            71:        {"data",        L_FORT},
        !            72: #endif /*NOTDEF*/
        !            73:        {".ascii",      L_MACH},
        !            74:        {".asciiz",     L_MACH},
        !            75:        {".byte",       L_MACH},
        !            76:        {".even",       L_MACH},
        !            77:        {".globl",      L_MACH},
        !            78:        {".text",       L_MACH},
        !            79:        {"clr",         L_MACH},
        !            80:        {"(input,",     L_PAS},
        !            81:        {"dcl",         L_PLI},
        !            82:        {"Received:",   L_MAIL},
        !            83:        {">From",       L_MAIL},
        !            84:        {"Return-Path:",L_MAIL},
        !            85:        {"Cc:",         L_MAIL},
        !            86:        {"Newsgroups:", L_NEWS},
        !            87:        {"Path:",       L_NEWS},
        !            88:        {"Organization:",L_NEWS},
        !            89:        {NULL,          0}
        !            90: };
        !            91: #define NNAMES ((sizeof(names)/sizeof(struct names)) - 1)