Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

Extended File Creation Block Structure

The key to many of the extended features in c-tree is the extended header in Extended files. With the exception of the specification of segmented files, all of the extended file definition capabilities are specified through a parameter block, the XCREblk structure, containing the additional information needed to implement the extended header.

A file supporting 8-byte addresses and/or which uses any of the extended file attributes uses an extended file header instead of the 128-bytes used by Standard 4-byte c‑tree files. Some of the additional bytes are used for the contents of the XCREblk structure, made up of sixteen 4-byte integers, seven of which are reserved for future use. The XCREblk structure passes the extended file attributes to the file creation routines.

typedef struct XCREblk {

LONG x8mode (Extended File Modes (x8mode), Extended File Modes (x8mode)); /* extended file modes */

ULONG segsiz; /* host segment size (MB) */

LONG mxfilzhw; /* high word max file size */

LONG mxfilzlw; /* low word max file size */

LONG fxtsiz; /* first file extent size */

LONG lxtsiz; /* file extent size */

LONG segmax; /* maximum number of segments */

ULONG dskful; /* disk full threshold */

ULONG filkey; /* file encryption key */

LONG prtkey; /* relative key# for partition key */

LONG splval; /* special value parameter */

LONG rs4[4]; /* reserved for future use */

LONG callparm; /* call specific parameter */

} XCREblk;

GetXtdCreateBlock(), declared as:

NINT GetXtdCreateBlock (FILNO filno, pXCREblk pxcreblk);

fills the structure pointed to by pxcreblk with the contents of an XCREblk corresponding to the extended create attributes for filno. Use GetXtdCreateBlock() to retrieve the XCREblk for an existing file so that an extended file can be created with the same extended create attributes.

Note: It is legitimate to call GetXtdCreateBlock() for files created in Standard or Extended format. The resulting XCREblk from a call for a Standard format file can be used in a call to an extended create routine, and the result should be a Standard format (V6 compatible) file.

In This Section

Extended File Modes (x8mode)

Special Cache Value Parameter (splval)

Extended File Properties