campo-sirio/cb/source/d4inline.c
alex af15e0698b Codebase
git-svn-id: svn://10.65.10.50/trunk@4679 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-06-16 13:01:08 +00:00

174 lines
3.4 KiB
C
Executable File

/* d4inline.c (c)Copyright Sequiter Software Inc., 1988-1996. All rights reserved. */
#include "d4all.h"
#ifndef S4UNIX
#ifdef __TURBOC__
#pragma hdrstop
#endif /* __TUROBC__ */
#endif /* S4UNIX */
#ifdef S4SERVER
#ifndef S4SINGLE
int S4FUNCTION code4unlockAuto( CODE4 *c4 )
{
int rc ;
rc = code4trans( c4 )->unlockAuto ;
#ifndef S4OFF_WRITE
#ifndef S4OFF_TRAN
if ( rc != 0 )
{
if ( code4tranStatus( c4 ) == r4rollback )
return 0 ;
if ( code4transEnabled( c4 ) )
if ( code4tranStatus( c4 ) == r4active )
return 0 ;
}
#endif
#endif
return rc ;
}
#endif
#endif
#ifndef S4INLINE
/*
#ifndef S4SINGLE
int trans4unlockAuto( TRAN4 *t4 )
{
return t4->unlockAuto ;
}
void trans4unlockAutoSet( TRAN4 *t4, int val )
{
t4->unlockAuto = val ;
}
#endif
*/
#ifndef S4SERVER
#ifndef S4SINGLE
int code4unlockAutoSave( CODE4 *c4 )
{
return c4->c4trans.trans.savedUnlockAuto ;
}
int S4FUNCTION code4unlockAuto( CODE4 *c4 )
{
return c4->c4trans.trans.unlockAuto ;
}
S4EXPORT void S4FUNCTION code4unlockAutoSet( CODE4 *c4, int val )
{
c4->c4trans.trans.unlockAuto = val ;
}
#endif /* S4SINGLE */
#ifndef S4OFF_WRITE
#ifndef S4OFF_TRAN
int S4FUNCTION code4tranStatus( CODE4 *c4 )
{
return c4->c4trans.trans.currentTranStatus ;
}
S4EXPORT int S4FUNCTION code4tranStatusSet( CODE4 *c4, const int val )
{
return c4->c4trans.trans.currentTranStatus = val ;
}
#endif
#endif
#endif /* S4SERVER */
#ifdef S4SERVER
#ifndef S4SINGLE
int code4unlockAutoSave( CODE4 *c4 )
{
return c4->currentClient->trans.savedUnlockAuto ;
}
void S4FUNCTION code4unlockAutoSet( CODE4 *c4, int val )
{
c4->currentClient->trans.unlockAuto = val ;
}
#endif /* S4SINGLE */
#ifndef S4OFF_WRITE
#ifndef S4OFF_TRAN
int S4FUNCTION code4tranStatus( CODE4 *c4 )
{
return c4->currentClient->trans.currentTranStatus ;
}
int S4FUNCTION code4tranStatusSet( CODE4 *c4, const int val )
{
return c4->currentClient->trans.currentTranStatus = val ;
}
int code4transEnabled( CODE4 *c4 )
{
#ifdef S4CLIENT
return ( c4->currentClient->trans.c4trans->enabled ) ;
#else
return ( c4->currentClient->trans.c4trans->enabled && code4tranStatus( c4 ) != r4rollback && code4tranStatus( c4 ) != r4off ) ;
#endif
}
#endif /* S4OFF_TRAN */
#endif /* S4OFF_WRITE */
TRAN4 *code4trans( CODE4 *c4 )
{
return &c4->currentClient->trans ;
}
#else
#ifndef S4OFF_TRAN
int code4transEnabled( CODE4 *c4 )
{
#ifdef S4CLIENT
return c4->c4trans.enabled ;
#else
return ( c4->c4trans.enabled && code4tranStatus( c4 ) != r4rollback && code4tranStatus( c4 ) != r4off ) ;
#endif
}
#endif /* S4OFF_TRAN */
TRAN4 *code4trans( CODE4 *c4 )
{
return &c4->c4trans.trans ;
}
#endif
#ifndef S4CLIENT
#ifndef S4OFF_TRAN
unsigned short int tran4entryLen( LOG4HEADER *header )
{
return sizeof( LOG4HEADER ) + header->dataLen + sizeof( TRAN4ENTRY_LEN ) ;
}
#endif
#endif
int tran4dataListSet( TRAN4 *t4, LIST4 *list )
{
#ifdef E4PARM_LOW
if ( t4 == 0 )
return error4( 0, e4parm_null, E93839 ) ;
#endif
t4->dataList = list ;
return 0 ;
}
LIST4 *S4FUNCTION tran4dataList( TRAN4 *t4 )
{
#ifdef E4PARM_LOW
if ( t4 == 0 )
{
error4( 0, e4parm_null, E93838 ) ;
return 0 ;
}
#endif
return t4->dataList ;
}
#endif /* S4INLINE */