//****************************************************************************// // // // $File name : DFBTRDRV.PKG // // $File title : Package for the DataFlex Connectivity Kit for Pervasive.SQL // // Notice : This package contains constants and commands, used to call // // specific functions in the DFBTRDRV. // // $Author(s) : Eddy Kleinjan // // // // $System : DataFlex Connectivity Kit for Pervasive.SQL // // Created : 01-07-97 @ 12:00:00 // // // // Changed : 04-04-2001. // // DataFlex Connectity Kit for Pervasive.SQL version 1.3.0.145 // // // // Changed : June 6, 2001 // // DataFlex Connectity Kit for Pervasive.SQL version 1.3.0.148 // // // // Added DFBTR_DDF_OWNER command. // // // // Changed : June 12, 2001 // // DataFlex Connectity Kit for Pervasive.SQL version 1.3.0.149 // // // // Added DF_FIELD_IS_NULL and DF_FIELD_NULL_ALLOWED attributes // // // //****************************************************************************// // // Driver Indentification // #Replace DFBTRDRV_ID "DFBTRDRV" //*** Driver attributes //#Replace DF_FIELD_IS_NULL |CI704 //#Replace DF_FIELD_NULL_ALLOWED |CI706 // // Call_Driver functions ID's // #Replace DFBTRFN_CONVERT_FILE 1 #Replace DFBTRFN_ADD_OWNER 10 #Replace DFBTRFN_SET_OWNER 11 #Replace DFBTRFN_CLEAR_OWNER 12 #Replace DFBTRFN_REMOVE_ALL_OWNERS 13 #Replace DFBTRFN_DDF_OWNER 14 #Replace DFBTRFN_SET_TRANSACTION_TYPE 20 #Replace DFBTRFN_GET_TRANSACTION_TYPE 21 #Replace DFBTRFN_SET_EXPLICIT_LOCKING 22 #Replace DFBTRFN_GET_EXPLICIT_LOCKING 23 #Replace DFBTRFN_SET_DETECT_INCOMPATIBLE_SIGN_POS 24 #Replace DFBTRFN_GET_DETECT_INCOMPATIBLE_SIGN_POS 25 // // DFBTRFN_CONVERT_FILE options // #Replace DFBTRCNV_DELETE_FILE_AFTER_CONVERSION |CI32 #Replace DFBTRCNV_RECNUM_SUPPORT |CI64 // // DFBTRFN_SET_OWNER options // #Replace DFBTROWNER_READONLY_ALLOWED 1 #Replace DFBTROWNER_ENCRYPT_DATA 2 // // DFBTRFN_SET_TRANSACTION_TYPE options // #Replace DFBTRTT_NONE 0 #Replace DFBTRTT_EXCLUSIVE 1 #Replace DFBTRTT_CONCURRENT 2 // // Command to create all vars which may be needed // in other commands. // #COMMAND DFBTR$MAKE$VAR #IFDEF Is$WINDOWS #If FMAC_VERSION>|CI5 #IFDEF DFBTR$INT #ELSE GLOBAL_VARIABLE Integer DFBTR$INT #ENDIF #IFDEF DFBTR$RETVAL #ELSE GLOBAL_VARIABLE Integer DFBTR$RETVAL #ENDIF #IFDEF DFBTR$CALLBACK #ELSE GLOBAL_VARIABLE Integer DFBTR$CALLBACK #ENDIF #IFDEF DFBTR$STR1 #ELSE GLOBAL_VARIABLE String DFBTR$STR1 255 #ENDIF #IFDEF DFBTR$STR2 #ELSE GLOBAL_VARIABLE String DFBTR$STR2 255 #ENDIF #ELSE #IFDEF DFBTR$INT #ELSE Integer DFBTR$INT #ENDIF #IFDEF DFBTR$RETVAL #ELSE Integer DFBTR$RETVAL #ENDIF #IFDEF DFBTR$CALLBACK #ELSE Integer DFBTR$CALLBACK #ENDIF #IFDEF DFBTR$STR1 #ELSE String DFBTR$STR1 255 #ENDIF #IFDEF DFBTR$STR2 #ELSE String DFBTR$STR2 255 #ENDIF #ENDIF #ELSE #IFDEF DFBTR$INT #ELSE Integer DFBTR$INT #ENDIF #IFDEF DFBTR$RETVAL #ELSE Integer DFBTR$RETVAL #ENDIF #IFDEF DFBTR$CALLBACK #ELSE Integer DFBTR$CALLBACK #ENDIF #IFDEF DFBTR$STR1 #ELSE String DFBTR$STR1 255 #ENDIF #IFDEF DFBTR$STR2 #ELSE String DFBTR$STR2 255 #ENDIF #ENDIF #ENDCOMMAND // // Command to set the owner of a Btrieve file. // File must have been opened. // Filenumber needs to be passed. // To clear set the owner to "". // Examples: // DFBTR_SET_OWNER MyFileNumber to "Secret" // DFBTR_SET_OWNER MyFileNumber to "Secret" READONLY CALLBACK MyCallBack // DFBTR_SET_OWNER MyFileNumber to "Secret" ENCRYPT // DFBTR_SET_OWNER MyFileNumber to "Secret" READONLY ENCRYPT CALLBACK MyCallBack // To clear: // DFBTR_SET_OWNER MyFileNumber to "" // #COMMAND DFBTR_SET_OWNER R "TO" R DFBTR$MAKE$VAR Move 0 To DFBTR$INT Move 0 To DFBTR$CALLBACK Move !3 To DFBTR$STR1 DFBTR$Set$OWNER !4 !5 !6 !7 !8 !9 DFBTR$Set$CALLBACK !4 !5 !6 !7 !8 !9 Call_Driver !1 DFBTRDRV_ID ; Function DFBTRFN_SET_OWNER ; callback DFBTR$CALLBACK ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to parse DFBTR_SET_OWNVER // options. // #COMMAND DFBTR$Set$OWNER #If ( !0 > 0 ) #IFSAME !1 READONLY Move ( DFBTR$INT + DFBTROWNER_READONLY_ALLOWED ) To DFBTR$INT DFBTR$Set$OWNER !2 !3 !4 !5 !6 !7 !8 !9 #ENDIF #IFSAME !1 ENCRYPT Move ( DFBTR$INT + DFBTROWNER_ENCRYPT_DATA ) To DFBTR$INT DFBTR$Set$OWNER !2 !3 !4 !5 !6 !7 !8 !9 #ENDIF #IFSAME !1 CALLBACK Move !2 To DFBTR$CALLBACK DFBTR$Set$OWNER !2 !3 !4 !5 !6 !7 !8 !9 #ENDIF #ENDIF #ENDCOMMAND // // Command to parse for Callback // #COMMAND DFBTR$Set$CALLBACK #If ( !0 > 1 ) #IFSAME !1 CALLBACK Move !2 To DFBTR$CALLBACK #ELSE #If ( !0 > 2 ) DFBTR$Set$CALLBACK !2 !3 !4 !5 !6 !7 !8 !9 #ENDIF #ENDIF #ENDIF #ENDCOMMAND // // Command to clear the owner of a Btrieve file. // File must have been opened. // Filenumber needs to be passed. // Examples: // DFBTR_CLEAR_OWNER MyFileNumber // #COMMAND DFBTR_CLEAR_OWNER R DFBTR$MAKE$VAR Move 0 To DFBTR$INT Move "" To DFBTR$STR1 Move "" To DFBTR$STR2 Move 0 To DFBTR$CALLBACK DFBTR$Set$CALLBACK !2 !3 !4 !5 !6 !7 !8 !9 Call_Driver !1 DFBTRDRV_ID ; Function DFBTRFN_CLEAR_OWNER ; callback DFBTR$CALLBACK ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to add a owner name to the internal list of ownernames // which will be tries when opening files. // #COMMAND DFBTR_ADD_OWNER R . DFBTR$MAKE$VAR Move 0 To DFBTR$INT Move !1 To DFBTR$STR1 Move "" To DFBTR$STR2 Move 0 To DFBTR$CALLBACK DFBTR$Set$CALLBACK !2 !3 !4 !5 !6 !7 !8 !9 Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_ADD_OWNER ; callback DFBTR$CALLBACK ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to remove all owners from the internal list of ownernames // #COMMAND DFBTR_REMOVE_ALL_OWNERS . DFBTR$MAKE$VAR Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_REMOVE_ALL_OWNERS ; callback DFBTR$CALLBACK ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to set the owner name to be used when opening the DDF files. // The DDF owner is required when Pervasive.SQL security is turned on. // The DDF owner is equal to the password of the Master user in Pervasive.SQL // This command overwrites the DDF_OWNER setting in DFBTRDRV.INT // #COMMAND DFBTR_DDF_OWNER R . DFBTR$MAKE$VAR Move 0 To DFBTR$INT Move !1 To DFBTR$STR1 Move "" To DFBTR$STR2 Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_DDF_OWNER ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to change the transaction type. // Valid types are: // DFBTRTT_NONE // DFBTRTT_EXCLUSIVE // DFBTRTT_CONCURRENT // // #COMMAND DFBTR_SET_TRANSACTION_TYPE "TO" R . DFBTR$MAKE$VAR Move !2 To DFBTR$INT Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_SET_TRANSACTION_TYPE ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to get the current transaction type. // #COMMAND DFBTR_GET_TRANSACTION_TYPE "TO" R . DFBTR$MAKE$VAR Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_GET_TRANSACTION_TYPE ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL Move DFBTR$RETVAL To !2 #ENDCOMMAND // // Command to set explicit_locking // #COMMAND DFBTR_SET_EXPLICIT_LOCKING "TO" R . DFBTR$MAKE$VAR Move !2 To DFBTR$INT Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_SET_EXPLICIT_LOCKING ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to get explicit locking // #COMMAND DFBTR_GET_EXPLICIT_LOCKING "TO" R . DFBTR$MAKE$VAR Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_GET_EXPLICIT_LOCKING ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL Move DFBTR$RETVAL To !2 #ENDCOMMAND // // Command to set detection for incompatible positive signs in numeric fields // #COMMAND DFBTR_SET_DETECT_INCOMPATIBLE_SIGN_POS "TO" R . DFBTR$MAKE$VAR Move !2 To DFBTR$INT Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_SET_DETECT_INCOMPATIBLE_SIGN_POS ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL #ENDCOMMAND // // Command to get detection for incompatible positive signs in numeric fields // #COMMAND DFBTR_GET_DETECT_INCOMPATIBLE_SIGN_POS "TO" R . DFBTR$MAKE$VAR Call_Driver 0 DFBTRDRV_ID ; Function DFBTRFN_GET_DETECT_INCOMPATIBLE_SIGN_POS ; callback 0 ; passing DFBTR$STR1 DFBTR$STR2 DFBTR$INT ; result DFBTR$RETVAL Move DFBTR$RETVAL To !2 #ENDCOMMAND