Главная » (2) Системные вызовы ядра (функции языка Си)





ИМЯ


readdir - читает элемент каталога



ОБЗОР


int readdir(unsigned int fd, struct old_linux_dirent *dirp,
unsigned int count);

Замечание: В glibc нет обёрточной функции для данного системного вызова; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Эта не та функция, которая должна представлять для вас интерес. Смотрите описание
функции readdir(3), которая является интерфейсом библиотеки языка C,
соответствующим стандарту POSIX. В этой странице описан минимальный интерфейс
системного вызова ядра, который заменён на getdents(2).

Вызов readdir() читает структуру old_linux_dirent из каталога, заданного файловым
дескриптором fd, в буфер, указываемый в dirp. Аргумент count игнорируется; всегда
считывается только одна структура old_linux_dirent.

Структура old_linux_dirent определена следующим образ ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 440 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


readahead - включает упреждающее чтение файла в кэш страниц



ОБЗОР


#define _GNU_SOURCE /* Смотрите feature_test_macros(7) */
#include <fcntl.h>

ssize_t readahead(int fd, off64_t offset, size_t count);



ОПИСАНИЕ


Вызов readahead() включает упреждающее чтение (initiates readahead) из файла таким
образом, что последующие операции чтения этого файла будут брать данные их кэша и
не блокировать дисковый ввод-вывод (предполагается, что упреждающее чтение
началось раньше и что другие действия в системе не выбросили страницы из кэша).

Аргумент fd — это файловый дескриптор файла для чтения. В аргументе offset
указывает начальная точка, от которой нужно читать данные и в count задаётся
количество читаемых байт. Ввод-вывод выполняется во все страницы, так что offset
эффективно округляется в ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 425 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


read - читает из файлового дескриптора



ОБЗОР


#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);



ОПИСАНИЕ


Вызов read() пытается прочитать count байт из файлового дескриптора fd в буфер,
начинающийся по адресу buf.

Для файлов, поддерживающих смещения, операция чтения начинается с файлового
смещения, и файловое смещение увеличивается на количество прочитанных байт. Если
файловое смещение находится за концом файла, то ничего не читается и read()
возвращает ноль.

Если значение count равно 0, то read() может обнаружить ошибки, описанные далее.
При отсутствии ошибок, или если read() не выполняет проверки, то read() с count
равным 0 возвращает 0 и ничего не меняет.

В соответствие с POSIX.1, если count больше SSIZE_MAX, то результат зависит от
реализации; смот ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 453 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


query_module - запросить ядро о различных параметрах, касающихся модулей



ОБЗОР


#include <linux/module.h>

int query_module(const char *name, int which, void *buf,
size_t bufsize, size_t *ret);

Замечание: В заголовочных файлах glibc этой системный вызов отсутствует; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Замечание: Данный системный вызов доступен только в ядрах до Linux 2.6.

query_module() запрашивает информацию у ядра о загружаемых модулях. Возвращаемая
информация помещается в буфер, указанный в buf. Вызывающий должен указать размер
buf в bufsize. Смысл и формат возвращаемой информации зависит от операции,
задаваемой в which. Для некоторых операций требуется заполнить name для указания
на уже загруженный модуль, для некоторых в name можно указать NULL, что указывает
на получения свойст ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 424 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


readv, writev, preadv, pwritev, preadv2, pwritev2 - читает или пишет данные в
несколько буферов



ОБЗОР


#include <sys/uio.h>

ssize_t readv(int fd, const struct iovec *iov, int iovcnt);

ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

ssize_t preadv(int fd, const struct iovec *iov, int iovcnt,
off_t offset);

ssize_t pwritev(int fd, const struct iovec *iov, int iovcnt,
off_t offset);

ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt,
off_t offset, int flags);

ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt,
off_t offset, int flags);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

preadv(), pwritev():
начиная с glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 и старее:
_BSD_SOURCE



... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 452 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


readv, writev, preadv, pwritev, preadv2, pwritev2 - читает или пишет данные в
несколько буферов



ОБЗОР


#include <sys/uio.h>

ssize_t readv(int fd, const struct iovec *iov, int iovcnt);

ssize_t writev(int fd, const struct iovec *iov, int iovcnt);

ssize_t preadv(int fd, const struct iovec *iov, int iovcnt,
off_t offset);

ssize_t pwritev(int fd, const struct iovec *iov, int iovcnt,
off_t offset);

ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt,
off_t offset, int flags);

ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt,
off_t offset, int flags);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

preadv(), pwritev():
начиная с glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 и старее:
_BSD_SOURCE



... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 460 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


pread, pwrite - чтение или запись информации из файлового дескриптора согласно
заданному смещению



ОБЗОР


#include <unistd.h>

ssize_t pread(int fd, void *buf, size_t count, off_t offset);

ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

pread(), pwrite():
_XOPEN_SOURCE >= 500
|| /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L



ОПИСАНИЕ


pread() читает максимум count байтов из файлового дескриптора fd, начиная со
смещения offset (от начала файла), в буфер, начиная с buf. Текущая позиция файла
не изменяется.

pwrite() записывает максимум count байтов из буфера buf в файловый дескриптор fd ,
начиная со смещения offset. Текущая позиция файла не изменяетс ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 456 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)

« 1 2 ... 17 18 19 20 21 ... 59 60 »