|
||||
0001 /** 0002 * @brief UBF Header generator 0003 * 0004 * @file mkfldhdr.h 0005 */ 0006 /* ----------------------------------------------------------------------------- 0007 * Enduro/X Middleware Platform for Distributed Transaction Processing 0008 * Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved. 0009 * Copyright (C) 2017-2023, Mavimax, Ltd. All Rights Reserved. 0010 * This software is released under one of the following licenses: 0011 * AGPL (with Java and Go exceptions) or Mavimax's license for commercial use. 0012 * See LICENSE file for full text. 0013 * ----------------------------------------------------------------------------- 0014 * AGPL license: 0015 * 0016 * This program is free software; you can redistribute it and/or modify it under 0017 * the terms of the GNU Affero General Public License, version 3 as published 0018 * by the Free Software Foundation; 0019 * 0020 * This program is distributed in the hope that it will be useful, but WITHOUT ANY 0021 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 0022 * PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3 0023 * for more details. 0024 * 0025 * You should have received a copy of the GNU Affero General Public License along 0026 * with this program; if not, write to the Free Software Foundation, Inc., 0027 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 0028 * 0029 * ----------------------------------------------------------------------------- 0030 * A commercial use license is available from Mavimax, Ltd 0031 * contact@mavimax.com 0032 * ----------------------------------------------------------------------------- 0033 */ 0034 #ifndef MKFLDHDR_H_ 0035 #define MKFLDHDR_H_ 0036 0037 /*------------------------------Includes--------------------------------------*/ 0038 #include <fdatatype.h> 0039 /*------------------------------Externs---------------------------------------*/ 0040 extern int G_langmode; /* Programming Language mode */ 0041 extern char G_privdata[]; 0042 extern char *G_output_dir; 0043 extern FILE *G_outf; 0044 extern char G_active_file[]; 0045 /*------------------------------Macros----------------------------------------*/ 0046 /*------------------------------Enums-----------------------------------------*/ 0047 /*------------------------------Typedefs--------------------------------------*/ 0048 /* 0049 * Typed buffer descriptor table 0050 */ 0051 typedef struct renderer_descr renderer_descr_t; 0052 struct renderer_descr 0053 { 0054 int lang_mode; 0055 void (*get_fullname)(char *data); /* Get the full file name (with path) */ 0056 int (*put_text_line) (char *text); /* callback for putting text line */ 0057 int (*put_def_line) (UBF_field_def_t *def); /* callback for writting definition */ 0058 int (*put_got_base_line) (char *base); /* callback for base line */ 0059 int (*file_open) (char *fname); /* event when file is open for write */ 0060 int (*file_close) (char *fname); /* event when file is closed (at finish) */ 0061 }; 0062 /*------------------------------Globals---------------------------------------*/ 0063 /*------------------------------Statics---------------------------------------*/ 0064 /*------------------------------Prototypes------------------------------------*/ 0065 0066 /* C lang: */ 0067 extern void c_get_fullname(char *data); 0068 extern int c_put_text_line (char *text); 0069 extern int c_put_got_base_line(char *base); 0070 extern int c_put_def_line (UBF_field_def_t *def); 0071 extern int c_file_open (char *fname); 0072 extern int c_file_close (char *fname); 0073 0074 /* GO lang: */ 0075 extern void go_get_fullname(char *data); 0076 extern int go_put_text_line (char *text); 0077 extern int go_put_got_base_line(char *base); 0078 extern int go_put_def_line (UBF_field_def_t *def); 0079 extern int go_file_open (char *fname); 0080 extern int go_file_close (char *fname); 0081 0082 /* Java lang: */ 0083 extern void java_get_fullname(char *data); 0084 extern int java_put_text_line (char *text); 0085 extern int java_put_got_base_line(char *base); 0086 extern int java_put_def_line (UBF_field_def_t *def); 0087 extern int java_file_open (char *fname); 0088 extern int java_file_close (char *fname); 0089 0090 /* Python lang: */ 0091 extern void python_get_fullname(char *data); 0092 extern int python_put_text_line (char *text); 0093 extern int python_put_got_base_line(char *base); 0094 extern int python_put_def_line (UBF_field_def_t *def); 0095 extern int python_file_open (char *fname); 0096 extern int python_file_close (char *fname); 0097 0098 #endif /* MKFLDHDR_H_ */ 0099 /* vim: set ts=4 sw=4 et smartindent: */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |