Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions  Download package

externC void sqlflongseekc ( tsp00_Int4  fileHandle,
tsp00_Longint  distance,
tsp00_Longint  recordCount,
tsp05_RteSeekKind_Param  whence,
tsp05_RteFileError *  ferr 

Moves the file pointer (suitable for 64bit file systems).

fileHandle [in]
distance [in]
whence [in] sp5vf_seek_begin: sqlflongseek positions the file pointer at byte (recsize * reccount). The first byte is byte "0". sp5vf_seek_cur: sqlflongseek advances the file pointer by (recsize * reccount) bytes. sp5vf_seek_end: sqlflongseek positions the file pointer at byte (recsize * reccount) relative to the end of the file.
err [out] error information
A negative distance and reccount is allowed. If the device is not capable of seeking, the runtime environment sets err.fe_result to vf_noseek. There is no difference between the C (*c) and Pascal (*p) versions.

Definition at line 3459 of file veo06.c.

#undef MF__
#define MF__ MOD__"sqlflongseekc"
    FileT* file;
    LargeIntegerT large;
    BOOLEAN calcOK = TRUE;

    TRCIN_P (("handle %d, distance %ld, recordcount %ld, whence %d\n",
              fileHandle, distance, recordCount, whence));
    eo06_clearError (ferr);
    if (OUT_OF_ENUM_INL (whence, sp5vf_seek_begin, sp5vf_seek_end)) {
        eo06_paramError (ferr, "whence");
    file = eo06_getPointer (&allFilesV, fileHandle);
    if (file != NULL) {
        large = eo06_LONG_X_LONG_2_LARGE_OS (distance, recordCount, &calcOK);
        if (calcOK) {
            eo06_LONGSEEK_V (file, large, whence, ferr);
        else {
            eo06_ferror (ferr, Seek_Range_ErrText);
    else {
        eo06_ferror (ferr, Invalid_Handle_ErrText);

Generated by  Doxygen 1.6.0   Back to index