8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-27 05:23:02 +01:00
firebird-mirror/src/jrd/why_proto.h

299 lines
12 KiB
C
Raw Normal View History

2001-05-23 15:26:42 +02:00
/*
* PROGRAM: JRD Access Method
* MODULE: why_proto.h
* DESCRIPTION: Prototype header file for why.cpp
2001-05-23 15:26:42 +02:00
*
* The contents of this file are subject to the Interbase Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy
* of the License at http://www.Inprise.com/IPL.html
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
* or implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code was created by Inprise Corporation
* and its predecessors. Portions created by Inprise Corporation are
* Copyright (C) Inprise Corporation.
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
#ifndef JRD_WHY_PROTO_H
#define JRD_WHY_PROTO_H
#ifdef __cplusplus
extern "C" {
#endif
2004-02-28 20:32:46 +01:00
#ifndef WHY_NO_API
2001-05-23 15:26:42 +02:00
#ifndef JRD_IBASE_H
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_allocate_statement(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*);
ISC_STATUS API_ROUTINE isc_dsql_alloc_statement2(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*);
ISC_STATUS API_ROUTINE isc_dsql_describe(ISC_STATUS *, FB_API_HANDLE*, USHORT, XSQLDA*);
ISC_STATUS API_ROUTINE isc_dsql_describe_bind(ISC_STATUS*, FB_API_HANDLE*,
2003-11-06 04:03:36 +01:00
USHORT, XSQLDA*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_execute(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
2003-11-06 04:03:36 +01:00
USHORT, XSQLDA*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_execute_m(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, USHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_execute2(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, USHORT,
2003-11-06 04:03:36 +01:00
XSQLDA*, XSQLDA*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_execute2_m(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT, const SCHAR*,
2003-11-06 04:03:36 +01:00
USHORT, USHORT, SCHAR*, USHORT,
SCHAR*, USHORT, USHORT,
SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_execute_immediate(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT,
2003-11-06 04:03:36 +01:00
XSQLDA*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_exec_immed2(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, XSQLDA*,
2003-11-06 04:03:36 +01:00
XSQLDA*);
ISC_STATUS API_ROUTINE isc_dsql_execute_immediate_m(ISC_STATUS*,
2004-05-03 01:06:37 +02:00
FB_API_HANDLE*,
FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT,
USHORT, const SCHAR*,
2001-05-23 15:26:42 +02:00
USHORT, USHORT,
2003-11-06 04:03:36 +01:00
SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_exec_immed2_m(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, USHORT,
const SCHAR*, USHORT, USHORT,
2003-11-06 04:03:36 +01:00
SCHAR*, USHORT, SCHAR*,
USHORT, USHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_exec_immed3_m(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, USHORT,
const SCHAR*, USHORT, USHORT,
2003-11-06 04:03:36 +01:00
SCHAR*, USHORT, SCHAR*,
USHORT, USHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_fetch(ISC_STATUS*, FB_API_HANDLE*, USHORT, XSQLDA*);
2001-05-23 15:26:42 +02:00
#ifdef SCROLLABLE_CURSORS
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_fetch2(ISC_STATUS*, FB_API_HANDLE*, USHORT,
2003-11-06 04:03:36 +01:00
XSQLDA*, USHORT, SLONG);
2001-05-23 15:26:42 +02:00
#endif
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_fetch_m(ISC_STATUS*, FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, USHORT, SCHAR*);
2001-05-23 15:26:42 +02:00
#ifdef SCROLLABLE_CURSORS
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_fetch2_m(ISC_STATUS*, FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, USHORT, SCHAR*,
2001-05-23 15:26:42 +02:00
USHORT, SLONG);
#endif
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_free_statement(ISC_STATUS*, FB_API_HANDLE*, USHORT);
ISC_STATUS API_ROUTINE isc_dsql_insert(ISC_STATUS*, FB_API_HANDLE*, USHORT, XSQLDA*);
ISC_STATUS API_ROUTINE isc_dsql_insert_m(ISC_STATUS*, FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT,
USHORT, const SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_prepare(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT, const SCHAR*,
2003-11-06 04:03:36 +01:00
USHORT, XSQLDA*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_prepare_m(ISC_STATUS*, FB_API_HANDLE*,
FB_API_HANDLE*, USHORT, const SCHAR*,
2003-11-06 04:03:36 +01:00
USHORT, USHORT, const SCHAR*, USHORT,
SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_set_cursor_name(ISC_STATUS*, FB_API_HANDLE*,
const SCHAR*, USHORT);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_dsql_sql_info(ISC_STATUS*, FB_API_HANDLE*, SSHORT,
const SCHAR*, SSHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
//ISC_STATUS API_ROUTINE isc_prepare_transaction2(ISC_STATUS*, FB_API_HANDLE*, USHORT,
2003-11-06 04:03:36 +01:00
// UCHAR*);
2003-12-22 11:00:59 +01:00
// Deprecated in favor of FPTR_EVENT_CALLBACK
//typedef void event_ast_routine(UCHAR*, USHORT, UCHAR*);
2004-05-03 01:06:37 +02:00
//ISC_STATUS API_ROUTINE isc_que_events(ISC_STATUS*, FB_API_HANDLE*, SLONG*,
2003-12-22 11:00:59 +01:00
// USHORT, const UCHAR*,
// FPTR_EVENT_CALLBACK, void*);
2003-11-06 04:03:36 +01:00
//#ifdef SCROLLABLE_CURSORS
2004-05-03 01:06:37 +02:00
//ISC_STATUS API_ROUTINE isc_receive2(ISC_STATUS*, FB_API_HANDLE*, USHORT,
2003-11-06 04:03:36 +01:00
// USHORT, SCHAR*, SSHORT, USHORT,
// ULONG);
//#endif
2004-05-03 01:06:37 +02:00
//ISC_STATUS API_ROUTINE isc_rollback_transaction(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
//ISC_STATUS API_ROUTINE_VARARG isc_start_transaction(ISC_STATUS*,
2004-05-03 01:06:37 +02:00
// FB_API_HANDLE*, SSHORT,
2003-11-06 04:03:36 +01:00
// ...);
ISC_STATUS API_ROUTINE isc_attach_database(ISC_STATUS*, SSHORT, const TEXT*,
2004-05-03 01:06:37 +02:00
FB_API_HANDLE* , SSHORT, const SCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_blob_info(ISC_STATUS*, FB_API_HANDLE*, SSHORT, const SCHAR*,
2003-11-06 04:03:36 +01:00
SSHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_cancel_blob(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_cancel_events(ISC_STATUS*, FB_API_HANDLE*, SLONG*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_close_blob(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_commit_transaction(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_commit_retaining(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_compile_request(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
USHORT, const SCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_compile_request2(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
USHORT, const SCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_create_blob(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
FB_API_HANDLE*, SLONG*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_create_blob2(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
FB_API_HANDLE*, SLONG*, SSHORT, const UCHAR*);
2003-11-06 04:03:36 +01:00
ISC_STATUS API_ROUTINE isc_create_database(ISC_STATUS*, USHORT, const TEXT*,
2004-05-03 01:06:37 +02:00
FB_API_HANDLE*, SSHORT, const UCHAR*,
2003-11-06 04:03:36 +01:00
USHORT);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_database_info(ISC_STATUS*, FB_API_HANDLE*, SSHORT,
2003-11-06 04:03:36 +01:00
const SCHAR*, SSHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_ddl(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, SSHORT, const UCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_detach_database(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_drop_database(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_get_segment(ISC_STATUS*, FB_API_HANDLE*, USHORT*, USHORT,
2003-11-06 04:03:36 +01:00
UCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_get_slice(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, ISC_QUAD*,
2003-12-03 09:19:24 +01:00
USHORT, const UCHAR*, USHORT, const UCHAR*,
2003-11-06 04:03:36 +01:00
SLONG, UCHAR*, SLONG*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_open_blob(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, FB_API_HANDLE*,
2003-11-06 04:03:36 +01:00
SLONG*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_open_blob2(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, FB_API_HANDLE*,
2003-11-06 04:03:36 +01:00
SLONG*, SSHORT, const UCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_prepare_transaction(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_prepare_transaction2(ISC_STATUS*, FB_API_HANDLE*, USHORT,
const UCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_put_segment(ISC_STATUS*, FB_API_HANDLE*, USHORT, const UCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_put_slice(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, ISC_QUAD*,
2004-02-03 12:25:29 +01:00
USHORT, const UCHAR*, USHORT, const SLONG*,
2003-11-06 04:03:36 +01:00
SLONG, UCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_que_events(ISC_STATUS*, FB_API_HANDLE*, SLONG*, USHORT,
2003-12-22 11:00:59 +01:00
const UCHAR*,
FPTR_EVENT_CALLBACK, void*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_receive(ISC_STATUS*, FB_API_HANDLE*, USHORT, USHORT,
2003-11-06 04:03:36 +01:00
SCHAR*, SSHORT);
#ifdef SCROLLABLE_CURSORS
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_receive2(ISC_STATUS*, FB_API_HANDLE*, USHORT, USHORT, SCHAR*,
2003-11-06 04:03:36 +01:00
SSHORT, USHORT, ULONG);
#endif
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_reconnect_transaction(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
2003-11-06 04:03:36 +01:00
SSHORT, const UCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_release_request(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_request_info(ISC_STATUS*, FB_API_HANDLE*, SSHORT, SSHORT,
2003-11-06 04:03:36 +01:00
const SCHAR*, SSHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_rollback_retaining(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_rollback_transaction(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_seek_blob(ISC_STATUS*, FB_API_HANDLE*, SSHORT, SLONG,
2003-11-06 04:03:36 +01:00
SLONG*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_send(ISC_STATUS*, FB_API_HANDLE*, USHORT, USHORT, const SCHAR*,
2003-11-06 04:03:36 +01:00
SSHORT);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_service_attach(ISC_STATUS*, USHORT, const TEXT*, FB_API_HANDLE*,
2003-12-03 09:19:24 +01:00
USHORT, const SCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_service_detach(ISC_STATUS*, FB_API_HANDLE*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_service_query(ISC_STATUS*, FB_API_HANDLE*, ULONG*, USHORT,
2003-11-06 04:03:36 +01:00
const SCHAR*, USHORT, const SCHAR*,
USHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_service_start(ISC_STATUS*, FB_API_HANDLE*, ULONG*, USHORT,
const SCHAR*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_start_and_send(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
USHORT, USHORT, const SCHAR*, SSHORT);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_start_request(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, SSHORT);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_start_multiple(ISC_STATUS*, FB_API_HANDLE*, SSHORT, void*);
2003-11-06 04:03:36 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE_VARARG isc_start_transaction(ISC_STATUS*, FB_API_HANDLE*,
2003-11-06 04:03:36 +01:00
SSHORT, ...);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_transact_request(ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*,
2003-12-03 09:19:24 +01:00
USHORT, const SCHAR*, USHORT,
2003-11-06 04:03:36 +01:00
SCHAR*, USHORT, SCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_transaction_info(ISC_STATUS*, FB_API_HANDLE*, SSHORT,
2003-11-06 04:03:36 +01:00
const SCHAR*, SSHORT, UCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_unwind_request(ISC_STATUS*, FB_API_HANDLE*, SSHORT);
#ifndef REQUESTER
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_wait_for_event(ISC_STATUS*, FB_API_HANDLE*, USHORT,
const UCHAR*, UCHAR*);
#endif
2004-02-28 20:32:46 +01:00
#endif /* JRD_IBASE_H */
#endif /* WHY_NO_API */
2003-11-06 04:03:36 +01:00
2003-11-08 17:40:17 +01:00
#define CANCEL_disable 1
#define CANCEL_enable 2
#define CANCEL_raise 3
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE gds__cancel_operation(ISC_STATUS*, FB_API_HANDLE*, USHORT);
2003-11-08 17:40:17 +01:00
typedef void AttachmentCleanupRoutine(FB_API_HANDLE*, void*);
typedef void TransactionCleanupRoutine(FB_API_HANDLE, void*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE isc_database_cleanup(ISC_STATUS*, FB_API_HANDLE*,
AttachmentCleanupRoutine*, void*);
2003-11-06 04:03:36 +01:00
int API_ROUTINE gds__disable_subsystem(TEXT*);
int API_ROUTINE gds__enable_subsystem(TEXT*);
2003-11-08 17:40:17 +01:00
2004-05-03 01:06:37 +02:00
ISC_STATUS gds__handle_cleanup(ISC_STATUS*, FB_API_HANDLE*);
#define INTL_FUNCTION_CHAR_LENGTH 1
#define INTL_FUNCTION_CONV_TO_METADATA 2
ISC_STATUS API_ROUTINE gds__intl_function(ISC_STATUS*, FB_API_HANDLE*, USHORT, UCHAR, USHORT, const UCHAR*, void*);
#define DSQL_CACHE_USE 1
#define DSQL_CACHE_RELEASE 2
ISC_STATUS API_ROUTINE gds__dsql_cache(ISC_STATUS*, FB_API_HANDLE*, USHORT, int, const char*, bool*);
2006-07-18 04:45:35 +02:00
ISC_STATUS API_ROUTINE gds__internal_compile_request(
ISC_STATUS*, FB_API_HANDLE*, FB_API_HANDLE*, USHORT,
const SCHAR*, USHORT, const char*, USHORT, const UCHAR*);
2004-05-03 01:06:37 +02:00
ISC_STATUS API_ROUTINE gds__transaction_cleanup(ISC_STATUS*, FB_API_HANDLE*,
TransactionCleanupRoutine*, void*);
2004-05-03 01:06:37 +02:00
void WHY_cleanup_transaction(struct why_hndl* transaction);
2001-05-23 15:26:42 +02:00
#ifdef SERVER_SHUTDOWN
BOOLEAN WHY_set_shutdown(BOOLEAN);
BOOLEAN WHY_get_shutdown();
2003-11-06 04:03:36 +01:00
#endif /* SERVER_SHUTDOWN*/
2001-05-23 15:26:42 +02:00
#ifdef __cplusplus
2003-11-06 04:03:36 +01:00
} /* extern "C"*/
2001-05-23 15:26:42 +02:00
#endif
2003-11-06 04:03:36 +01:00
#endif // JRD_WHY_PROTO_H