Difference between revisions of "Truxton etl add command line argument"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This is used to build the command line arguments for the process. =Syntax= <syntaxhighlight lang="C"> void truxton_etl_add_command_line_argument( uint64_t etl_handle, char co...")
 
Line 1: Line 1:
 
This is used to build the command line arguments for the process.
 
This is used to build the command line arguments for the process.
 +
Truxton will automatically parse the command line for you but this allows you to programmatically force command line options.
  
 
=Syntax=
 
=Syntax=
 
<syntaxhighlight lang="C">
 
<syntaxhighlight lang="C">
void truxton_etl_add_command_line_argument( uint64_t etl_handle, char const * buffer );
+
void truxton_etl_add_command_line_argument( uint64_t etl_handle, char const * argument );
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 9: Line 10:
 
==<code>etl_handle</code>==
 
==<code>etl_handle</code>==
  
The handle created by the [[truxton_create]] call.
+
The handle created by the [[truxton_etl_create]] call.
  
 
=Sample=
 
=Sample=
  
<syntaxhighlight lang="C" highlight="3">
+
<syntaxhighlight lang="C" highlight="16-17">
void add_folder(uint64_t truxton, uint64_t parent_file)
+
#include <TruxtonCAPI.h>
 +
 
 +
void main( void )
 
{
 
{
  truxton_start_adding_files(truxton);
+
    char file_id[ 65 ];
  
  uint64_t child = truxton_child_file_new_child(parent_file);
+
    int exit_loop = 0;
  
  truxton_child_file_set_type(child, Type_Directory);
+
    uint64_t message = 0;
  truxton_child_file_set_name(child, "Custom Exploits Folder");
+
    uint64_t app = truxton_etl_create();
  
  FILETIME now;
+
    truxton_etl_set_application_name( app, "Sample C ETL" );
 +
    truxton_etl_set_stage_number( app, 42 );
 +
    truxton_etl_set_queue_name( app, "SampleC" );
  
  GetSystemTimeAsFileTime(&now);
+
    truxton_etl_add_command_line_argument( app, "--verbose" );
 +
    truxton_etl_add_command_line_argument( app, "Yes" );
  
  ULARGE_INTEGER ticks;
+
    while( exit_loop == 0 )
 +
    {
 +
        message = truxton_etl_get_message( app );
  
  ticks.LowPart = now.dwLowDateTime;
+
        if ( message != 0 )
  ticks.HighPart = now.dwHighDateTime;
+
        {
 +
            // Do something with the message
  
  truxton_child_file_set_created(child, ticks.QuadPart);
+
            memset( file_id, 0x00, sizeof( file_id ) );
  truxton_child_file_set_accessed(child, ticks.QuadPart);
+
            truxton_message_get_file_id( message, file_id, sizeof( file_id ) );
  truxton_child_file_set_modified(child, ticks.QuadPart);
 
  
  truxton_child_file_set_origin(child, ORIGIN_GENERATED);
+
            printf( "Received file id %s\n", file_id );
  
  if ( truxton_child_file_save(child) == 0 )
+
            truxton_message_destroy( message );
  {
+
        }
      printf( "Failed to add child to Truxton\n" );
+
        else
  }
+
        {
 +
            exit_loop = 1;
 +
        }
 +
    }
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 04:14, 26 May 2020

This is used to build the command line arguments for the process. Truxton will automatically parse the command line for you but this allows you to programmatically force command line options.

Syntax

void truxton_etl_add_command_line_argument( uint64_t etl_handle, char const * argument );

Parameters

etl_handle

The handle created by the truxton_etl_create call.

Sample

#include <TruxtonCAPI.h>

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

    int exit_loop = 0;

    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" );

    truxton_etl_add_command_line_argument( app, "--verbose" );
    truxton_etl_add_command_line_argument( app, "Yes" );

    while( exit_loop == 0 )
    {
        message = truxton_etl_get_message( app );

        if ( 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 );
        }
        else
        {
            exit_loop = 1;
        }
    }
}