Truxton set black box value

From truxwiki.com
Jump to navigation Jump to search

This function writes values to the Black Box about where you are in your source code.

Syntax

void truxton_set_black_box_value( uint64_t slot, uint64_t value, uint64_t source_code_file_identifier, uint64_t line_number_in_the_source_code_file );

Parameters

slot

The index of the 20 possible slots to write an integer value.

value

An integer value to be stored in the given slot.

source_code_file_identifier

An integer value that you created to represent the name of the source code file.

line_number_in_the_source_code_file

An integer value that you created to represent the name of the source code file.

Sample

#define CHECK_SIZE_CPP (0x1122334455)

int is_valid_size( file_object * f )
{
   truxton_set_black_box_value( 10, f->bytes_per_page, CHECK_SIZE_CPP, __LINE__ );
   truxton_set_black_box_value( 11, f->bytes_per_sector, CHECK_SIZE_CPP, __LINE__ );

   if ( f->bytes_per_page < 3 )
   {
      return( 0 );
   }

   truxton_set_black_box_source_code_location( CHECK_SIZE_CPP, __LINE__ );

   if ( check_alignment( f ) == 0 )
   {
      return( 0 );
   }

   truxton_set_black_box_source_code_location( CHECK_SIZE_CPP, __LINE__ );

   if ( ( f->bytes_per_sector % 512 ) == 0 )
   {
      return( 1 );
   }
   
   truxton_set_black_box_source_code_location( CHECK_SIZE_CPP, __LINE__ );

   return( 0 );
}