Difference between revisions of "Truxton message get depot length"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This tells you how many bytes in the depot file this file's contents consume. This corresponds to the <code>Length</code> column of the <code>Content</code> table....")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
This tells you how many bytes in the [[Depot | depot]] file this file's contents consume.
 
This tells you how many bytes in the [[Depot | depot]] file this file's contents consume.
This corresponds to the <code>Length</code> column of the <code>Content</code> table.
+
This corresponds to the <code>[Length]</code> column of the <code>[Content]</code> table.
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
uint32_t truxton_message_get_depot_length( uint64_t message_handle );
 
uint32_t truxton_message_get_depot_length( uint64_t message_handle );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
Line 15: Line 15:
  
 
=Sample=
 
=Sample=
<syntaxhighlight lang="C" highlight="3">
+
<source lang="C" highlight="3">
void dump_length(uint64_t message)
+
void dump_length( uint64_t message )
 
{
 
{
 
   uint64_t value = truxton_message_get_depot_length( message );
 
   uint64_t value = truxton_message_get_depot_length( message );
Line 22: Line 22:
 
   printf( "Size is %" PRIu64 "\n", value );
 
   printf( "Size is %" PRIu64 "\n", value );
 
}
 
}
</syntaxhighlight>
+
</source>
 +
 
 +
The <code>PRIu64</code> in the sample code above is a standard way of [https://en.wikipedia.org/wiki/C_data_types#Printf_and_scanf_format_specifiers formatting] a 64-bit unsigned integer in C.
 +
Over the years, different compilers on different operating systems used different format specifiers for things, these <code>PRI</code> macros, along with some tricky string concatenation the compilers perform for you, allow you to maintain a single code base without a bunch of macro magic.

Latest revision as of 07:22, 6 February 2021

This tells you how many bytes in the depot file this file's contents consume. This corresponds to the [Length] column of the [Content] table.

Syntax

uint32_t truxton_message_get_depot_length( uint64_t message_handle );

Parameters

message_handle

The handle to a message created by the truxton_message_create call.

Return value

The number of bytes in the depot that you can read for this file's contents.

Sample

void dump_length( uint64_t message )
{
   uint64_t value = truxton_message_get_depot_length( message );

   printf( "Size is %" PRIu64 "\n", value );
}

The PRIu64 in the sample code above is a standard way of formatting a 64-bit unsigned integer in C. Over the years, different compilers on different operating systems used different format specifiers for things, these PRI macros, along with some tricky string concatenation the compilers perform for you, allow you to maintain a single code base without a bunch of macro magic.