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, продукт, |