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

Annotation of src/usr.bin/lex/tables.h, Revision 1.1

1.1     ! tedu        1: /* $OpenBSD$ */
        !             2:
        !             3: /*  tables.h - tables serialization code
        !             4:  *
        !             5:  *  Copyright (c) 1990 The Regents of the University of California.
        !             6:  *  All rights reserved.
        !             7:  *
        !             8:  *  This code is derived from software contributed to Berkeley by
        !             9:  *  Vern Paxson.
        !            10:  *
        !            11:  *  The United States Government has rights in this work pursuant
        !            12:  *  to contract no. DE-AC03-76SF00098 between the United States
        !            13:  *  Department of Energy and the University of California.
        !            14:  *
        !            15:  *  This file is part of flex.
        !            16:  *
        !            17:  *  Redistribution and use in source and binary forms, with or without
        !            18:  *  modification, are permitted provided that the following conditions
        !            19:  *  are met:
        !            20:  *
        !            21:  *  1. Redistributions of source code must retain the above copyright
        !            22:  *     notice, this list of conditions and the following disclaimer.
        !            23:  *  2. Redistributions in binary form must reproduce the above copyright
        !            24:  *     notice, this list of conditions and the following disclaimer in the
        !            25:  *     documentation and/or other materials provided with the distribution.
        !            26:  *
        !            27:  *  Neither the name of the University nor the names of its contributors
        !            28:  *  may be used to endorse or promote products derived from this software
        !            29:  *  without specific prior written permission.
        !            30:  *
        !            31:  *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            32:  *  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            33:  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        !            34:  *  PURPOSE.
        !            35:  */
        !            36: 
        !            37: #ifndef TABLES_H
        !            38: #define TABLES_H
        !            39:
        !            40: #ifdef __cplusplus
        !            41: /* *INDENT-OFF* */
        !            42: extern  "C" {
        !            43: /* *INDENT-ON* */
        !            44: #endif
        !            45:
        !            46: /* Tables serialization API declarations. */
        !            47: #include "tables_shared.h"
        !            48: struct yytbl_writer {
        !            49:        FILE   *out;
        !            50:        flex_uint32_t total_written;
        !            51:                            /**< bytes written so far */
        !            52:        fpos_t  th_ssize_pos;
        !            53:                            /**< position of th_ssize */
        !            54: };
        !            55:
        !            56: /* These are used by main.c, gen.c, etc.
        !            57:  * tablesext - if true, create external tables
        !            58:  * tablesfilename - filename for external tables
        !            59:  * tablesname - name that goes in serialized data, e.g., "yytables"
        !            60:  * tableswr -  writer for external tables
        !            61:  * tablesverify - true if tables-verify option specified
        !            62:  * gentables - true if we should spit out the normal C tables
        !            63:  */
        !            64: extern bool tablesext, tablesverify,gentables;
        !            65: extern char *tablesfilename, *tablesname;
        !            66: extern struct yytbl_writer tableswr;
        !            67:
        !            68: int     yytbl_writer_init (struct yytbl_writer *, FILE *);
        !            69: int     yytbl_hdr_init (struct yytbl_hdr *th, const char *version_str,
        !            70:                        const char *name);
        !            71: int     yytbl_data_init (struct yytbl_data *tbl, enum yytbl_id id);
        !            72: int     yytbl_data_destroy (struct yytbl_data *td);
        !            73: int     yytbl_hdr_fwrite (struct yytbl_writer *wr,
        !            74:                          const struct yytbl_hdr *th);
        !            75: int     yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td);
        !            76: void    yytbl_data_compress (struct yytbl_data *tbl);
        !            77: struct yytbl_data *mkftbl (void);
        !            78:
        !            79:
        !            80: #ifdef __cplusplus
        !            81: /* *INDENT-OFF* */
        !            82: }
        !            83: /* *INDENT-ON* */
        !            84: #endif
        !            85: #endif
        !            86:
        !            87: /* vim:set expandtab cindent tabstop=4 softtabstop=4 shiftwidth=4 textwidth=0: */