Difference between revisions of "Truxton child file write"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This API stored file contents in Truxton. =Syntax= <syntaxhighlight lang="C"> uint64_t truxton_child_file_write( uint64_t child_handle, void * buffer, size_t buffer_size ); <...")
 
Line 2: Line 2:
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
uint64_t truxton_child_file_write( uint64_t child_handle, void * buffer, size_t buffer_size );
 
uint64_t truxton_child_file_write( uint64_t child_handle, void * buffer, size_t buffer_size );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
 
==<code>child_handle</code>==
 
==<code>child_handle</code>==
 
 
The handle created by the [[truxton_child_file_create]] call.
 
The handle created by the [[truxton_child_file_create]] call.
  
 
==<code>buffer</code>==
 
==<code>buffer</code>==
 
 
A pointer to the bytes to write to Truxton.
 
A pointer to the bytes to write to Truxton.
  
 
==<code>buffer_size</code>==
 
==<code>buffer_size</code>==
 
 
The number of bytes to write.
 
The number of bytes to write.
  
 
=Return value=
 
=Return value=
 
 
Zero on failure.
 
Zero on failure.
 
If all of the bytes were successfully written to the file, <code>buffer_size</code> will be returned.
 
If all of the bytes were successfully written to the file, <code>buffer_size</code> will be returned.
  
 
=Sample=
 
=Sample=
 
+
<source lang="C" highlight="35">
<syntaxhighlight lang="C" highlight="35">
 
 
void add_text(uint64_t truxton, uint64_t parent_file)
 
void add_text(uint64_t truxton, uint64_t parent_file)
 
{
 
{
Line 42: Line 37:
 
   FILETIME now;
 
   FILETIME now;
  
   GetSystemTimeAsFileTime(&now);
+
   GetSystemTimePreciseAsFileTime(&now);
  
 
   ULARGE_INTEGER ticks;
 
   ULARGE_INTEGER ticks;
Line 70: Line 65:
 
   truxton_child_file_destroy(child);
 
   truxton_child_file_destroy(child);
 
}
 
}
</syntaxhighlight>
+
</source>

Revision as of 05:39, 13 November 2020

This API stored file contents in Truxton.

Syntax

uint64_t truxton_child_file_write( uint64_t child_handle, void * buffer, size_t buffer_size );

Parameters

child_handle

The handle created by the truxton_child_file_create call.

buffer

A pointer to the bytes to write to Truxton.

buffer_size

The number of bytes to write.

Return value

Zero on failure. If all of the bytes were successfully written to the file, buffer_size will be returned.

Sample

void add_text(uint64_t truxton, uint64_t parent_file)
{
   truxton_start_adding_files(truxton);

   uint64_t child = truxton_child_file_create(truxton);

   char id[40];

   truxton_file_get_id(parent_file, id, sizeof(id));
   truxton_child_file_set_parent_id(child, id);
   truxton_child_file_set_type(child, Type_ASCII_Text);
   truxton_child_file_set_name(child, "Hi.txt");

   FILETIME now;

   GetSystemTimePreciseAsFileTime(&now);

   ULARGE_INTEGER ticks;

   ticks.LowPart = now.dwLowDateTime;
   ticks.HighPart = now.dwHighDateTime;

   truxton_child_file_set_created(child, ticks.QuadPart);
   truxton_child_file_set_accessed(child, ticks.QuadPart);
   truxton_child_file_set_modified(child, ticks.QuadPart);

   truxton_child_file_set_origin(child, ORIGIN_GENERATED);

   truxton_child_file_begin_write(child);

   char * message = "Hello World\n";

   truxton_child_file_write( child, message, strlen(message));

   truxton_child_file_end_write( child );

   if ( truxton_child_file_save(child) == 0 )
   {
      printf( "Failed to add child to Truxton\n" );
   }

   truxton_child_file_destroy(child);
}