[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Освобождение пространства на носителе
Следующая страница описывает структуру flock, используемую вызовом
fcntl(2). Адрес ее передается в качестве третьего аргумента при
использовании команд F_FREESP, F_GETLK, F_SETLK или F_SETLKW. С
командой F_FREESP используются только поля l_whence, l_start, l_len.
Если l_whence равно SEEK_SET (символьная константа 0), l_len байт
освобождается, начиная с l_start.
Если l_whence равно SEEK_CUR (символьная константа 1), l_len байт
освобождается, начиная с текущей позиции плюс l_start.
Если l_whence равно SEEK_END (символьная константа 0), l_len байт
освобождается, начиная с конца файла плюс l_start.
Поле l_whence напоминает аргумент whence функции lseek(2). Так же
l_start напоминает offset. l_start может быть отрицательным. Если
l_len равен нулю, место освобождается от начала до конца файла.
СТРУКТУРА flock ДЛЯ КОМАНДЫ F_FREESP
fcntl.h:
typedef struct flock {
short l_type;
short l_whence; /* SEEK_SET, SEEK_CUR, SEEK_END */
off_t l_start;
off_t l_len; /* len == 0 means until end of file */
long l_sysid;
pid_t l_pid;
long pad[4]; /* reserve area */
} flock_t;