Difference between revisions of "Truxton child file set attributes"
Jump to navigation
Jump to search
(→Sample) |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
Sets the attributes of the file. | Sets the attributes of the file. | ||
| − | This corresponds to the <code>Attributes</code> column of the <code>[[File Table | File]]</code> table. | + | This corresponds to the <code>[Attributes]</code> column of the <code><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table. |
=Syntax= | =Syntax= | ||
| − | < | + | <source lang="C"> |
void truxton_child_file_set_attributes( uint64_t child_handle, uint64_t attributes ); | void truxton_child_file_set_attributes( uint64_t child_handle, uint64_t attributes ); | ||
| − | </ | + | </source> |
=Parameters= | =Parameters= | ||
==<code>child_handle</code>== | ==<code>child_handle</code>== | ||
| − | |||
The handle created by the [[truxton_child_file_create]] or [[truxton_file_create_child]] call. | The handle created by the [[truxton_child_file_create]] or [[truxton_file_create_child]] call. | ||
==<code>attributes</code>== | ==<code>attributes</code>== | ||
| − | |||
An integer value representing the attributes of the file. | An integer value representing the attributes of the file. | ||
For a Microsoft filesystem, it can be a combination of the [https://docs.microsoft.com/en-us/windows/win32/fileio/file-attribute-constants file attribute flags.] | For a Microsoft filesystem, it can be a combination of the [https://docs.microsoft.com/en-us/windows/win32/fileio/file-attribute-constants file attribute flags.] | ||
=Sample= | =Sample= | ||
| − | < | + | <source lang="C" highlight="20"> |
| − | void add_folder(uint64_t truxton, uint64_t parent_file) | + | void add_folder( uint64_t truxton, uint64_t parent_file ) |
{ | { | ||
| − | truxton_start_adding_files(truxton); | + | truxton_start_adding_files( truxton ); |
| − | uint64_t child = truxton_child_file_create(truxton); | + | uint64_t child = truxton_child_file_create( truxton ); |
char id[40]; | char id[40]; | ||
| − | truxton_file_get_id(parent_file, id, sizeof(id)); | + | truxton_file_get_id( parent_file, id, sizeof(id) ); |
| − | truxton_child_file_set_parent_id(child, id); | + | truxton_child_file_set_parent_id( child, id ); |
| − | truxton_child_file_set_type(child, Type_Directory); | + | truxton_child_file_set_type( child, Type_Directory ); |
| − | truxton_child_file_set_name(child, "Custom Exploits Folder") | + | truxton_child_file_set_name( child, "Custom Exploits Folder" ); |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | uint64_t now = truxton_time_now(); | |
| − | |||
| − | truxton_child_file_set_created(child, | + | truxton_child_file_set_created( child, now ); |
| − | truxton_child_file_set_accessed(child, | + | truxton_child_file_set_accessed( child, now ); |
| − | truxton_child_file_set_modified(child, | + | truxton_child_file_set_modified( child, now ); |
| − | truxton_child_file_set_attributes(child, FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY); | + | truxton_child_file_set_attributes( child, FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY ); |
| − | truxton_child_file_set_path(child, "Files/This File" ); | + | truxton_child_file_set_path( child, "Files/This File" ); |
| − | if ( truxton_child_file_save(child) == 0 ) | + | if ( truxton_child_file_save( child ) == 0 ) |
{ | { | ||
printf( "Failed to add child to Truxton\n" ); | printf( "Failed to add child to Truxton\n" ); | ||
} | } | ||
| − | truxton_child_file_destroy(child); | + | truxton_child_file_destroy( child ); |
} | } | ||
| − | </ | + | </source> |
Latest revision as of 18:20, 13 April 2024
Sets the attributes of the file.
This corresponds to the [Attributes] column of the [File] table.
Syntax
void truxton_child_file_set_attributes( uint64_t child_handle, uint64_t attributes );
Parameters
child_handle
The handle created by the truxton_child_file_create or truxton_file_create_child call.
attributes
An integer value representing the attributes of the file. For a Microsoft filesystem, it can be a combination of the file attribute flags.
Sample
void add_folder( 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_Directory );
truxton_child_file_set_name( child, "Custom Exploits Folder" );
uint64_t now = truxton_time_now();
truxton_child_file_set_created( child, now );
truxton_child_file_set_accessed( child, now );
truxton_child_file_set_modified( child, now );
truxton_child_file_set_attributes( child, FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY );
truxton_child_file_set_path( child, "Files/This File" );
if ( truxton_child_file_save( child ) == 0 )
{
printf( "Failed to add child to Truxton\n" );
}
truxton_child_file_destroy( child );
}