![]() |
|
|||
0001 /** 0002 * @brief UBF library, field table handling routines (i.e. .fd files) 0003 * 0004 * @file fieldtable.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 FIELDTABLE_H 0035 #define FIELDTABLE_H 0036 0037 #ifdef __cplusplus 0038 extern "C" { 0039 #endif 0040 /*---------------------------Includes-----------------------------------*/ 0041 #include <fdatatype.h> 0042 /*---------------------------Externs------------------------------------*/ 0043 /*---------------------------Macros-------------------------------------*/ 0044 /*---------------------------Enums--------------------------------------*/ 0045 /*---------------------------Typedefs-----------------------------------*/ 0046 /* 0047 * Hash table entries for data type descriptors 0048 * It keeps the double linked list in case 0049 */ 0050 typedef struct ft_node ft_node_t; 0051 0052 struct ft_node 0053 { 0054 UBF_field_def_t def; 0055 /* part of the hash */ 0056 ft_node_t *next; 0057 }; 0058 /*---------------------------Globals------------------------------------*/ 0059 /*---------------------------Statics------------------------------------*/ 0060 /*---------------------------Prototypes---------------------------------*/ 0061 extern NDRX_API UBF_field_def_t * ndrx_fldnmhash_get(char *key); 0062 extern NDRX_API UBF_field_def_t * _bfldidhash_get(BFLDID id); 0063 extern NDRX_API int ndrx_prepare_type_tables(void); 0064 /* Internal version of Bfname (for debug, etc..) */ 0065 extern NDRX_API char * ndrx_Bfname_int (BFLDID bfldid); 0066 extern NDRX_API BFLDID ndrx_Bfldid_int (char *fldnm); 0067 0068 extern NDRX_API int _ubf_loader_init(void); 0069 0070 extern NDRX_API int ndrx_ubf_load_def_file(FILE *fp, 0071 int (*put_text_line) (char *text), /* callback for putting text line */ 0072 int (*put_def_line) (UBF_field_def_t *def), /* callback for writting defintion */ 0073 int (*put_got_base_line) (char *base), /* Callback for base line */ 0074 char *fname, 0075 int check_dup 0076 ); 0077 #ifdef __cplusplus 0078 } 0079 #endif 0080 0081 #endif /* FIELDTABLE_H */ 0082 0083 /* 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 |
![]() ![]() |