/* e4not_s.c (c)Copyright Sequiter Software Inc., 1990-1994. All rights reserved. */ /* contains error stubs for functions not supported under various compile switches */ #include "d4all.h" #ifndef S4UNIX #ifdef __TURBOC__ #pragma hdrstop #endif #endif #ifndef S4LOCK_HOOK #ifdef S4DLL int S4FUNCTION file4lock_hook( CODE4 *cb, char *file_name, long offset, long num_bytes, int num_tries ) { #ifdef S4DEBUG if ( cb == 0 ) e4severe( e4parm, E4_F4LOCK_HOOK ) ; #endif return e4( cb, e4not_lock, E4_F4LOCK_HOOK ) ; } #endif #endif #ifndef S4ERROR_HOOK #ifdef S4DLL void S4FUNCTION e4hook( CODE4 S4PTR *c4, int err_code, char *desc1, char *desc2, char *desc3 ) { #ifdef S4DEBUG if ( c4 == 0 ) e4severe( e4parm, E4_E4HOOK ) ; #endif } #endif #endif #ifndef S4MDX #ifdef S4DLL int S4FUNCTION t4dump( TAG4 *t4, int out_handle, int display_all ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4DUMP ) ; #endif return e4( t4->code_base, e4not_index, E4_T4DUMP ) ; } #endif #endif #ifdef N4OTHER #ifdef S4DLL int S4FUNCTION i4add_tag( INDEX4 *i4, TAG4INFO *tag_data ) { #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4ADD_TAG ) ; #endif return e4( i4->code_base, e4not_write, E4_I4ADD_TAG ) ; } #endif #endif #ifndef S4CLIPPER #ifndef S4NDX int S4FUNCTION t4flush( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4FLUSH ) ; #endif return e4( t4->code_base, e4not_write, E4_T4FLUSH ) ; } TAG4 *S4FUNCTION t4open( DATA4 *d4, INDEX4 *i4ndx, char *file_name ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_T4OPEN ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_T4OPEN ) ; #endif e4( d4->code_base, e4not_index, E4_T4OPEN ) ; return 0 ; } #endif char *S4FUNCTION c4descend_num( char *to, char *from, int len ) { #ifdef S4DEBUG if ( len == 0 ) e4severe( e4parm, E4_C4DESCEND_NUM ) ; #endif return 0 ; } char *S4FUNCTION c4descend_str( char *to, char *from, int len ) { #ifdef S4DEBUG if ( len == 0 ) e4severe( e4parm, E4_C4DESCEND_STR ) ; #endif return 0 ; } char *S4FUNCTION c4descend_date( char *to, long l, int to_len ) { #ifdef S4DEBUG if ( to_len == 0 ) e4severe( e4parm, E4_C4DESCEND_DATE ) ; #endif return 0 ; } int S4FUNCTION c4descend( FIELD4 *f4, char *to, int to_len ) { #ifdef S4DEBUG if ( to_len == 0 ) e4severe( e4parm, E4_C4DESCEND ) ; #endif return 0 ; } #endif #ifdef S4MEMO_OFF int S4FUNCTION d4memo_compress( DATA4 *data ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4MEMO_COMP ) ) return -1 ; #endif #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4MEMO_COMP ) ; #endif return e4( data->code_base, e4not_memo, E4_D4MEMO_COMP ) ; } int S4FUNCTION f4memo_set_len( FIELD4 S4PTR *field, unsigned ptr_len ) { return e4(field->data->code_base,e4not_memo, E4_F4MEMO_SET_LEN ); } #endif #ifdef S4OFF_WRITE void S4FUNCTION d4blank( DATA4 *data ) { #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4BLANK ) ; #endif e4( data->code_base, e4not_write, E4_D4BLANK ) ; } int S4FUNCTION d4changed( DATA4 *data, int flag ) { #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4CHANGED ) ; #endif return e4( data->code_base, e4not_write, E4_D4CHANGED ) ; } int S4FUNCTION d4append( DATA4 *data ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4APPEND ) ) return -1 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4APPEND ) ; #endif return e4( data->code_base, e4not_write, E4_D4APPEND ) ; } int S4FUNCTION d4append_blank( DATA4 *data ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4APPEND_BL ) ) return -1 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4APPEND_BL ) ; #endif return e4( data->code_base, e4not_write, E4_D4APPEND_BL ) ; } int S4FUNCTION d4append_data( DATA4 *data ) { #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4APPEND_DATA ) ; #endif return e4( data->code_base, e4not_write, E4_D4APPEND_DATA ) ; } int S4FUNCTION d4append_start( DATA4 *data, int use_memo_entries ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4APPEND_STRT ) ) return -1 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4APPEND_STRT ) ; #endif return e4( data->code_base, e4not_write, E4_D4APPEND_STRT ) ; } DATA4 *S4FUNCTION d4create( CODE4 *c4, char *name, FIELD4INFO *field_data, TAG4INFO *tag_info ) { #ifdef S4VBASIC if ( c4parm_check( c4, 1, E4_D4CREATE ) ) return 0 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( c4 == 0 ) e4severe( e4parm, E4_D4CREATE ) ; #endif e4( c4, e4not_write, E4_D4CREATE ) ; return 0 ; } void S4FUNCTION d4delete( DATA4 *data ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4DELETE ) ) return ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4DELETE ) ; #endif e4( data->code_base, e4not_write, E4_D4DELETE ) ; } #ifndef S4MEMO_OFF int S4FUNCTION d4memo_compress( DATA4 *data ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4MEMO_COMP ) ) return -1 ; #endif #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4MEMO_COMP ) ; #endif return e4( data->code_base, e4not_write, E4_D4MEMO_COMP ) ; } #endif int S4FUNCTION d4pack( DATA4 *d4 ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_D4PACK ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4PACK ) ; #endif return e4( d4->code_base, e4not_write, E4_D4PACK ) ; } int S4FUNCTION d4pack_data( DATA4 *d4 ) { #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4PACK_DATA ) ; #endif return e4( d4->code_base, e4not_write, E4_D4PACK_DATA ) ; } void S4FUNCTION d4recall( DATA4 *data ) { #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4RECALL ) ; #endif e4( data->code_base, e4not_write, E4_D4RECALL ) ; } int S4FUNCTION d4reindex( DATA4 *data ) { #ifdef S4VBASIC if ( c4parm_check( data, 2, E4_D4REINDEX ) ) return -1 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( data == 0 ) e4severe( e4parm, E4_D4REINDEX ) ; #endif return e4( data->code_base, e4not_write, E4_D4REINDEX ) ; } int S4FUNCTION d4write( DATA4 *d4, long rec ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_D4WRITE ) ) return 0 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4WRITE ) ; #endif /* S4DEBUG */ return e4( d4->code_base, e4not_write, E4_D4WRITE ) ; } int S4FUNCTION d4write_data( DATA4 *d4, long rec ) { #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4WRITE_DATA ) ; #endif /* S4DEBUG */ return e4( d4->code_base, e4not_write, E4_D4WRITE_DATA ) ; } int S4FUNCTION d4write_keys( DATA4 *d4, long rec ) { #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4WRITE_KEYS ) ; #endif /* S4DEBUG */ return e4( d4->code_base, e4not_write, E4_D4WRITE_KEYS ) ; } int S4FUNCTION d4zap( DATA4 *d4, long r1, long r2 ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_D4ZAP ) ) return -1 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4ZAP ) ; #endif /* S4DEBUG */ return e4( d4->code_base, e4not_write, E4_D4ZAP ) ; } int S4FUNCTION d4zap_data( DATA4 *d4, long start_rec, long end_rec ) { #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4ZAP_DATA ) ; #endif /* S4DEBUG */ return e4( d4->code_base, e4not_write, E4_D4ZAP_DATA ) ; } void S4FUNCTION f4assign( FIELD4 *field, char *str ) { #ifdef S4VBASIC if ( c4parm_check( field, 3, E4_F4ASSIGN ) ) return ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN ) ; } void S4FUNCTION f4assign_char( FIELD4 *field, int chr ) { #ifdef S4VBASIC if ( c4parm_check( field, 3, E4_F4ASSIGN_CHAR ) ) return ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN_CHAR ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN_CHAR ) ; } void S4FUNCTION f4assign_double( FIELD4 *field, double d_value ) { #ifdef S4VBASIC if ( c4parm_check ( field, 3, E4_F4ASSIGN_DBL ) return ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN_DBL ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN_DBL ) ; } void S4FUNCTION f4assign_field( FIELD4 *field_to, FIELD4 *field_from ) { #ifdef S4DEBUG if ( field_to == 0 ) e4severe( e4parm, E4_F4ASSIGN_FLD ) ; #endif e4( field_to->data->code_base, e4not_write, E4_F4ASSIGN_FLD ) ; } void S4FUNCTION f4assign_int( FIELD4 *field, int i_value ) { #ifdef S4VBASIC if ( c4parm_check( field, 3, E4_F4ASSIGN_INT ) ) return ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN_INT ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN_INT ) ; } void S4FUNCTION f4assign_long( FIELD4 *field, long l_value ) { #ifdef S4VBASIC if ( c4parm_check( field, 3, E4_F4ASSIGN_LONG ) ) return ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN_LONG ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN_LONG ) ; } void S4FUNCTION f4assign_n( FIELD4 *field, char *ptr, unsigned ptr_len ) { #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN_N ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN_N ) ; } char *S4FUNCTION f4assign_ptr( FIELD4 *field ) { #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4ASSIGN_PTR ) ; #endif e4( field->data->code_base, e4not_write, E4_F4ASSIGN_PTR ) ; return 0 ; } void S4FUNCTION f4blank( FIELD4 *field ) { #ifdef S4VBASIC if ( c4parm_check( field, 3, E4_F4BLANK ) ) return ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4BLANK ) ; #endif e4( field->data->code_base, e4not_write, E4_F4BLANK ) ; } int S4FUNCTION f4memo_assign( FIELD4 *field, char *ptr ) { #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4MEMO_ASSIGN ) ; #endif return e4( field->data->code_base, e4not_write, E4_F4MEMO_ASSIGN ) ; } int S4FUNCTION f4memo_assign_n( FIELD4 *field, char *ptr, unsigned ptr_len ) { #ifdef S4VBASIC if ( c4parm_check( field, 3, E4_F4MEMO_ASS_N ) ) return -1 ; #endif #ifdef S4DEBUG if ( field == 0 ) e4severe( e4parm, E4_F4MEMO_ASS_N ) ; #endif return e4( field->data->code_base, e4not_write, E4_F4MEMO_ASS_N ) ; } int S4FUNCTION i4add_tag( INDEX4 *i4, TAG4INFO *tag_data ) { #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4ADD_TAG ) ; #endif return e4( i4->code_base, e4not_write, E4_I4ADD_TAG ) ; } INDEX4 *S4FUNCTION i4create( DATA4 *d4, char *file_name, TAG4INFO *tag_data ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_I4CREATE ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_I4CREATE ) ; #endif e4( d4->code_base, e4not_write, E4_I4CREATE ) ; return 0 ; } int S4FUNCTION i4reindex( INDEX4 *i4 ) { #ifdef S4VBASIC if ( c4parm_check( i4, 0, E4_I4REINDEX ) ) return -1 ; #endif /* S4VBASIC */ #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4REINDEX ) ; #endif return e4( i4->code_base, e4not_write, E4_I4REINDEX ) ; } int S4FUNCTION t4add( TAG4 *t4, unsigned char *key_info, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4ADD ) ; #endif return e4( t4->code_base, e4not_write, E4_T4ADD ) ; } int S4FUNCTION t4add_calc( TAG4 *t4, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4ADD_CALC ) ; #endif return e4( t4->code_base, e4not_write, E4_T4ADD_CALC ) ; } #ifndef S4MDX #ifndef S4FOX int S4FUNCTION t4flush( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4FLUSH ) ; #endif return e4( t4->code_base, e4not_write, E4_T4FLUSH ) ; } #endif #endif int S4FUNCTION t4remove( TAG4 *t4, char *ptr, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4REMOVE ) ; #endif return e4( t4->code_base, e4not_write, E4_T4REMOVE ) ; } int S4FUNCTION t4remove_calc( TAG4 *t4, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4REM_CALC ) ; #endif return e4( t4->code_base, e4not_write, E4_T4REM_CALC ) ; } #endif #ifdef S4INDEX_OFF int S4FUNCTION d4seek( DATA4 *d4, char *str ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_D4SEEK ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4SEEK ) ; #endif return e4( d4->code_base, e4not_write, E4_D4SEEK ) ; } int S4FUNCTION d4seek_double( DATA4 *d4, double dkey ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_D4SEEK_DBL ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_D4SEEK_DBL ) ; #endif return e4( d4->code_base, e4not_write, E4_D4SEEK_DBL ) ; } int S4FUNCTION i4close( INDEX4 *i4 ) { #ifdef S4VBASIC if ( c4parm_check( i4, 0, E4_I4CLOSE ) ) return -1 ; #endif if ( i4 == 0 ) return -1 ; return e4( i4->code_base, e4not_index, E4_I4CLOSE ) ; } #ifndef S4OFF_WRITE INDEX4 *S4FUNCTION i4create( DATA4 *d4, char *file_name, TAG4INFO *tag_data ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_I4CREATE ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_I4CREATE ) ; #endif e4( d4->code_base, e4not_index, E4_I4CREATE ) ; return 0 ; } #endif int S4FUNCTION i4lock( INDEX4 *i4 ) { #ifdef S4VBASIC if ( c4parm_check( i4, 0, E4_I4LOCK ) ) return -1 ; #endif #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4LOCK ) ; #endif return e4( i4->code_base, e4not_index, E4_I4LOCK ) ; } INDEX4 *S4FUNCTION i4open( DATA4 *d4, char *file_name ) { #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_I4OPEN ) ; #endif e4( d4->code_base, e4not_index, E4_I4OPEN ) ; return 0 ; } #ifndef S4OFF_WRITE int S4FUNCTION i4reindex( INDEX4 *i4 ) { #ifdef S4VBASIC if ( c4parm_check( i4, 0, E4_I4REINDEX ) ) return -1 ; #endif #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4REINDEX ) ; #endif return e4( i4->code_base, e4not_index, E4_I4REINDEX ) ; } #endif TAG4 *S4FUNCTION i4tag( INDEX4 *i4, char *tag_name ) { #ifdef S4VBASIC if ( c4parm_check( i4, 0, E4_I4TAG ) ) return 0 ; #endif #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4TAG ) ; #endif e4( i4->code_base, e4not_index, E4_I4TAG ) ; return 0 ; } #ifndef S4OFF_WRITE int S4FUNCTION i4add_tag( INDEX4 *i4, TAG4INFO *tag_data ) { #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4ADD_TAG ) ; #endif e4( i4->code_base, e4not_index, E4_I4ADD_TAG ) ; } #endif TAG4INFO *S4FUNCTION i4tag_info( INDEX4 *index ) { #ifdef S4DEBUG if ( index == 0 ) e4severe( e4parm, E4_I4TAG_INFO ) ; #endif e4( index->code_base, e4not_index, E4_I4TAG_INFO ) ; return 0 ; } int S4FUNCTION i4unlock( INDEX4 *i4 ) { #ifdef S4VBASIC if ( c4parm_check( i4, 0, E4_I4UNLOCK ) ) return -1 ; #endif #ifdef S4DEBUG if ( i4 == 0 ) e4severe( e4parm, E4_I4UNLOCK ) ; #endif e4( i4->code_base, e4not_index, E4_I4UNLOCK ) ; } #ifndef S4OFF_WRITE int S4FUNCTION t4add( TAG4 *t4, unsigned char *key_info, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4ADD ) ; #endif return e4( t4->code_base, e4not_index, E4_T4ADD ) ; } int S4FUNCTION t4add_calc( TAG4 *t4, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4ADD_CALC ) ; #endif return e4( t4->code_base, e4not_index, E4_T4ADD_CALC ) ; } #endif int S4FUNCTION t4bottom( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4BOTTOM ) ; #endif return e4( t4->code_base, e4not_index, E4_T4BOTTOM ) ; } int S4FUNCTION t4down( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4DOWN ) ; #endif return e4( t4->code_base, e4not_index, E4_T4DOWN ) ; } int S4FUNCTION t4dump( TAG4 *t4, int out_handle, int display_all ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4DUMP ) ; #endif return e4( t4->code_base, e4not_index, E4_T4DUMP ) ; } int S4FUNCTION t4eof( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4EOF ) ; #endif return e4( t4->code_base, e4not_index, E4_T4EOF ) ; } #ifndef S4OFF_WRITE int S4FUNCTION t4flush( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4FLUSH ) ; #endif return e4( t4->code_base, e4not_index, E4_T4FLUSH ) ; } #endif int S4FUNCTION t4free_all( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4FREE_ALL ) ; #endif return e4( t4->code_base, e4not_index, E4_T4FREE_ALL ) ; } int S4FUNCTION t4go( TAG4 *t4, char *ptr, long rec_num ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4GO ) ; #endif return e4( t4->code_base, e4not_index, E4_T4GO ) ; } char S4PTR *S4FUNCTION t4key( TAG4 S4PTR *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4KEY ) ; #endif e4( t4->code_base, e4not_index, E4_T4KEY ) ; return ; } TAG4 *S4FUNCTION t4open( DATA4 *d4, INDEX4 *i4ndx, char *file_name ) { #ifdef S4VBASIC if ( c4parm_check( d4, 2, E4_T4OPEN ) ) return 0 ; #endif #ifdef S4DEBUG if ( d4 == 0 ) e4severe( e4parm, E4_T4OPEN ) ; #endif e4( d4->code_base, e4not_index, E4_T4OPEN ) ; return 0 ; } double S4FUNCTION t4position( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4POSITION ) ; #endif return e4( t4->code_base, e4not_index, E4_T4POSITION ) ; } int S4FUNCTION t4position_set( TAG4 *t4, double pos ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4POSITION_SET ) ; #endif return e4( t4->code_base, e4not_index, E4_T4POSITION_SET ) ; } long S4FUNCTION t4recno( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4RECNO ) ; #endif return e4( t4->code_base, e4not_index, E4_T4RECNO ) ; } #ifndef S4OFF_WRITE int S4FUNCTION t4remove( TAG4 *t4, char *ptr, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4REMOVE ) ; #endif return e4( t4->code_base, e4not_index, E4_T4REMOVE ) ; } int S4FUNCTION t4remove_calc( TAG4 *t4, long rec ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4REM_CALC ) ; #endif return e4( t4->code_base, e4not_index, E4_T4REM_CALC ) ; } #endif int S4FUNCTION t4seek( TAG4 *t4, void *ptr, int len_ptr ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4SEEK ) ; #endif return e4( t4->code_base, e4not_index, E4_T4SEEK ) ; } long S4FUNCTION t4skip( TAG4 *t4, long num_skip ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4SKIP ) ; #endif return e4( t4->code_base, e4not_index, E4_T4SKIP ) ; } int S4FUNCTION t4top( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4TOP ) ; #endif return e4( t4->code_base, e4not_index, E4_T4TOP ) ; } int S4FUNCTION t4up( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4UP ) ; #endif return e4( t4->code_base, e4not_index, E4_T4UP ) ; } int S4FUNCTION t4up_to_root( TAG4 *t4 ) { #ifdef S4DEBUG if ( t4 == 0 ) e4severe( e4parm, E4_T4UP_TO_ROOT ) ; #endif return e4( t4->code_base, e4not_index, E4_T4UP_TO_ROOT ) ; } #endif #ifdef S4MEMO_OFF int S4FUNCTION f4memo_check( MEMO4FILE *f4memo ) { if ( f4memo == 0 ) return -1 ; return e4( f4memo->data->code_base, e4not_memo, E4_F4MEMO_CHECK ) ; } #else #ifndef S4MMDX int S4FUNCTION f4memo_check( MEMO4FILE *f4memo ) { if ( f4memo == 0 ) return -1 ; return e4( f4memo->data->code_base, e4not_index, E4_F4MEMO_CHECK ) ; } #endif #endif