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 + -
显示快捷键?