int datasync);
 int (*fasync)(int, struct file*, int);
 int (*lock)(struct file*, int, struct file_lock*);
 ssize_t (*readv)(struct file*, const struct iovec*,
  unsigned long, loff_t*);
 ssize_t (*writev)(struct file*, const struct iovec*,
  unsigned long, loff_t*);
 ssize_t (*sendpage)(struct file*, struct page*, int, size_t,
  loff_t*, int);
 unsigned long (*get_unmapped_area)(struct file*, unsigned long,
  unsigned long, unsigned long, unsigned long);
};
Как использовать структуру file_operations, думаю, ясно. Например, нам нужно описать обработчики записи и чтения устройства — функции device_write() и device_read():
struct file_operations FO = {
 open: device_open,
 release: device_close,
 read: device_read,
 write: device_write
};
Обработчики чтения и записи пишутся «по образу и подобию» обработчиков открытия и закрытия устройства, то есть сначала нам нужно определить младший номер с помощью вызова MINOR(), а затем произвести операцию с устройством.
Приложение
Таблицы соответствия Windows- и Linux-программ
С помощью приведенных ниже таблиц вы сможете подобрать достойный аналог для вашей Windows- программы. При заполнении таблицы я руководствовался простым правилом: чтобы Windows-программа и ее Linux-аналог были в одной весовой категории, то есть обладали примерно одинаковыми возможностями.
| Windows-программа | Linux-аналог | Комментарий | 
|---|---|---|
| Internet Explorer | Netscape Navigator/Mozilla | Думаю, что обе эти программы в представлении и особых комментариях не нуждаются — мы их знаем еще со времен Windows | 
| Konqueror | Вряд ли Завоеватель сможет выступить в роли Internet Explorer'а. Но для походов на не очень «навороченные» (с использованием Flash, VRML, апплеты Java) сайты его возможностей вполне хватит | |
| Galeon | Данный браузер основан на движке Mozilla, поэтому он с успехом может заменить самого Mozill'у! | |
| IE for Linux | Компания Microsoft портировала программу IE на платформу Linux. Честно говоря, «ослика ИА для Линукс» я в глаза не видел, но судя по отзывам, программа линуксоидам не понравилась | |
| Opera | Opera for Linux | Уже вышла восьмая версия этого популярного браузера, и она доступна пользователям Linux. Но рекомендуется воспользоваться стабильной версией 7.54 — это проверенная временем, надежная версия | 
| Mozilla for Windows | Mozilla for Linux | Linux-аналог обладает всеми возможностями Windows-программы | 
| Outlook | Ximian Evolution | Полный аналог знаменитой программы Outlook — программы похожи друг на друга как две капли воды | 
| K Mail | K Mail вполне справится с возложенной на него задачей — служить заменителем для Outlook. Организация учетных записей K Mail очень напоминает Outlook, что делает эти две программы несколько похожими друг на друга. Конечно, K Mail и Outlook не очень похожи внешне, но идея остается прежней. Нужно заметить, что K Mail не заменит полную версию Outlook, скорее всего, он «потянет» на роль аналога Outlook Express | |
| Outlook (чтение новостей) | Knode | Программа обладает достаточно удобным интерфейсам, что позволяет ставить ее в один ряд с клиентом новостей программы Outlook | 
| Netscape Messenger | Messenger — это более зрелый, по сравнению с Knode, продукт, | 

 
                