enter.c
来自「db.* (pronounced dee-be star) is an adva」· C语言 代码 · 共 1,824 行 · 第 1/4 页
C
1,824 行
if (task->db_indent) --task->db_indent; return task->db_indent;}static int INTERNAL_FCN db_trace_write(PSP_FH fh, const DB_TCHAR *buf, size_t len, DB_TASK *task){#if defined(UNICODE) int stat = S_OKAY; char *p; if (!(task->db_trace & TRACE_UNICODE)) { if ((p = psp_getMemory(len + 1, 0)) == NULL) return S_NOMEMORY; wtoa(buf, p, len + 1); if (psp_fileWrite(fh, buf, len) < len) stat = S_BADWRITE; psp_freeMemory(p, 0); return stat; }#endif if (psp_fileWrite(fh, buf, len * sizeof(DB_TCHAR)) < (int) (len * sizeof(DB_TCHAR))) return S_BADWRITE; return S_OKAY;}#endif /* DB_TRACE *//* ====================================================================== d_ API functions. The functions in this module are wrapper functions that call the db.* entry routine, then the actual processing function, then the db.* exit routine. The task status (task->db_status) is set to S_OKAY in the entry routine. Errors are reported by the exit routine. ====================================================================== */int EXTERNAL_FCN d_checkid(DB_TCHAR *id, DB_TASK *task){ int stat; if ((stat = db_enter(D_CHECKID, VOID_DB, task)) == S_OKAY) stat = dcheckid(id, task); return db_exit(stat, task);}int EXTERNAL_FCN d_close(DB_TASK *task){ int stat; if ((stat = db_enter(D_CLOSE, VOID_DB, task)) == S_OKAY) if (task->dbopen) diclose(task, ALL_DBS); return db_exit(stat, task);}int EXTERNAL_FCN d_closeall(DB_TASK *task){ int stat; if ((stat = db_enter(D_CLOSEALL, VOID_DB, task)) == S_OKAY) stat = dcloseall(task); return db_exit(stat, task);}int EXTERNAL_FCN d_cmstat(int set, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CMSTAT, dbn, task)) == S_OKAY) stat = dcmstat(set, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_cmtype(int set, int *cmtype, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CMTYPE, dbn, task)) == S_OKAY) stat = dcmtype(set, cmtype, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_connect(int set, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CONNECT, dbn, task)) == S_OKAY) stat = dconnect(set, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_costat(int set, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_COSTAT, dbn, task)) == S_OKAY) stat = dcostat(set, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_cotype(int set, int *cotype, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_COTYPE, dbn, task)) == S_OKAY) stat = dcotype(set, cotype, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_crget(DB_ADDR *dba, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CRGET, dbn, task)) == S_OKAY) stat = dcrget(dba, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_crread(long field, void *data, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CRREAD, dbn, task)) == S_OKAY) stat = dcrread(field, data, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_crset(DB_ADDR *dba, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CRSET, dbn, task)) == S_OKAY) stat = dcrset(dba, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_crstat(DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CRSTAT, dbn, task)) == S_OKAY) stat = dcrstat(task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_crtype(int *crtype, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CRTYPE, dbn, task)) == S_OKAY) stat = dcrtype(crtype, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_crwrite(long field, void *data, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CRWRITE, dbn, task)) == S_OKAY) stat = dcrwrite(field, data, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csmget(int set, DB_ADDR *dba, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSMGET, dbn, task)) == S_OKAY) stat = dcsmget(set, dba, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csmread(int nset, long field, void *data, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSMREAD, dbn, task)) == S_OKAY) stat = dcsmread(nset, field, data, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csmset(int set, DB_ADDR *dba, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSMSET, dbn, task)) == S_OKAY) stat = dcsmset(set, dba, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csmwrite(int set, long field, const void *data, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSMWRITE, dbn, task)) == S_OKAY) stat = dcsmwrite(set, field, data, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csoget(int set, DB_ADDR *dba, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSOGET, dbn, task)) == S_OKAY) stat = dcsoget(set, dba, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csoread(int nset, long field, void *data, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSOREAD, dbn, task)) == S_OKAY) stat = dcsoread(nset, field, data, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csoset(int set, DB_ADDR *dba, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSOSET, dbn, task)) == S_OKAY) stat = dcsoset(set, dba, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csowrite(int set, long field, const void *data, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSOWRITE, dbn, task)) == S_OKAY) stat = dcsowrite(set, field, data, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_csstat(int set, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CSSTAT, dbn, task)) == S_OKAY) stat = dcsstat(set, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_ctbpath(const DB_TCHAR *ctb, DB_TASK *task){ int stat; if ((stat = db_enter(D_CTBPATH, VOID_DB, task)) == S_OKAY) stat = dctbpath(ctb, task); return db_exit(stat, task);}int EXTERNAL_FCN d_ctscm(int set, DB_ULONG *timestamp, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CTSCM, dbn, task)) == S_OKAY) stat = dctscm(set, timestamp, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_ctsco(int set, DB_ULONG *timestamp, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CTSCO, dbn, task)) == S_OKAY) stat = dctsco(set, timestamp, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_ctscr(DB_ULONG *timestamp, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CTSCR, dbn, task)) == S_OKAY) stat = dctscr(timestamp, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_curkey(DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_CURKEY, dbn, task)) == S_OKAY) stat = dcurkey(task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_dbdpath(const DB_TCHAR *path, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBDPATH, VOID_DB, task)) == S_OKAY) stat = ddbdpath(path, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dberr(int errnum, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBERR, VOID_DB, task)) == S_OKAY) stat = dberr(errnum); return db_exit(stat, task);}int EXTERNAL_FCN d_dbfpath(const DB_TCHAR *path, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBFPATH, VOID_DB, task)) == S_OKAY) stat = ddbfpath(path, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dblog(const DB_TCHAR *log, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBLOG, VOID_DB, task)) == S_OKAY) stat = ddblog(log, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dbnum(const DB_TCHAR *dbn, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBNUM, VOID_DB, task)) == S_OKAY) stat = ddbnum(dbn, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dbstat(int type, int idx, void *buf, int buflen, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBSTAT, VOID_DB, task)) == S_OKAY) stat = ddbstat(type, idx, buf, buflen, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dbtaf(const DB_TCHAR *taf, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBTAF, VOID_DB, task)) == S_OKAY) stat = ddbtaf(taf, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dbtmp(const DB_TCHAR *tmp, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBTMP, VOID_DB, task)) == S_OKAY) stat = ddbtmp(tmp, task); return db_exit(stat, task);}int EXTERNAL_FCN d_dbuserid(const DB_TCHAR *id, DB_TASK *task){ int stat; if ((stat = db_enter(D_DBUSERID, VOID_DB, task)) == S_OKAY) stat = ddbuserid(id, task); return db_exit(stat, task);}int EXTERNAL_FCN d_decode_dba(DB_ADDR dba, short *file, DB_ADDR *slot){ *file = (short) (FILEMASK & (dba >> FILESHIFT)); *slot = (DB_ADDR) ADDRMASK & dba; return S_OKAY;}int EXTERNAL_FCN d_def_opt(unsigned long options, DB_TASK *task){ int stat; if ((stat = db_enter(D_DEF_OPT, VOID_DB, task)) == S_OKAY) stat = ddef_opt(options, task); return db_exit(stat, task);}int EXTERNAL_FCN d_delete(DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_DELETE, dbn, task)) == S_OKAY) stat = ddelete(task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_destroy(const DB_TCHAR *dbname, DB_TASK *task){ int stat; if ((stat = db_enter(D_DESTROY, VOID_DB, task)) == S_OKAY) stat = ddestroy(dbname, task); return db_exit(stat, task);}int EXTERNAL_FCN d_discon(int nset, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_DISCON, dbn, task)) == S_OKAY) stat = ddiscon(nset, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_disdel(DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_DISDEL, dbn, task)) == S_OKAY) stat = ddisdel(task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_encode_dba(short file, DB_ADDR slot, DB_ADDR *dba){ *dba = (((F_ADDR)file & FILEMASK) << FILESHIFT) | (ADDRMASK & slot); return S_OKAY;}int EXTERNAL_FCN d_fillnew(int nrec, const void *recval, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_FILLNEW, dbn, task)) == S_OKAY) stat = dfillnew(nrec, recval, task, dbn); return db_exit(stat, task);}int EXTERNAL_FCN d_findco(int nset, DB_TASK *task, int dbn){ int stat; if ((stat = db_enter(D_FINDCO, dbn, task)) == S_OKAY) stat = dfindco(nset, task, dbn); return db_exit(stat, task);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?