Difference between revisions of "Truxton etl create"

From truxwiki.com
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
This is the first step in creating a Truxton exploitation process.
 
This is the first step in creating a Truxton exploitation process.
 
It creates the ETL object.
 
It creates the ETL object.
 +
This ETL will already have the [[Default ETL Options|default options.]]
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
uint64_t truxton_etl_create( void );
 
uint64_t truxton_etl_create( void );
</syntaxhighlight>
+
</source>
 +
 
 +
=Return value=
 +
A non-zero value on success, zero on failure.
  
 
=Sample=
 
=Sample=
 
+
<source lang="C" highlight="10">
<syntaxhighlight lang="C" highlight="11">
+
#include <memory.h>
 
#include <TruxtonCAPI.h>
 
#include <TruxtonCAPI.h>
 
#pragma hdrstop
 
#pragma hdrstop
  
void main( void )
+
int main( void )
 
{
 
{
    char file_id[ 65 ];
+
  char file_id[ 65 ];
 +
 
 +
  uint64_t message = 0;
 +
  uint64_t app = truxton_etl_create();
  
    int exit_loop = 0;
+
  truxton_etl_set_application_name( app, "Sample C ETL" );
 +
  truxton_etl_set_stage_number( app, 42 );
 +
  truxton_etl_set_queue_name( app, "SampleC" );
  
    uint64_t message = 0;
+
  // Pause here until we get a message from the "SampleC" message queue
    uint64_t app = truxton_etl_create();
+
  message = truxton_etl_get_message( app );
  
    truxton_etl_set_application_name( app, "Sample C ETL" );
+
  while( message != 0 )
    truxton_etl_set_stage_number( app, 42 );
+
  {
    truxton_etl_set_queue_name( app, "SampleC" );
+
      // Do something with the message
  
    while( exit_loop == 0 )
+
      memset( file_id, 0x00, sizeof( file_id ) );
    {
+
      truxton_message_get_file_id( message, file_id, sizeof( file_id ) );
        message = truxton_etl_get_message( app );
 
  
        if ( message != 0 )
+
      printf( "Received file id %s\n", file_id );
        {
 
            // Do something with the message
 
  
            memset( file_id, 0x00, sizeof( file_id ) );
+
      truxton_message_destroy( message );
            truxton_message_get_file_id( message, file_id, sizeof( file_id ) );
 
  
            printf( "Received file id %s\n", file_id );
+
      // Pause here until we get another message from the "SampleC" message queue
 +
      message = truxton_etl_get_message( app );
 +
  }
  
            truxton_message_destroy( message );
+
  truxton_etl_destroy( app );
        }
+
  return(0);
        else
 
        {
 
            exit_loop = 1;
 
        }
 
    }
 
 
}
 
}
 
+
</source>
</syntaxhighlight>
 

Latest revision as of 09:51, 3 April 2021

This is the first step in creating a Truxton exploitation process. It creates the ETL object. This ETL will already have the default options.

Syntax

uint64_t truxton_etl_create( void );

Return value

A non-zero value on success, zero on failure.

Sample

#include <memory.h>
#include <TruxtonCAPI.h>
#pragma hdrstop

int main( void )
{
   char file_id[ 65 ];

   uint64_t message = 0;
   uint64_t app = truxton_etl_create();

   truxton_etl_set_application_name( app, "Sample C ETL" );
   truxton_etl_set_stage_number( app, 42 );
   truxton_etl_set_queue_name( app, "SampleC" );

   // Pause here until we get a message from the "SampleC" message queue
   message = truxton_etl_get_message( app );

   while( message != 0 )
   {
      // Do something with the message

      memset( file_id, 0x00, sizeof( file_id ) );
      truxton_message_get_file_id( message, file_id, sizeof( file_id ) );

      printf( "Received file id %s\n", file_id );

      truxton_message_destroy( message );

      // Pause here until we get another message from the "SampleC" message queue
      message = truxton_etl_get_message( app );
   }

   truxton_etl_destroy( app );
   return(0);
}