Truxton set black box value

From truxwiki.com
Revision as of 17:01, 28 May 2023 by Sam (talk | contribs) (Created page with "This function writes values to the Black Box about where you are in your source code. =Syntax= <source lang="C"> void truxton_set_black_box_value( uint64_t slot, uint64_t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 );
}