📄 dalmain.c
字号:
/*************************************************************************** * * * db.* * * open source database, dal utility * * * * Copyright (c) 2000 Centura Software Corporation. All rights reserved. * * * * Use of this software, whether in source code format, or in executable, * * binary object code form, is governed by the CENTURA OPEN SOURCE LICENSE * * which is fully described in the LICENSE.TXT file, included within this * * distribution of source code files. * * * **************************************************************************//*----------------------------------------------------------------------- dalmain.c - DAL main program. This function will process command line options and commence with the processing of input. Once yyparse() is called, control will remain in the parser until the exit or abort commands are given.-----------------------------------------------------------------------*//* ********************** INCLUDE FILES ****************************** */#include "db.star.h"#include "daldef.h"#include "version.h"/* ********************** GLOBAL VARIABLE DECLARATIONS *************** */struct fcnlist fcns[] = { { DB_TEXT("op"), (D_API_FCN) d_open_sg, L_L_SG_TSK}, { DB_TEXT("setp"), (D_API_FCN) d_setpages, I_I_TSK}, { DB_TEXT("clo"), (D_API_FCN) d_close, N_TSK}, { DB_TEXT("in"), (D_API_FCN) d_initialize, N_TSK_DBN}, { DB_TEXT("des"), (D_API_FCN) d_destroy, L_TSK}, { DB_TEXT("disd"), (D_API_FCN) d_disdel, N_TSK_DBN}, { DB_TEXT("dbd"), (D_API_FCN) d_dbdpath, L_TSK}, { DB_TEXT("dbf"), (D_API_FCN) d_dbfpath, L_TSK}, { DB_TEXT("ctb"), (D_API_FCN) d_ctbpath, L_TSK}, { DB_TEXT("fr"), (D_API_FCN) d_freeall, N_TSK}, { DB_TEXT("keyfre"), (D_API_FCN) d_keyfree, F_TSK_DBN}, { DB_TEXT("keylo"), (D_API_FCN) d_keylock, F_L_TSK_DBN}, { DB_TEXT("keyls"), (D_API_FCN) d_keylstat, U}, { DB_TEXT("lock"), (D_API_FCN) d_lock, I_LP_TSK_DBN}, { DB_TEXT("recfre"), (D_API_FCN) d_recfree, R_TSK_DBN}, { DB_TEXT("reclo"), (D_API_FCN) d_reclock, R_L_TSK_DBN}, { DB_TEXT("recls"), (D_API_FCN) d_reclstat, U}, { DB_TEXT("setls"), (D_API_FCN) d_setlstat, U}, { DB_TEXT("rlbc"), (D_API_FCN) d_rlbclr, N_TSK_DBN}, { DB_TEXT("rlbs"), (D_API_FCN) d_rlbset, N_TSK_DBN}, { DB_TEXT("rlbt"), (D_API_FCN) d_rlbtst, N_TSK_DBN}, { DB_TEXT("setfr"), (D_API_FCN) d_setfree, S_TSK_DBN}, { DB_TEXT("setlo"), (D_API_FCN) d_setlock, S_L_TSK_DBN}, { DB_TEXT("ti"), (D_API_FCN) d_timeout, I_TSK}, { DB_TEXT("dbl"), (D_API_FCN) d_dblog, L_TSK}, { DB_TEXT("dbt"), (D_API_FCN) d_dbtaf, L_TSK}, { DB_TEXT("dbu"), (D_API_FCN) d_dbuserid, L_TSK}, { DB_TEXT("tra"), (D_API_FCN) d_trabort, N_TSK}, { DB_TEXT("trb"), (D_API_FCN) d_trbegin, L_TSK}, { DB_TEXT("tre"), (D_API_FCN) d_trend, N_TSK}, { DB_TEXT("crr"), (D_API_FCN) d_crread, F_FP_TSK_DBN}, { DB_TEXT("crw"), (D_API_FCN) d_crwrite, F_FP_TSK_DBN}, { DB_TEXT("csmr"), (D_API_FCN) d_csmread, S_F_FP_TSK_DBN}, { DB_TEXT("csmw"), (D_API_FCN) d_csmwrite, S_F_FP_TSK_DBN}, { DB_TEXT("csor"), (D_API_FCN) d_csoread, S_F_FP_TSK_DBN}, { DB_TEXT("csow"), (D_API_FCN) d_csowrite, S_F_FP_TSK_DBN}, { DB_TEXT("recr"), (D_API_FCN) d_recread, RP_TSK_DBN}, { DB_TEXT("recw"), (D_API_FCN) d_recwrite, RP_TSK_DBN}, { DB_TEXT("fil"), (D_API_FCN) d_fillnew, R_RP_TSK_DBN}, { DB_TEXT("ma"), (D_API_FCN) d_makenew, R_TSK_DBN}, { DB_TEXT("setk"), (D_API_FCN) d_setkey, F_FP_TSK_DBN}, { DB_TEXT("del"), (D_API_FCN) d_delete, N_TSK_DBN}, { DB_TEXT("con"), (D_API_FCN) d_connect, S_TSK_DBN}, { DB_TEXT("di"), (D_API_FCN) d_discon, S_TSK_DBN}, { DB_TEXT("me"), (D_API_FCN) d_members, S_IP_TSK_DBN}, { DB_TEXT("iso"), (D_API_FCN) d_isowner, S_TSK_DBN}, { DB_TEXT("ism"), (D_API_FCN) d_ismember, S_TSK_DBN}, { DB_TEXT("findc"), (D_API_FCN) d_findco, S_TSK_DBN}, { DB_TEXT("findf"), (D_API_FCN) d_findfm, S_TSK_DBN}, { DB_TEXT("findl"), (D_API_FCN) d_findlm, S_TSK_DBN}, { DB_TEXT("findn"), (D_API_FCN) d_findnm, S_TSK_DBN}, { DB_TEXT("findp"), (D_API_FCN) d_findpm, S_TSK_DBN}, { DB_TEXT("keyfi"), (D_API_FCN) d_keyfind, F_FP_TSK_DBN}, { DB_TEXT("keyn"), (D_API_FCN) d_keynext, F_TSK_DBN}, { DB_TEXT("keyp"), (D_API_FCN) d_keyprev, F_TSK_DBN}, { DB_TEXT("keyfrs"), (D_API_FCN) d_keyfrst, F_TSK_DBN}, { DB_TEXT("keyla"), (D_API_FCN) d_keylast, F_TSK_DBN}, { DB_TEXT("keyr"), (D_API_FCN) d_keyread, FP_TSK}, { DB_TEXT("setro"), (D_API_FCN) d_setro, S_TSK_DBN}, { DB_TEXT("setrm"), (D_API_FCN) d_setrm, S_TSK_DBN}, { DB_TEXT("setor"), (D_API_FCN) d_setor, S_TSK_DBN}, { DB_TEXT("setom"), (D_API_FCN) d_setom, S_S_TSK_DBN}, { DB_TEXT("setoo"), (D_API_FCN) d_setoo, S_S_TSK_DBN}, { DB_TEXT("setmr"), (D_API_FCN) d_setmr, S_TSK_DBN}, { DB_TEXT("setmo"), (D_API_FCN) d_setmo, S_S_TSK_DBN}, { DB_TEXT("setmm"), (D_API_FCN) d_setmm, S_S_TSK_DBN}, { DB_TEXT("crg"), (D_API_FCN) d_crget, DP_TSK_DBN}, { DB_TEXT("crse"), (D_API_FCN) d_crset, DP_TSK_DBN}, { DB_TEXT("csmg"), (D_API_FCN) d_csmget, S_DP_TSK_DBN}, { DB_TEXT("csms"), (D_API_FCN) d_csmset, S_DP_TSK_DBN}, { DB_TEXT("csog"), (D_API_FCN) d_csoget, S_DP_TSK_DBN}, { DB_TEXT("csos"), (D_API_FCN) d_csoset, S_DP_TSK_DBN}, { DB_TEXT("crt"), (D_API_FCN) d_crtype, IP_TSK_DBN}, { DB_TEXT("cmt"), (D_API_FCN) d_cmtype, S_IP_TSK_DBN}, { DB_TEXT("cot"), (D_API_FCN) d_cotype, S_IP_TSK_DBN}, { DB_TEXT("cms"), (D_API_FCN) d_cmstat, U}, { DB_TEXT("cos"), (D_API_FCN) d_costat, U}, { DB_TEXT("crst"), (D_API_FCN) d_crstat, U}, { DB_TEXT("css"), (D_API_FCN) d_csstat, U}, { DB_TEXT("ctscm"), (D_API_FCN) d_ctscm, U}, { DB_TEXT("ctsco"), (D_API_FCN) d_ctsco, U}, { DB_TEXT("ctscr"), (D_API_FCN) d_ctscr, U}, { DB_TEXT("gtscm"), (D_API_FCN) d_gtscm, U}, { DB_TEXT("gtsco"), (D_API_FCN) d_gtsco, U}, { DB_TEXT("gtscr"), (D_API_FCN) d_gtscr, U}, { DB_TEXT("gtscs"), (D_API_FCN) d_gtscs, U}, { DB_TEXT("recst"), (D_API_FCN) d_recstat, U}, { DB_TEXT("stscm"), (D_API_FCN) d_stscm, U}, { DB_TEXT("stsco"), (D_API_FCN) d_stsco, U}, { DB_TEXT("stscr"), (D_API_FCN) d_stscr, U}, { DB_TEXT("stscs"), (D_API_FCN) d_stscs, U}, { DB_TEXT("utscm"), (D_API_FCN) d_utscm, U}, { DB_TEXT("utsco"), (D_API_FCN) d_utsco, U}, { DB_TEXT("utscr"), (D_API_FCN) d_utscr, U}, { DB_TEXT("utscs"), (D_API_FCN) d_utscs, U}, { DB_TEXT("initf"), (D_API_FCN) d_initfile, I_TSK_DBN}, { DB_TEXT("keyd"), (D_API_FCN) d_keydel, F_TSK_DBN}, { DB_TEXT("keye"), (D_API_FCN) d_keyexist, F_TSK_DBN}, { DB_TEXT("keys"), (D_API_FCN) d_keystore, F_TSK_DBN}, { DB_TEXT("of"), (D_API_FCN) d_off_opt, I_TSK}, { DB_TEXT("on"), (D_API_FCN) d_on_opt, I_TSK}, { DB_TEXT("rd"), (D_API_FCN) d_rdcurr, CP_IP_TSK_DBN}, { DB_TEXT("recfrs"), (D_API_FCN) d_recfrst, R_TSK_DBN}, { DB_TEXT("recla"), (D_API_FCN) d_reclast, R_TSK_DBN}, { DB_TEXT("recn"), (D_API_FCN) d_recnext, N_TSK_DBN}, { DB_TEXT("recp"), (D_API_FCN) d_recprev, N_TSK_DBN}, { DB_TEXT("recse"), (D_API_FCN) d_recset, R_TSK_DBN}, { DB_TEXT("ren"), (D_API_FCN) d_renfile, REN_TSK}, { DB_TEXT("setd"), (D_API_FCN) d_setdb, U}, { DB_TEXT("setfi"), (D_API_FCN) d_setfiles, I_TSK}, { DB_TEXT("wr"), (D_API_FCN) d_wrcurr, C_TSK_DBN}, { DB_TEXT("def_rec"), (D_API_FCN) def_rec, R_RP_TSK_DBN}, { DB_TEXT("def_fld"), (D_API_FCN) def_fld, F_FP_TSK_DBN}, { DB_TEXT("get_clock"), (D_API_FCN) get_clock, CT}, { DB_TEXT("cmp_clock"), (D_API_FCN) cmp_clock, CT_CT_CT}};int nfcns = sizeof(fcns) / sizeof(struct fcnlist);INST *loopstack[20], *curinst, *previnst;int loop_lvl, nparam, batch;struct printfield *curprint;FILE *fdal;extern int tot_errs;int dal_unicode = 0;DB_TASK *DalDbTask;SG *dal_sg;int usage(void);/* ------------------------------------------------------------------------ */static void init_dalmain(){ /* for VxWorks - initialize globals explicitly */ memset(loopstack, 0, sizeof(loopstack)); curinst = previnst = NULL; loop_lvl = nparam = batch = 0; curprint = NULL; fdal = NULL; dal_unicode = 0; dal_sg = NULL; DalDbTask = NULL;}void EXTERNAL_FCN dal_dberr(int errnum, DB_TCHAR *errmsg){ vtprintf(DB_TEXT("\n%s (errnum = %d)\n"), errmsg, errnum);}/* db.* Access Language ***************************************/int MAIN(int argc, DB_TCHAR **argv){ int stat, i; DB_TCHAR *str = NULL; DB_TCHAR *bfile = NULL;#if defined(SAFEGARDE) DB_TCHAR *cp; DB_TCHAR *password;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -