/* * Copyright (c) 1995 Gunther Schadow. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include #include "names.h" #define T_UNDEFINED 0 #define T_VARCHAR2 1 #define T_NUMBER 2 #define T_INTEGER 3 #define T_FLOAT 4 #define T_STRING 5 #define T_VARNUM 6 #define T_PACKED_DECIMAL 7 #define T_LONG 8 #define T_VARCHAR 9 #define T_ROWID 11 #define T_DATE 12 #define T_VARRAW 15 #define T_RAW 23 #define T_LONG_RAW 24 #define T_UNSIGNED_INT 68 #define T_DISPLAY 91 #define T_LONG_VARCHAR 94 #define T_LONG_VARRAW 95 #define T_CHAR 96 #define T_CHARZ 97 #define T_MLSLABEL 106 #define NOTYPES 24 struct type_rec { u_int t_id; char *o_type; char *cb_type; char *c_type; bool has_size; }; extern type_rec types[NOTYPES]; struct decl_rec { type_rec *type; char *name; size_t size; struct decl_rec *next; }; type_rec *type_lookup(const char* data_type); decl_rec *make_decl(const char *owner, const char *name); void remove_decl(struct decl_rec* p); void make_class(const char *owner, const char *name, const char *type, const struct decl_rec*); void output_interface(const char *owner, char *name, const char *type, const struct decl_rec *decl); void output_inline(const char *owner, char *name, const char *type, const struct decl_rec *decl); void output_definition(const char *owner, char *name, const char *type, const struct decl_rec *decl);