[<<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;