2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
20 * compiler/back_ends/c++_gen/gen_code.h
22 * Copyright (C) 1991, 1992 Michael Sample
23 * and the University of British Columbia
25 * This program is free software; you can redistribute it and/or modify
26 * it under the terms of the GNU General Public License as published by
27 * the Free Software Foundation; either version 2 of the License, or
28 * (at your option) any later version.
30 * $Header: /cvs/Darwin/Security/SecuritySNACCRuntime/compiler/back-ends/c++-gen/gen-code.h,v 1.1.1.1 2001/05/18 23:14:09 mb Exp $
31 * $Log: gen-code.h,v $
32 * Revision 1.1.1.1 2001/05/18 23:14:09 mb
33 * Move from private repository to open source repository
35 * Revision 1.2 2001/05/05 00:59:27 rmurphy
36 * Adding darwin license headers
38 * Revision 1.1.1.1 1999/03/16 18:06:40 aram
39 * Originals from SMIME Free Library.
41 * Revision 1.6 1997/02/16 15:14:10 rj
42 * made return *this after calling abort()'' a compile time option.
44 * Revision 1.5 1995/09/07 19:18:25 rj
45 * boolean genMeta changed to enum type MetaNameStyle
47 * Revision 1.4 1995/08/17 15:00:08 rj
48 * the PDU flag belongs to the metacode, not only to the tcl interface. (type and variable named adjusted)
50 * Revision 1.3 1995/07/27 10:53:03 rj
51 * file name has been shortened for redundant part: c++-gen/gen-c++-code -> c++-gen/gen-code.
53 * changed `_' to `-' in file names.
55 * Revision 1.2 1994/10/08 03:47:55 rj
56 * since i was still irritated by cpp standing for c++ and not the C preprocessor, i renamed them to cxx (which is one known suffix for C++ source files). since the standard #define is __cplusplus, cplusplus would have been the more obvious choice, but it is a little too long.
58 * Revision 1.1 1994/08/28 09:48:04 rj
59 * first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.
63 void PrintCxxCode
PROTO ((FILE *src
, FILE *hdr
, if_IBM_ENC (FILE *dbsrc COMMA
FILE *dbhdr COMMA
) if_META (MetaNameStyle genMeta COMMA
const Meta
*meta COMMA MetaPDU
*metapdus COMMA
) ModuleList
*mods
, Module
*m
, CxxRules
*r
, long int longJmpVal
, int printTypes
, int printValues
, int printEncoders
, int printDecoders
, int printPrinters
, int printFree
, if_TCL (int printTcl COMMA
) int novolatilefuncs
));