// timage.h HP3000 Turbo Image interface header // extern declarations to access TurboImage intrinsics. // G. Skvorak, 1997-2005 #ifdef __cplusplus extern "C" { #define STRUCT #else #define STRUCT struct #endif struct Database_Status_Type { short Condition; short Length; int Record_Number; int Chain_count; int Back_pointer; int Forward_pointer; } ; // Intrinsics for accessing database // dbclose base, dataset, mode, status_array extern void dbclose(void*, short int*, short int*, STRUCT Database_Status_Type*); // dbcontrol base, qualifier, mode, status_array extern void dbcontrol(void*, void*, short int*, STRUCT Database_Status_Type*); // dbinfo base, qualifier, mode, status_array, ret_bf extern void dbinfo(void*, void*, short int*, STRUCT Database_Status_Type*, void*); // dbopen base, password, mode, status_array extern void dbopen(void*, short int*, short int*, STRUCT Database_Status_Type*); // Intrinsics to decode status_array into an error message // dberror status_array, buffer, length extern void dberror(STRUCT Database_Status_Type*, void*, short int*); // dbexplain status_array extern void dbexplain(STRUCT Database_Status_Type*); // Intrinsics for reporting data // dbfind base, dataset, mode, status_array, req_list, key_value extern void dbfind(void*, short int*, short int*, STRUCT Database_Status_Type*, short int*, void*); // dbget base, dataset, mode, status_array, req_list, ret_bf, key_value extern void dbget(void*, void*, short int*, STRUCT Database_Status_Type*, void*, void*, void*); // Intrinsics for modifying data // dbdelete base, dataset, mode, status_array extern void dbdelete(void*, short int*, short int*, STRUCT Database_Status_Type*); // dblock base, qualifier, mode, status_array extern void dblock(void*, void*, short int*, STRUCT Database_Status_Type*); // dbput base, dataset, mode, status_array, list, values extern void dbput(void*, short int*, short int*, STRUCT Database_Status_Type*, short int*, void*); // dbupdate base, dataset, mode, status_array, list, values extern void dbupdate(void*, short int*, short int*, STRUCT Database_Status_Type*, short int*, void*); // dbunlock base, dataset, mode, status_array extern void dbunlock(void*, void*, short int*, STRUCT Database_Status_Type*); // Intrinsics for Logging and Roll Back Recovery // dbbegin base, text, mode, status_array, textlen extern void dbbegin(void*, void*, short int*, STRUCT Database_Status_Type*, short int*); // dbend base, text, mode, status_array, textlen extern void dbend(void*, void*, short int*, STRUCT Database_Status_Type*, short int*); // dbmemo base, text, mode, status_array, textlen extern void dbmemo(void*, void*, short int*, STRUCT Database_Status_Type*, short int*); // dbxbegin base, text, mode, status_array, textlen extern void dbxbegin(void*, void*, short int*, STRUCT Database_Status_Type*, short int*); // dbxend base, text, mode, status_array, textlen extern void dbxend(void*, void*, short int*, STRUCT Database_Status_Type*, short int*); // dbxundo base, text, mode, status_array, textlen extern void dbxundo(void*, void*, short int*, STRUCT Database_Status_Type*, short int*); // Since the variables must be passed by reference, these variables make dbget and dbopen // more readable. // dbget modes short int ReRead = 1, Serial = 2, Backward = 3, Direct = 4; short int Chain = 5, ChainBack = 6, Calculated = 7, Primary = 8; // dbopen modes // UpdateL (1) forced locking, allow UpdateL (1) and ReadL (5) // Update (2) , allow Update (2) and ShareRead (6) // ExcUpdate (3) , allow none // Single (4) update , allow multiple ShareRead (6) // ReadL (5) , allow ReadL (5) or UpdateL (1) // ShareRead (6) , allow ShareRead (6) and either: // Update (2), Single (4) or ForceRead (8) // ExcRead (7) , allow none // ForceRead (8) , only allow ShareRead (6) or ForceRead (8) short int UpdateL = 1, Update = 2, ExcUpdate = 3, Single = 4; short int ReadL = 5, ShareRead = 6, ExcRead = 7, ForceRead = 8; // Most common modes for other calls. See docs.hp.com for more TurboImage details on specific calls. short int One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8; #ifdef __cplusplus } #endif