![]() |
|
|||
0001 /** 0002 * @brief Commons for build tools 0003 * 0004 * @file buildtools.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-2018, Mavimax, Ltd. All Rights Reserved. 0010 * This software is released under one of the following licenses: 0011 * AGPL or Mavimax's license for commercial use. 0012 * ----------------------------------------------------------------------------- 0013 * AGPL license: 0014 * 0015 * This program is free software; you can redistribute it and/or modify it under 0016 * the terms of the GNU Affero General Public License, version 3 as published 0017 * by the Free Software Foundation; 0018 * 0019 * This program is distributed in the hope that it will be useful, but WITHOUT ANY 0020 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 0021 * PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3 0022 * for more details. 0023 * 0024 * You should have received a copy of the GNU Affero General Public License along 0025 * with this program; if not, write to the Free Software Foundation, Inc., 0026 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 0027 * 0028 * ----------------------------------------------------------------------------- 0029 * A commercial use license is available from Mavimax, Ltd 0030 * contact@mavimax.com 0031 * ----------------------------------------------------------------------------- 0032 */ 0033 #ifndef BUILDTOOLS_H_ 0034 #define BUILDTOOLS_H_ 0035 /*------------------------------Includes--------------------------------------*/ 0036 #include <utlist.h> 0037 /*------------------------------Externs---------------------------------------*/ 0038 /*------------------------------Macros----------------------------------------*/ 0039 0040 #define NDRX_RMNAME_MAX 128 0041 0042 #define COMPILE_SRV 1 /**< Building the server process */ 0043 #define COMPILE_CLT 2 /**< Building client process */ 0044 #define COMPILE_TMS 3 /**< Building transaction manager */ 0045 /*------------------------------Enums-----------------------------------------*/ 0046 /*------------------------------Typedefs--------------------------------------*/ 0047 /** 0048 * List of Function and Service names 0049 */ 0050 typedef struct bs_svcnm_lst bs_svcnm_lst_t; 0051 struct bs_svcnm_lst 0052 { 0053 char svcnm[XATMI_SERVICE_NAME_LENGTH+1]; /**< service name */ 0054 char funcnm[128+1]; /**< function name */ 0055 int funcreg; /**< register function with out the name */ 0056 EX_hash_handle hh; /**< makes this structure hashable */ 0057 }; 0058 0059 /** 0060 * Resource manager definition from $NDRX_HOME/udataobj/RM 0061 */ 0062 typedef struct ndrx_rm_def ndrx_rm_def_t; 0063 struct ndrx_rm_def 0064 { 0065 char rmname[NDRX_RMNAME_MAX+1]; 0066 char structname[NDRX_RMNAME_MAX+1]; 0067 char libnames[NDRX_BPATH_MAX+1]; 0068 0069 EX_hash_handle hh; /**< makes this structure hashable */ 0070 }; 0071 /*------------------------------Globals---------------------------------------*/ 0072 /*------------------------------Statics---------------------------------------*/ 0073 /*------------------------------Prototypes------------------------------------*/ 0074 extern int ndrx_buildsrv_generate_code(FILE **f, char *cfile, int thread_option, 0075 bs_svcnm_lst_t *p_svcnm_lst, 0076 bs_svcnm_lst_t *p_funcnm_lst, 0077 ndrx_rm_def_t *p_rmdef, int nomain); 0078 0079 extern int ndrx_buildclt_generate_code(FILE **f, char *cfile, ndrx_rm_def_t *p_rmdef); 0080 0081 extern int ndrx_compile_c(int buildmode, int verbose, char *cfile, char *ofile, 0082 char *firstfiles, char *lastfiles, ndrx_rm_def_t *p_rmdef); 0083 0084 extern int ndrx_get_rm_name(char *rm_name, ndrx_rm_def_t *p_rmdef); 0085 0086 #endif /* BUILDTOOS_H_ */ 0087 0088 /* 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 |
![]() ![]() |