Difference between revisions of "Truxton etl send me file id"
Jump to navigation
Jump to search
(→Syntax) |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
=Syntax= | =Syntax= | ||
| − | < | + | <source lang="C"> |
void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * file_id_string ); | void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * file_id_string ); | ||
| − | </ | + | </source> |
=Parameters= | =Parameters= | ||
==<code>etl_handle</code>== | ==<code>etl_handle</code>== | ||
| − | |||
The handle created by the [[truxton_etl_create]] call. | The handle created by the [[truxton_etl_create]] call. | ||
==<code>file_id_string</code>== | ==<code>file_id_string</code>== | ||
| − | A [https://en.wikipedia.org/wiki/Universally_unique_identifier GUID] in string form. This value must match the <code>ID</code> column of the <code>[[File Table | File]]</code> table. | + | A [https://en.wikipedia.org/wiki/Universally_unique_identifier GUID] in string form. |
| + | This value must match the <code>[ID]</code> column of the <code><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table. | ||
| + | The [[TGUID#File_ID|file identifier]] is not random. | ||
=Remarks= | =Remarks= | ||
| − | Not only must the file be present in the <code>[[File Table | File]]</code> table but the file must also have contents. | + | Not only must the file be present in the <code><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table but the file must also have contents. |
=Sample= | =Sample= | ||
| − | + | <source lang="C" highlight="15"> | |
| − | < | ||
#include <TruxtonCAPI.h> | #include <TruxtonCAPI.h> | ||
| Line 26: | Line 26: | ||
{ | { | ||
char file_id[ 65 ]; | char file_id[ 65 ]; | ||
| − | |||
| − | |||
uint64_t message = 0; | uint64_t message = 0; | ||
| Line 37: | Line 35: | ||
// FOR TESTING PURPOSES ONLY! | // FOR TESTING PURPOSES ONLY! | ||
| − | truxton_etl_send_me_file_id( app, "5ecbebc4-9937-2b88-f691-91a800000024"); | + | truxton_etl_send_me_file_id( app, "5ecbebc4-9937-2b88-f691-91a800000024" ); |
| + | |||
| + | // Pause here until we get a message from the "SampleC" message queue | ||
| + | message = truxton_etl_get_message( app ); | ||
| − | while( | + | while( message != 0 ) |
{ | { | ||
| − | message | + | // 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 ); | truxton_etl_destroy( app ); | ||
} | } | ||
| − | </ | + | </source> |
Latest revision as of 11:28, 10 February 2021
This is used during the development of your exploitation program. It will go to Truxton, find the file and place it into your message queue.
Syntax
void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * file_id_string );
Parameters
etl_handle
The handle created by the truxton_etl_create call.
file_id_string
A GUID in string form.
This value must match the [ID] column of the [File] table.
The file identifier is not random.
Remarks
Not only must the file be present in the [File] table but the file must also have contents.
Sample
#include <TruxtonCAPI.h>
void 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_depot_type_name( app, "custom" );
truxton_etl_set_queue_name( app, "SampleC" );
// FOR TESTING PURPOSES ONLY!
truxton_etl_send_me_file_id( app, "5ecbebc4-9937-2b88-f691-91a800000024" );
// 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 );
}