Считывание и установка флагов для файла
#include <sys/dcmd_blk.h>#define DCMD_FSYS_FILE_FLAGS __DIOTF( _DCMD_FSYS, 20, struct fs_fileflags )
DCMD_FSYS_FILE_FLAGS
.NULL
.Команда используется в сочетании с вызовом devctl(), а все перечисленные аргументы являются его типовыми параметрами. Команда позволяет считать и установить флаги для файла, ассоциированного с устройством filedes. Не все флаги в настоящий момент определены в заголовочных файлах.
Заполненная структура struct fs_fileflags.
Заполненная структура struct fs_fileflags.
struct fs_fileflags ff;memset( &ff, 0, sizeof( ff ) );if ( (err = devctl( fd, DCMD_FSYS_FILE_FLAGS, &ff, sizeof( ff ), 0 )) != EOK ){printf( "fsys_file_flags=%s(%d)\n", strerror( err ), err );} else {printf( "fsys_file_flags=%#x:%#x\n", ff.bits[0], ff.bits[1] );}
struct fs_fileflags flags;memset( &flags, 0, sizeof( struct fs_fileflags ) );flags.mask[FS_FLAGS_GENERIC] = FS_FLAGS_COMMITTING;flags.bits[FS_FLAGS_GENERIC] = disable ? 0 : FS_FLAGS_COMMITTING;if ( (err = devctl( fd, DCMD_FSYS_FILE_FLAGS, &flags, sizeof( struct fs_fileflags ), NULL )) != EOK ){...}
Предыдущий раздел: перейти