Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

OpenISAMXtd

Open all the ISAM files (extended version).

Short Name

OPNISAMX()

Type

Extended ISAM function

Declaration

COUNT OpenISAMXtd(pTEXT filnam, COUNT userprof, pTEXT userid,

pTEXT userword, pTEXT servname, pTEXT fileword)

Description

OpenISAMXtd() is a variation of OpenISAM() that permits the use of the FairCom Server’s security system. This section expands on the description of OpenISAM().

  • userprof is the user profile mask. It accepts the following values:
    • USERPRF_CLRCHK

    Instructs single-user TRANPROC applications to remove S*.FCS and L*.FCS files upon a successful application shutdown. The c-tree checkpoint code determines at the time of a final checkpoint if there are no pending transactions or file opens, and if this user profile bit has been turned on. If so, the S*.FCS and L*.FCS files are deleted. However, if the application is causing log files to be saved (very unusual for a single-user application), then the files are not cleared. The USERPRF_CLRCHK option is off by default. See Single-User Transaction Processing in the c-tree Programmer’s Reference Guide for additional information.

    • USERPRF_LOCLIB

    Specifies this instance of c-tree is to be directed to a local database. Applicable only to client/server when using “Local Library Support”.

    • USERPRF_NDATA

    Enable the manual mode of UNIFRMAT support. Enabling the manual record transformation mode would only be desirable if you are performing your own record level byte flipping or your record structures contain no numeric data (i.e., LONG, FLOAT, . . .). A side benefit of enabling this manual mode is the virtual elimination of Server DODA requests, thereby reducing network traffic by one function call per file open.

    • USERPRF_NTKEY

    Disables the automatic TransformKey() feature. See the TransformKey() function description for more information.

    • USERPRF_PTHTMP

    Changes GetCtTempFileName() from its default operation of returning a temporary file name to specifying a directory name where temporary files are to reside.

    • USERPRF_SAVENV

    Enable the automatic ctSAVENV feature. See the Begin() function description for more information.

    • To use more than one value, OR the values together. Leave userprof set to zero to accept the defaults.
  • userid is a pointer to a buffer containing the user ID. If userid is null, the user is assigned the ID of GUEST
  • userword is a pointer to a buffer containing the user password.
  • servname is a pointer to a Server name if you are going to use a Server name other than the default.
  • fileword is an optional file password. If fileword is NULL then there will be no password for this file. If a password is established, every user will need to use the password to be able to open the file.

For more information on user id’s, user passwords, server names, and file passwords, review Security and Encryption (File Security and Encryption, /doc/ctreeplus/FileSecurityandEncryption.htm) in the c-tree Programmer’s Reference Guide.

Note: This function supports EXCLUSIVE file opens. For more information, please refer to Multi-user File Mode.

Return

The following error codes may be seen in addition to those for OpenISAM():

Value

Symbolic Constant

Explanation

450

LUID_ERR

Invalid user ID.

451

LPWD_ERR

Invalid user password.

453

NSRV_ERR

Invalid FairCom Server name.

456

SACS_ERR

User is not a member of a group with access to this file.

457

SPWD_ERR

Invalid password.

See c-tree Error Codes for a complete listing of valid c-tree error values.

See also

InitISAM(), CreateISAM(), OpenISAM(), CloseISAM(), TransformKey(), GetCtTempFileName(), Begin()

TOCIndex