Читаем Разработка ядра Linux полностью

Эта функция записывает count байт данных в указанный файл, начиная с позиции offset. Данная функция вызывается из системного вызова write().

• ssize_t aio_write(struct kiocb *iocb,

  const char *buf, size_t count, loff_t offset);

Эта функция запускает асинхронную операцию записи count байт данных в файл, описываемый параметром iocb, из буфера памяти, на который указывает параметр buf. Данная функция вызывается из системного вызова aio_write().

• int readdir(struct file *file, void *dirent, filldir_t filldir);

Эта функция возвращает следующий элемент из списка содержимого каталога. Данная функция вызывается из системного вызова readdir().

• unsigned int poll(struct file *file,

  struct poll_table_struct *poll_table);

Эта функция переводит вызывающий процесс в состояние ожидания для ожидания действий, которые производятся с указанным файлом. Она вызывается из системного вызова poll().

• int ioctl(struct inode *inode,

  struct file *file, unsigned int cmd, signed long arg);

Эта функция используется для того, чтобы отправлять устройствам пары значений команда/аргумент. Функция используется, когда открытый файл — это специальный файл устройства. Данная функция вызывается из системного вызова ioctl().

• int mmap(struct file *file, struct vm_area_struct *vma);

Эта функция отображает указанный файл на область памяти в указанном адресном пространстве и вызывается из системного вызова mmap().

• int open(struct inode *inode, struct file *file);

Эта функция создает новый файловый объект и связывает его с указанным файловым индексом. Она вызывается из системного вызова open().

• int flush(struct file *file);

Эта функция вызывается подсистемой VFS, когда уменьшается счетчик ссылок на открытый файл. Назначение данной функции зависит от файловой системы.

• int release(struct inode *inode, struct file *file);

Эта функция вызывается подсистемой VFS, когда исчезает последняя ссылка на файл, например, когда последний процесс, который использовал соответствующий файловый дескриптор, вызывает функцию close() или завершается. Назначение этой функции также зависит от файловой системы.

• int fsync(struct file *file,

  struct dentry *dentry, int datasync);

Эта функция вызывается из системного вызова fsync() для записи на диск всех закэшированных данных файла.

• int aio_fsync(struct kiocb *iocb, int datasync);

Эта функция вызывается из системного вызова aio_fsync() для записи на диск всех закэшированных данных файла, связанного с параметром iocb.

• int fasync(int fd, struct file *file, int on);

Эта функция разрешает или запрещает отправку сигнала для уведомлении о событиях при асинхронном вводе-выводе.

• int lock(struct file *file, int cmd, struct file_lock *lock);

Эта функция управляет файловыми блокировками для данного файла.

• ssize_t readv(struct file *file,

  const struct iovec *vector, unsigned long count, loff_t* offset);

Эта функция вызывается из системного вызова readv() для считывания данных из указанного файла в count буферов, которые описываются параметром vector. После этого указатель текущей позиции файла должен быть соответственным образом увеличен.

ssize_t writev(struct file *file,

  const struct iovec *vector, unsigned long count, loff_t *offset);

Эта функция вызывается из системного вызова writev() для записи в указанный файл буферов, описанных параметром vector; количество буферов равно count. После этого должно быть соответственным образом увеличено значение текущей позиции в файле.

ssize_t sendfile(struct file *file,

  loff_t *of fset, size_t size, read_actor_t actor, void *target);

Эта функция вызывается из системного вызова sendfile() для копирования данных из одного файла в другой. Она выполняет операцию копирования исключительно в режиме ядра и позволяет избежать дополнительного копирования данных в пространство пользователя.

• ssize_t sendpage(struct file *file,

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных