Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 7b - btrieve api http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 7B - Btrieve API
        DS:DX -> 38-byte parameter record (see below)
Return: return code field set
Note:   Btrieve sets low byte of vector to 33h; this serves as the installation
          check

Format of Btrieve parameter record:
Offset  Size    Description
 00h    DWORD   pointer to data buffer
 04h    WORD    data buffer length
 06h    DWORD   pointer to 90-byte record containing positioning info
                (should be same for all calls for same file)
 0Ah    DWORD   pointer to 38-byte FCB info buffer
                (should be same for all calls for same file)
 0Eh    WORD    function code (see below)
 10h    DWORD   pointer to file name/key buffer
 14h    BYTE    key length
 15h    BYTE    key number
 16h    DWORD   pointer to status code (see below)
 1Ah    WORD    interface code (version specific)

Values for function code:
 00h open
 01h close
 02h insert
 03h update
 04h delete
 05h get_equal
 06h get_next
 07h get_prev
 08h get_greater
 09h get_gr_eql
 0Ah get_less
 0Bh get_less_eq
 0Ch get_first
 0Dh get_last
 0Eh create
 0Fh stat
 10h extend
 11h set_dir: set directory information
 12h get_dir: get directory information
 13h begin_trans
 14h end_trans
 15h abort_trans
 16h get_pos: get record position number
 17h get_direct: get data by sending record position
 18h step_direct
 19h stop
 1Ah version
 1Bh unlock
 1Ch reset
 1Dh set owner
 1Eh clear owner
 1Fh create supplemental index
 20h drop supplemental index
 21h step first
 22h step last
 23h step next
 31h ???
 37h ???
 38h ???
 39h ???
 3Ah ???
 3Bh ???
 3Ch ???
 3Dh ???
 3Eh ???
 3Fh ???
 add 100 (64h) for a single-record wait lock (automatically released on next
                get)
 add 200 (C8h) for a single-record nowait lock (nowait lock returns error 54h
                or 55h if record already locked)
 add 300 (12Ch) for a multiple-record wait lock (not released until unlock
                called)
 add 400 (190h) for a multiple-record nowait lock (nowait lock returns error
                54h or 55h if record already locked)

Values for status code:
 00h successful
 01h invalid operation
 02h I/O error
 03h file not open
 04h key value not found
 05h duplicate key value
 06h invalid key number
 07h different key number
 08h invalid positioning
 09h end of file
 0Ah modifiable key value error
 0Bh invalid file name
 0Ch file not found
 0Dh extended file error
 0Eh pre-image open error
 0Fh pre-image I/O error
 10h expansion error
 11h close error
 12h disk full
 13h unrecoverable error
 14h record manager inactive
 15h key buffer too short
 16h data buffer length overrun
 17h position block length
 18h page size error
 19h create I/O error
 1Ah number of keys
 1Bh invalid key position
 1Ch invalid record length
 1Dh invalid key length
 1Eh not a Btrieve file
 1Fh file already extended
 20h extended I/O error
 22h invalid extension name
 23h directory error
 24h transaction error
 25h transaction is active
 26h transaction control file I/O error
 27h end/abort transaction error
 28h transaction max files
 29h operation not allowed
 2Ah incomplete accelerated access
 2Bh invalid record address
 2Ch null key path
 2Dh inconsistent key flags
 2Eh access to file denied
 2Fh maximum open files
 30h invalid alternate sequence definition
 31h key type error
 32h owner already set
 33h invalid owner
 34h error writing cache
 35h invalid interface
 36h variable page error
 37h autoincrement error
 38h incomplete index
 39h expanded memory error
 3Ah compression buffer too short
 3Bh file already exists
 50h conflict
 51h lock error
 52h lost position
 53h read outside transaction
 54h record in use
 55h file in use
 56h file table full
 57h handle table full
 58h incompatible open mode
 5Dh incompatible lock type
 5Eh permission error

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson