1.由于郭海龙修改了提供的库,导致增加了大量南瑞的头文件, 所以新建include目录用于存放所有的南瑞提供的同文件。 2. 修复sys_nicmonitor进程重启后,调用接口告警问题。 3. 增加USER_NUSP宏,用于nusp用户。 4. 由于新增了许多头文件且需交接给郭海龙,所以独立了一版2.0版本以用于区分。 修改: code/README 新文件: code/dep/42/dotconf#1.0.13-1.pkg.tar.gz 新文件: code/dep/42/run.sh 新文件: code/dep/90/libdotconf-dev_1.3-0.2_amd64.deb 新文件: code/dep/90/libdotconf-dev_1.3-0.2_arm64.deb 新文件: code/dep/90/libdotconf0_1.3-0.2_amd64.deb 新文件: code/dep/90/libdotconf0_1.3-0.2_arm64.deb 新文件: code/dep/90/run.sh 新文件: code/dep/libproc_common.so 新文件: code/dep/old/libman.so 新文件: code/dep/proc_common.cpp 新文件: code/sys_nicmonitor-code.tar.gz 修改: code/sys_nicmonitor/Makefile 修改: code/sys_nicmonitor/README 新文件: code/sys_nicmonitor/include/common_types.h 新文件: code/sys_nicmonitor/include/d5000_err.h 新文件: code/sys_nicmonitor/include/db_api/DeleteRecorder.h 新文件: code/sys_nicmonitor/include/db_api/codb_net.h 新文件: code/sys_nicmonitor/include/db_api/mc_rtdb_m.h 新文件: code/sys_nicmonitor/include/db_api/mc_rtdb_mng.h 新文件: code/sys_nicmonitor/include/db_api/odb_apinet.h 新文件: code/sys_nicmonitor/include/db_api/odb_apinet_rtdb_key.h 新文件: code/sys_nicmonitor/include/db_api/odb_apiop.h 新文件: code/sys_nicmonitor/include/db_api/odb_apiop.h.old 新文件: code/sys_nicmonitor/include/db_api/odb_app2id.h 新文件: code/sys_nicmonitor/include/db_api/odb_autolock.h 新文件: code/sys_nicmonitor/include/db_api/odb_baseindex.h 新文件: code/sys_nicmonitor/include/db_api/odb_ckeymanager.h 新文件: code/sys_nicmonitor/include/db_api/odb_common.h 新文件: code/sys_nicmonitor/include/db_api/odb_define.h 新文件: code/sys_nicmonitor/include/db_api/odb_double_overflow_hashindex.h 新文件: code/sys_nicmonitor/include/db_api/odb_field.h 新文件: code/sys_nicmonitor/include/db_api/odb_hashindex.h 新文件: code/sys_nicmonitor/include/db_api/odb_hashpk.h 新文件: code/sys_nicmonitor/include/db_api/odb_intel_ptr.h 新文件: code/sys_nicmonitor/include/db_api/odb_lock.h 新文件: code/sys_nicmonitor/include/db_api/odb_net.h 新文件: code/sys_nicmonitor/include/db_api/odb_net_m.h 新文件: code/sys_nicmonitor/include/db_api/odb_netfactory.h 新文件: code/sys_nicmonitor/include/db_api/odb_nooverflow_pk.h 新文件: code/sys_nicmonitor/include/db_api/odb_orbmgr.h 新文件: code/sys_nicmonitor/include/db_api/odb_profile.h 新文件: code/sys_nicmonitor/include/db_api/odb_prv_struct.h 新文件: code/sys_nicmonitor/include/db_api/odb_public.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbbase.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbfactory.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbop.h 新文件: code/sys_nicmonitor/include/db_api/odb_rtdbtable.h 新文件: code/sys_nicmonitor/include/db_api/odb_struct.h 新文件: code/sys_nicmonitor/include/db_api/odb_system.h 新文件: code/sys_nicmonitor/include/db_api/odb_table.h 新文件: code/sys_nicmonitor/include/db_api/odb_tablebase.h 新文件: code/sys_nicmonitor/include/db_api/odb_tablemgr.h 新文件: code/sys_nicmonitor/include/db_api/odb_tablenet.h 新文件: code/sys_nicmonitor/include/db_api/odb_tableop.h 新文件: code/sys_nicmonitor/include/db_api/odb_where.h 新文件: code/sys_nicmonitor/include/db_api/pub_buf.h 新文件: code/sys_nicmonitor/include/db_api/rtdb_graph_name_list.h 新文件: code/sys_nicmonitor/include/db_api/server2proto.h 新文件: code/sys_nicmonitor/include/db_api/tab2idx.h 新文件: code/sys_nicmonitor/include/db_api/vl_get_data.h 新文件: code/sys_nicmonitor/include/db_api/vl_struct.h 新文件: code/sys_nicmonitor/include/db_api/vl_struct_m.cpp 新文件: code/sys_nicmonitor/include/db_api/vl_struct_m.h 新文件: code/sys_nicmonitor/include/db_com/CAppNo.h 新文件: code/sys_nicmonitor/include/db_com/CCharArray.h 新文件: code/sys_nicmonitor/include/db_com/CDataStream.h 新文件: code/sys_nicmonitor/include/db_com/CDbCommitClient.h 新文件: code/sys_nicmonitor/include/db_com/CDbMonitorClient.h 新文件: code/sys_nicmonitor/include/db_com/CDbMonitorLocal.h 新文件: code/sys_nicmonitor/include/db_com/CDbMonitorShm.h 新文件: code/sys_nicmonitor/include/db_com/CDbRepSet.h 新文件: code/sys_nicmonitor/include/db_com/CDbSem.h 新文件: code/sys_nicmonitor/include/db_com/CDbSemUse.h 新文件: code/sys_nicmonitor/include/db_com/CDbShm.h 新文件: code/sys_nicmonitor/include/db_com/CDyCfgLocal.h 新文件: code/sys_nicmonitor/include/db_com/CDyCommitClient.h 新文件: code/sys_nicmonitor/include/db_com/CDyMonitorClient.h 新文件: code/sys_nicmonitor/include/db_com/CDyMonitorLocal.h 新文件: code/sys_nicmonitor/include/db_com/CDyMonitorShm.h 新文件: code/sys_nicmonitor/include/db_com/CDySem.h 新文件: code/sys_nicmonitor/include/db_com/CDySemUse.h 新文件: code/sys_nicmonitor/include/db_com/CDyShm.h 新文件: code/sys_nicmonitor/include/db_com/CDyTagShmInfo.h 新文件: code/sys_nicmonitor/include/db_com/CErrorLog.h 新文件: code/sys_nicmonitor/include/db_com/CFindFile.h 新文件: code/sys_nicmonitor/include/db_com/CPrecTime.h 新文件: code/sys_nicmonitor/include/db_com/CRecordSet.h 新文件: code/sys_nicmonitor/include/db_com/CRedisAccess.h 新文件: code/sys_nicmonitor/include/db_com/CRepSet.h 新文件: code/sys_nicmonitor/include/db_com/CSaveReCommitSql.h 新文件: code/sys_nicmonitor/include/db_com/CSqlResultAlign.h 新文件: code/sys_nicmonitor/include/db_com/CSqlResultAlignClient.h 新文件: code/sys_nicmonitor/include/db_com/CSqlResultAlignClient2.h 新文件: code/sys_nicmonitor/include/db_com/DBAccess.h 新文件: code/sys_nicmonitor/include/db_com/DBCipher.h 新文件: code/sys_nicmonitor/include/db_com/DBConnectPool.h 新文件: code/sys_nicmonitor/include/db_com/DbFileNetIf.h 新文件: code/sys_nicmonitor/include/db_com/Hbase.h 新文件: code/sys_nicmonitor/include/db_com/Hbase_constants.h 新文件: code/sys_nicmonitor/include/db_com/Hbase_types.h 新文件: code/sys_nicmonitor/include/db_com/MyMutex.h 新文件: code/sys_nicmonitor/include/db_com/cross_region_sync_client.h 新文件: code/sys_nicmonitor/include/db_com/database_rep_m.h 新文件: code/sys_nicmonitor/include/db_com/db_commit_define.h 新文件: code/sys_nicmonitor/include/db_com/db_commit_m.h 新文件: code/sys_nicmonitor/include/db_com/db_error_define.h 新文件: code/sys_nicmonitor/include/db_com/db_extern.h 新文件: code/sys_nicmonitor/include/db_com/db_global.h 新文件: code/sys_nicmonitor/include/db_com/db_micro_define.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_define.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_define.h.old 新文件: code/sys_nicmonitor/include/db_com/db_monitor_extern.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_global.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_m.h 新文件: code/sys_nicmonitor/include/db_com/db_monitor_m.h.old 新文件: code/sys_nicmonitor/include/db_com/db_rep_lib_define.h 新文件: code/sys_nicmonitor/include/db_com/db_stat_m.h 新文件: code/sys_nicmonitor/include/db_com/db_stat_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/ds_log.h 新文件: code/sys_nicmonitor/include/db_com/dy_commit_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_monitor_define.h 新文件: code/sys_nicmonitor/include/db_com/dy_monitor_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_public_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_sample_define_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_sample_define_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/dy_stat_m.h 新文件: code/sys_nicmonitor/include/db_com/dy_stat_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/hiredis.h 新文件: code/sys_nicmonitor/include/db_com/interpreter_define.h 新文件: code/sys_nicmonitor/include/db_com/interpreter_struct.h 新文件: code/sys_nicmonitor/include/db_com/lexical_anls.h 新文件: code/sys_nicmonitor/include/db_com/public_m.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_m.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_pi.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_pi_m.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/query_sample_service_pi_interface.h 新文件: code/sys_nicmonitor/include/db_com/query_stat_m.h 新文件: code/sys_nicmonitor/include/db_com/query_stat_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/rdb_commit_client.h 新文件: code/sys_nicmonitor/include/db_com/rdb_commit_m.h 新文件: code/sys_nicmonitor/include/db_com/rdb_define.pb.h 新文件: code/sys_nicmonitor/include/db_com/read.h 新文件: code/sys_nicmonitor/include/db_com/rtdbkey_defs.h 新文件: code/sys_nicmonitor/include/db_com/sample_data_client_base.h 新文件: code/sys_nicmonitor/include/db_com/sample_data_m.h 新文件: code/sys_nicmonitor/include/db_com/sample_define_m.h 新文件: code/sys_nicmonitor/include/db_com/sample_define_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/sample_modify_m.h 新文件: code/sys_nicmonitor/include/db_com/sample_modify_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/sds.h 新文件: code/sys_nicmonitor/include/db_com/server_define.h 新文件: code/sys_nicmonitor/include/db_com/sheetdataclient.h 新文件: code/sys_nicmonitor/include/db_com/sheetdataclient.h0604 新文件: code/sys_nicmonitor/include/db_com/sql_sp_client_base.h 新文件: code/sys_nicmonitor/include/db_com/sql_sp_define.h 新文件: code/sys_nicmonitor/include/db_com/sql_sp_m.h 新文件: code/sys_nicmonitor/include/db_com/sql_sp_send_client_base.h 新文件: code/sys_nicmonitor/include/db_com/sql_syntax_anls.h 新文件: code/sys_nicmonitor/include/db_com/sql_to_cime.h 新文件: code/sys_nicmonitor/include/db_com/sqlite_access.h 新文件: code/sys_nicmonitor/include/db_com/sqlite_server_client.h 新文件: code/sys_nicmonitor/include/db_com/sqlite_srv_m.h 新文件: code/sys_nicmonitor/include/db_com/store_access_client.h 新文件: code/sys_nicmonitor/include/db_com/trigger_sample_m.h 新文件: code/sys_nicmonitor/include/db_com/trigger_sample_service_interface.h 新文件: code/sys_nicmonitor/include/db_com/wholepubtools.h 新文件: code/sys_nicmonitor/include/db_com/wholesampledata.h 新文件: code/sys_nicmonitor/include/db_com/wholesqlsp.h 新文件: code/sys_nicmonitor/include/log_api.h 新文件: code/sys_nicmonitor/include/log_define.h 新文件: code/sys_nicmonitor/include/logclient.h 新文件: code/sys_nicmonitor/include/port_def.h 新文件: code/sys_nicmonitor/include/proc_common.h 新文件: code/sys_nicmonitor/include/scn_common.h 新文件: code/sys_nicmonitor/include/sysadm/proc_define.h 新文件: code/sys_nicmonitor/include/sysadm/scn_define.h 新文件: code/sys_nicmonitor/include/system.h 修改: code/sys_nicmonitor/mnic.c 修改: code/sys_nicmonitor/nicinfo_shm.c 修改: code/sys_nicmonitor/test.c 修改: code/sys_nicmonitor/version.h 新文件: code/test/test_nic 新文件: code/test/test_nic.cpp 新文件: packages/sys_nicmonitor-2.0-linx90-aarch64-bin-d5000.tar.gz 新文件: packages/sys_nicmonitor-2.0-linx90-aarch64-bin-nusp.tar.gz 新文件: packages/sys_nicmonitor-2.0-linx90-x86_64-bin-d5000.tar.gz 新文件: packages/sys_nicmonitor-2.0-linx90-x86_64-bin-nusp.tar.gz 重命名: sys_nicmonitor-arm-bin.tar.gz -> packages/sys_nicmonitor-arm-bin.tar.gz 重命名: sys_nicmonitor-arm.tar.gz -> packages/sys_nicmonitor-arm.tar.gz 新文件: packages/sys_nicmonitor-mips64-bin.tar.gz 新文件: packages/sys_nicmonitor-mips64.tar.gz Signed-off-by: Wei, Jing <jwei@linx-info.com>
376 lines
11 KiB
C++
376 lines
11 KiB
C++
/*******************************************************************************
|
||
ModuleName: ODB Real Time Database management system
|
||
FileName: publics.h
|
||
DESCRIPTION: public define
|
||
FUNCTION LIST:
|
||
COMMENT: 操作相关结构定义 同odb_api_struct.h
|
||
History:
|
||
Date Version Modifier Activities
|
||
2002-09-01 1.0 modify
|
||
================================================================================
|
||
2002-09-01 1.0 created
|
||
*******************************************************************************/
|
||
|
||
#ifndef __ODB_PUBLIC_H__
|
||
#define __ODB_PUBLIC_H__
|
||
|
||
//公共头文件
|
||
#ifndef _WINDOWS64
|
||
#include <sys/types.h>
|
||
#include <sys/stat.h>
|
||
|
||
#include <ctype.h>
|
||
#include <string.h>
|
||
#include <stdlib.h>
|
||
#include <stdio.h>
|
||
|
||
#include <stdarg.h>
|
||
|
||
#include <fcntl.h>
|
||
#include <signal.h>
|
||
#include <errno.h>
|
||
|
||
#include <unistd.h>
|
||
|
||
#ifndef _HPUX
|
||
#include <pthread.h>
|
||
#else
|
||
#include <sys/pthread.h>
|
||
#endif
|
||
|
||
#include <dirent.h>
|
||
#include <sys/mman.h>
|
||
#include <sys/ipc.h>
|
||
#include <sys/sem.h>
|
||
#include <sys/shm.h>
|
||
#include <sys/time.h>
|
||
#include <sys/times.h>
|
||
|
||
#else
|
||
#include <winsock2.h>
|
||
#include <windows.h>
|
||
#include <direct.h>
|
||
#include <io.h>
|
||
#include <process.h>
|
||
#include <time.h>
|
||
#include <sys/timeb.h>
|
||
//#include <afxmt.h>
|
||
#endif
|
||
|
||
#include <string>
|
||
#include <vector>
|
||
#include <map>
|
||
#include <memory>
|
||
#include <algorithm>
|
||
#include <utility>
|
||
#include <iostream>
|
||
#include "ThreadKit/ThreadKit.h"
|
||
|
||
#ifndef __ODB_DEFINE_H__
|
||
#include "db_api/odb_define.h"
|
||
#endif
|
||
|
||
#include "db_api/odb_struct.h"
|
||
|
||
//namespace ODB
|
||
//{
|
||
struct TABLE_PARA
|
||
{
|
||
char table_name_eng[ENG_NAME_LEN];
|
||
char table_name_chn[CHN_NAME_LEN];
|
||
int key_len;
|
||
int subkey_num;
|
||
int record_number;
|
||
int record_size;
|
||
short field_sum;
|
||
unsigned char is_auto_generated; //key_generate_type
|
||
|
||
};
|
||
|
||
struct FIELD_PARA
|
||
{
|
||
int table_id; //表ID号 INT
|
||
short field_id; //域ID号 SHORT
|
||
short column_id; //域内部ID号 SHORT
|
||
char field_name_eng[ENG_NAME_LEN]; //域英文名 STRING(32)
|
||
char field_name_chn[CHN_NAME_LEN]; //域中文名 STRING(64)
|
||
short field_length; //数据长度 SHORT
|
||
unsigned char data_type; //数据类型 UCHAR
|
||
unsigned char is_keyword; //是否主键 UCHAR
|
||
unsigned char allow_null; //是否允许空值 UCHAR
|
||
|
||
int app_type; //应用类型 INT
|
||
unsigned char is_app_syn; //是否更新时全应用同步 UCHAR
|
||
unsigned char index_order_no; //检索器索引顺序号 UCHAR
|
||
unsigned char sort_order_no; //默认排序顺序号 UCHAR
|
||
|
||
// // // // //
|
||
unsigned char is_input; //是否允许输入 UCHAR
|
||
unsigned char is_display; //是否显示 UCHAR
|
||
short display_order_no; //显示顺序号 SHORT
|
||
unsigned char is_fix; //卷滚时是否固定 UCHAR
|
||
short display_length; //默认显示长度 SHORT
|
||
unsigned char display_precision; //小数显示精度 UCHAR
|
||
unsigned char align_type; //对齐方式 UCHAR
|
||
unsigned char display_type; //显示类型 UCHAR
|
||
char menu_name[MENU_NAME_LEN]; //菜单名 STRING(40)
|
||
|
||
unsigned char reference_flag; //数据引用类型 UCHAR
|
||
unsigned char reference_mode; //数据引用方式 UCHAR
|
||
int reference_table; //引用表名 INT
|
||
short reference_column; //引用域号 SHORT
|
||
unsigned char reference_display; //被引用时是否显示 UCHAR
|
||
|
||
char init_value[DEFAULT_VALUE_LEN]; //缺省值 STRING(20)
|
||
char min_value[DEFAULT_VALUE_LEN]; //最小值 STRING(20)
|
||
char max_value[DEFAULT_VALUE_LEN]; //最大值 STRING(20)
|
||
|
||
int column_special; //域特殊属性 INT
|
||
unsigned char auto_meas_type; //自动生成量测类型 UCHAR
|
||
short gen_array_dimension; //数组维数 SHORT
|
||
char gen_array_name[ARRAY_NAME_LEN]; //数组名称 STRING(32)
|
||
char column_description[DESCRIPTION_LEN]; //域描述信息 STRING(100)
|
||
|
||
unsigned char is_index; //
|
||
int offset; //added by RTDBMS
|
||
};
|
||
|
||
|
||
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
// for down load //
|
||
// //
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
|
||
/*============================================================================*/
|
||
|
||
struct STDB_CREAT_REQ
|
||
{
|
||
int app_no;
|
||
int table_no;
|
||
int table_version;
|
||
int field_sum; //short
|
||
#ifdef _APP_SYS_SUBSTATION
|
||
int bit_field_sum;
|
||
int vir_field_sum;
|
||
#endif
|
||
char table_name_eng[ENG_NAME_LEN];
|
||
char table_name_chn[CHN_NAME_LEN];
|
||
int record_num;
|
||
int record_sum;
|
||
int record_length; //short
|
||
|
||
unsigned char is_system_table;
|
||
unsigned char is_auto_generated; //key_generate_type;
|
||
unsigned char is_record_apped;
|
||
unsigned char is_record_lock;
|
||
unsigned char is_record_resp;
|
||
|
||
DB_MEDIA_T stdb_media; //no used
|
||
ACCESS_METHODS_T access_meth; //
|
||
int seq_field_no; //
|
||
char passwd[MAX_NAME_STRING_LEN]; //
|
||
|
||
|
||
int table_type; //for graph, etc
|
||
|
||
/******Added for index begin ************/
|
||
int pk_index_method;
|
||
int pk_storage_type;//主键存储方法,譬如共享内存或者文件映射内存。
|
||
int pk_mem_alloc_type;//主键内存分配方法,譬如带溢出HASH的分配方法;无溢出的HASH分配方法。
|
||
/******Added for index end**************/
|
||
|
||
int reserved_1;
|
||
int reserved_2;
|
||
int reserved_3;
|
||
int reserved_4;
|
||
int reserved_5;
|
||
int area_num;
|
||
int area_no[MAX_AREA_NUM];
|
||
char area_name[MAX_AREA_NUM][ENG_NAME_LEN];
|
||
int slice_flag;
|
||
};
|
||
|
||
struct FIELD_CREAT_REQ
|
||
{
|
||
int app_no; //app_type
|
||
short field_no;
|
||
short r_field_no;
|
||
short field_id;
|
||
short column_id;
|
||
short field_length;
|
||
#ifdef _APP_SYS_SUBSTATION
|
||
short is_bit_field;
|
||
#endif
|
||
char field_name_eng[ENG_NAME_LEN];
|
||
char field_name_chn[CHN_NAME_LEN];
|
||
|
||
int column_special;
|
||
int ref_tableno; //long reference_table;
|
||
short ref_fieldno; //short reference_column;
|
||
|
||
unsigned char reference_flag;
|
||
unsigned char reference_mode;
|
||
unsigned char reference_display;
|
||
|
||
unsigned char data_type;
|
||
unsigned char allow_null;
|
||
unsigned char is_keyword;
|
||
unsigned char display_type;
|
||
unsigned char is_index; //octet index_order_no;
|
||
unsigned char sort_order_no;
|
||
|
||
unsigned char is_app_syn;
|
||
unsigned char auto_meas_type;
|
||
|
||
char menu_name[MENU_NAME_LEN];
|
||
char default_asciival[DEFAULT_VALUE_LEN]; //init_value
|
||
char min_asciival[DEFAULT_VALUE_LEN]; //min_value
|
||
char max_asciival[DEFAULT_VALUE_LEN]; //max_value
|
||
|
||
|
||
int search_attribute; // 检索器的域特性 //Added 2003-09-01
|
||
int statics_attribute; // 统计的域特性
|
||
int reserved_1; // 系统保留
|
||
int reserved_2; // 系统保留
|
||
int reserved_3; // 系统保留
|
||
int reserved_4; // 系统保留
|
||
int reserved_5; // 系统保留
|
||
};
|
||
|
||
#ifdef _APP_SYS_SUBSTATION
|
||
struct VIR_FIELD_CREAT_REQ
|
||
{
|
||
short v_field_no; //rtdbms
|
||
short vr_field_no;
|
||
short r_field_no; //bit field no
|
||
short bit_no;
|
||
char vir_field_name_eng[ENG_NAME_LEN];
|
||
char vir_field_name_chn[CHN_NAME_LEN];
|
||
};
|
||
#endif
|
||
|
||
struct STDB_DELETE_REQ
|
||
{
|
||
int app_no;
|
||
int table_no;
|
||
char passwd[MAX_PASSWD_LEN];
|
||
};
|
||
|
||
|
||
//struct FIELD_TYPE
|
||
//{
|
||
// short field_no;
|
||
// short field_type; //data type for get; byte len for write
|
||
//};
|
||
|
||
struct FIELD_BASE_INFO
|
||
{
|
||
int offset;
|
||
int field_length;
|
||
short field_no;
|
||
unsigned char data_type;
|
||
unsigned char is_keyword;
|
||
};
|
||
|
||
|
||
#ifndef __i386
|
||
static char strFILE[100];
|
||
static int iLINE;
|
||
#endif
|
||
|
||
#ifndef __i386
|
||
// #define TRACE strFILE = __FILE__; iLINE = __LINE__; odb_trace
|
||
#define TRACE strcpy(strFILE, __FILE__); iLINE = __LINE__; printf("\t%s:%d-->",strFILE,iLINE); odb_trace
|
||
#else
|
||
#define TRACE(...) odb_trace(__FILE__, __LINE__, __VA_ARGS__)
|
||
#endif
|
||
|
||
#ifndef _WINDOWS64
|
||
#ifndef __i386
|
||
inline void odb_trace(const char *p,...)
|
||
{
|
||
#else
|
||
inline void odb_trace(const char *strFILE, const int iLINE, const char *p,...)
|
||
{
|
||
printf("\t%s:%d-->",strFILE,iLINE);
|
||
#endif
|
||
/*
|
||
#ifndef __i386
|
||
static char strFILE[100];
|
||
static int iLINE;
|
||
// #define TRACE strFILE = __FILE__; iLINE = __LINE__; odb_trace
|
||
#define TRACE strcpy(strFILE, __FILE__); iLINE = __LINE__; printf("\t%s:%d-->",strFILE,iLINE); odb_trace
|
||
inline void odb_trace(const char *p,...)
|
||
{
|
||
#else
|
||
#define TRACE(...) odb_trace(__FILE__, __LINE__, __VA_ARGS__)
|
||
inline void odb_trace(const char *strFILE, const int iLINE, const char *p,...)
|
||
{
|
||
printf("\t%s:%d-->",strFILE,iLINE);
|
||
#endif
|
||
*/
|
||
static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
|
||
va_list va;
|
||
va_start(va,p);
|
||
|
||
pthread_mutex_lock(&lock);
|
||
vfprintf(stdout,p,va);
|
||
fflush(stdout);
|
||
pthread_mutex_unlock(&lock);
|
||
va_end(va);
|
||
}
|
||
#else
|
||
inline void odb_trace(const char *p,...)
|
||
{
|
||
/*
|
||
//printf("\t%s:%d-->",strFILE,iLINE);
|
||
static CRITICAL_SECTION cs; //定义临界区
|
||
InitializeCriticalSection(&cs);//初始化临界区
|
||
|
||
va_list va;
|
||
va_start(va,p);
|
||
|
||
EnterCriticalSection(&cs);//加锁
|
||
vfprintf(stdout,p,va);
|
||
fflush(stdout);
|
||
LeaveCriticalSection(&cs);//解锁
|
||
va_end(va);
|
||
*/
|
||
//printf("\t%s:%d-->",strFILE,iLINE);
|
||
THREADKIT::Mutex g_mutex;
|
||
va_list va;
|
||
va_start(va,p);
|
||
|
||
{
|
||
THREADKIT::Guard<THREADKIT::Mutex> guard(g_mutex);
|
||
vfprintf(stdout,p,va);
|
||
fflush(stdout);
|
||
}
|
||
va_end(va);
|
||
|
||
}
|
||
|
||
#endif
|
||
|
||
class SecClock
|
||
{
|
||
public:
|
||
SecClock(int time_out):timer(time(NULL)),time_out(time_out){}
|
||
bool TimeOut(){return time(NULL)-timer>time_out;}
|
||
private:
|
||
time_t timer;
|
||
int time_out;
|
||
|
||
};
|
||
|
||
/*============================================================================*/
|
||
|
||
extern "C"
|
||
{
|
||
void do_nothing1(int nn);
|
||
void do_nothing2(int nn);
|
||
}
|
||
//}
|
||
#endif
|