home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************
- **
- ** Copyright (c) 1982-1997 Pervasive Software Inc. All Rights Reserved.
- **
- ****************************************************************************/
- /****************************************************************************
- CNVSEQ.C
- This module converts the SSQL function number into a sequenced function
- number that is used by fixparms() and unfixparms().
- ****************************************************************************/
- #include <sqlapi.h>
- #include <sqlconst.h>
- #include <btitypes.h>
- #include <fixparms.h>
- #include <wxqlords.h>
-
-
- /*
- *****************************************************************************
- ** cnvToSeq
- **
- ** Description:
- ** Convert a signature/fcn pair to a sequenced function code.
- **
- ** Parameters:
- ** sig: four-byte signature that identifies the type of
- ** <input> parameter block.
- **
- ** fcnin: Input function number.
- ** <input>
- **
- ** *fcnout: Sequenced function number
- ** <output>
- **
- **
- ** Return value:
- ** SS_SUCCESS
- ** SQL_INVALID_FUNCTIONCODE
- ** SQL_INVALID_DATA
- ** SQL_INVALID_PRIMITIVE_FUNCTION
- **
- *****************************************************************************
- */
- BTI_SINT cnvToSeq( BTI_ULONG sig, BTI_SINT fcnin, BTI_SINT *fcnout )
-
- {
- int stat = SS_SUCCESS;
-
- if ( sig == XQLP_SIG )
- {
- switch (fcnin)
- {
- case pAccessFcn:
- *fcnout = spAccessFcn;
- break;
-
- case pCharFcn:
- *fcnout = spCharFcn;
- break;
-
- case pCnvFcn:
- *fcnout = spCnvFcn;
- break;
-
- case pComputeFcn:
- *fcnout = spCompFcn;
- break;
-
- case pDDFcn:
- *fcnout = spDDFcn;
- break;
-
- case pDDAttrFcn:
- *fcnout = spDDAttrFcn;
- break;
-
- case pDDCreFcn:
- *fcnout = spDDCreFcn;
- break;
-
- case pDDDrpFcn:
- *fcnout = spDDDrpFcn;
- break;
-
- case pDDFieldFcn:
- *fcnout = spDDFieldFcn;
- break;
-
- case pDDFileFcn:
- *fcnout = spDDFileFcn;
- break;
-
- case pDDIndexFcn:
- *fcnout = spDDIndexFcn;
- break;
-
- case pDDModFcn:
- *fcnout = spDDModFcn;
- break;
-
- case pDDPathFcn:
- *fcnout = spDDPathFcn;
- break;
-
- case pDDViewFcn:
- *fcnout = spDDViewFcn;
- break;
-
- case pDescribeFcn:
- *fcnout = spDescribeFcn;
- break;
-
- case pFetchFcn:
- *fcnout = spFetchFcn;
- break;
-
- case pFieldFcn:
- *fcnout = spFieldFcn;
- break;
-
- case pFreeFcn:
- *fcnout = spFreeFcn;
- break;
-
- case pInsertFcn:
- *fcnout = spInsertFcn;
- break;
-
- case pJoinFcn:
- *fcnout = spJoinFcn;
- break;
-
- case pLogInFcn:
- *fcnout = spLogInFcn;
- break;
-
- case pLogOutFcn:
- *fcnout = spLogOutFcn;
- break;
-
- case pMaskFcn:
- *fcnout = spMaskFcn;
- break;
-
- case pMoveFldFcn:
- *fcnout = spMoveFldFcn;
- break;
-
- case pNewFcn:
- *fcnout = spNewFcn;
- break;
-
- case pOrderFcn:
- *fcnout = spOrderFcn;
- break;
-
- case pPswdFcn:
- *fcnout = spPswdFcn;
- break;
-
- case pRecallFcn:
- *fcnout = spRecallFcn;
- break;
-
- case pRemallFcn:
- *fcnout = spRemallFcn;
- break;
-
- case pRemoveFcn:
- *fcnout = spRemoveFcn;
- break;
-
- case pResetFcn:
- *fcnout = spResetFcn;
- break;
-
- case pRestrictFcn:
- *fcnout = spRestrictFcn;
- break;
-
- case pSecurFcn:
- *fcnout = spSecurFcn;
- break;
-
- case pStatFcn:
- *fcnout = spStatFcn;
- break;
-
- case pStopFcn:
- *fcnout = spStopFcn;
- break;
-
- case pStoreFcn:
- *fcnout = spStoreFcn;
- break;
-
- case pTransFcn:
- *fcnout = spTransFcn;
- break;
-
- case pUpdallFcn:
- *fcnout = spUpdallFcn;
- break;
-
- case pUpdateFcn:
- *fcnout = spUpdateFcn;
- break;
-
- case pUserFcn:
- *fcnout = spUserFcn;
- break;
-
- case pValFcn:
- *fcnout = spValFcn;
- break;
-
- case pVersionFcn:
- *fcnout = spVersFcn;
- break;
-
- case pVers2Fcn:
- *fcnout = spVers2Fcn;
- break;
-
- default:
- stat = SQL_INVALID_PRIMITIVE_FUNCTION;
- break;
- } /* end switch */
- }
- else if (sig == XQLM_SIG)
- {
- switch (fcnin)
- {
- case mConvFcn:
- *fcnout = smCnvFcn;
- break;
-
- case mCompFcn:
- *fcnout = smCompFcn;
- break;
-
- case mCursorFcn:
- *fcnout = smCursorFcn;
- break;
-
- case mDescribeFcn:
- *fcnout = smDescribeFcn;
- break;
-
- case mExecFcn:
- *fcnout = smExecFcn;
- break;
-
- case mFetchFcn:
- *fcnout = smFetchFcn;
- break;
-
- case mFormatFcn:
- *fcnout = smFormatFcn;
- break;
-
- case mFreeFcn:
- *fcnout = smFreeFcn;
- break;
-
- case mLogInFcn:
- *fcnout = smLogInFcn;
- break;
-
- case mLogOutFcn:
- *fcnout = smLogOutFcn;
- break;
-
- case mMaskFcn:
- *fcnout = smMaskFcn;
- break;
-
- case mSPUtilFcn:
- *fcnout = smSPUtilFcn;
- break;
-
- case mStatFcn:
- *fcnout = smStatFcn;
- break;
-
- case mStopFcn:
- *fcnout = smStopFcn;
- break;
-
- case mSubstFcn:
- *fcnout = smSubstFcn;
- break;
-
- case mValFcn:
- *fcnout = smValFcn;
- break;
-
- case mVersFcn:
- *fcnout = smVersFcn;
- break;
-
- default:
- stat = SQL_INVALID_FUNCTIONCODE;
- break;
- } /* end switch */
- }
- else if (sig == DBNM_SIG)
- {
- switch (fcnin)
- {
- case dbnAdd:
- *fcnout = sdbnAdd;
- break;
-
- case dbnDrop:
- *fcnout = sdbnDrop;
- break;
-
- case dbnGetCnt:
- *fcnout = sdbnGetCnt;
- break;
-
- case dbnGetInfo:
- *fcnout = sdbnGetInfo;
- break;
-
- case dbnGetNames:
- *fcnout = sdbnGetNames;
- break;
-
- case dbnModify:
- *fcnout = sdbnModify;
- break;
-
- case dbnRename:
- *fcnout = sdbnRename;
- break;
-
- case dbnUnload:
- *fcnout = sdbnUnload;
- break;
-
- default:
- stat = SQL_INVALID_DATA;
-
- } /* end switch */
- }
- else
- {
- stat = SQL_INVALID_FUNCTIONCODE;
- } /* end if-else */
-
- return( stat );
-
- } /* end cnvToSeq */
-
-