8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 05:23:02 +01:00
firebird-mirror/src/jrd/lck_proto.h
dimitr ec1d5a91b4 1) Encapsulated the lock manager and integrated it into the engine.
2) Replaced "early" (before LM) checkouts with "late" (inside LM) ones.
3) Removed the mutex protection that's no longer necessary.
Note: the new LM contains some future code (currently commented out) which will be enabled and tested after the Alpha release.
2008-06-07 09:08:16 +00:00

53 lines
1.9 KiB
C++

/*
* PROGRAM: JRD Access Method
* MODULE: lck_proto.h
* DESCRIPTION: Prototype header file for lck.cpp
*
* 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_LCK_PROTO_H
#define JRD_LCK_PROTO_H
#include "../jrd/lck.h"
#include "../lock/lock_proto.h"
namespace Jrd {
enum lck_t;
}
void LCK_assert(Jrd::thread_db*, Jrd::Lock*);
bool LCK_convert(Jrd::thread_db*, Jrd::Lock*, USHORT, SSHORT);
bool LCK_convert_opt(Jrd::thread_db*, Jrd::Lock*, USHORT);
int LCK_downgrade(Jrd::thread_db*, Jrd::Lock*);
void LCK_fini(Jrd::thread_db*, Jrd::lck_owner_t);
SLONG LCK_get_owner_handle(Jrd::thread_db*, Jrd::lck_t);
SLONG LCK_get_owner_handle_by_type(Jrd::thread_db*, Jrd::lck_owner_t);
bool LCK_set_owner_handle(Jrd::thread_db*, Jrd::Lock*, SLONG);
void LCK_init(Jrd::thread_db*, Jrd::lck_owner_t);
bool LCK_lock(Jrd::thread_db*, Jrd::Lock*, USHORT, SSHORT);
bool LCK_lock_opt(Jrd::thread_db*, Jrd::Lock*, USHORT, SSHORT);
SLONG LCK_query_data(Jrd::thread_db*, Jrd::Lock*, Jrd::lck_t, USHORT);
SLONG LCK_read_data(Jrd::thread_db*, Jrd::Lock*);
void LCK_release(Jrd::thread_db*, Jrd::Lock*);
void LCK_re_post(Jrd::thread_db*, Jrd::Lock*);
void LCK_write_data(Jrd::thread_db*, Jrd::Lock*, SLONG);
#endif // JRD_LCK_PROTO_H