Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Interrupts & Ports - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

        Btrieve API

        Entry:
          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
                        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 ???
                        adding 100 (64h) or 200 (C8h) appears to result in the same
                          functions with modified behavior
         10h    DWORD   pointer to file name/key buffer
         14h    BYTE    key length
         15h    BYTE    key number
         16h    DWORD   pointer to status code
                        status codes:
                        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
         1Ah    WORD    interface code (version specific)

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