DCMD_FSYS_FILE_FLAGS

Считывание и установка флагов для файла

Прототип:

#include <sys/dcmd_blk.h>
#define DCMD_FSYS_FILE_FLAGS __DIOTF( _DCMD_FSYS, 20, struct fs_fileflags )

Аргументы:

filedes
Файловый дескриптор открытого устройства.
dcmd
DCMD_FSYS_FILE_FLAGS.
dev_data_ptr
Указатель на struct fs_fileflags.
n_bytes
Размер структуры struct fs_fileflags, полученный с помсощью sizeof().
dev_info_ptr
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 )
{
...
}

Тематические ссылки:

devctl(), struct fs_fileflags




Предыдущий раздел: перейти