Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

 

printk("My module: try  to open device with minor number %d ", MINOR(inode->i_rdev));

dev_state = &state[MINOR(inode->i_rdev)];

 

if(dev_state->dev_open)

{

printk("Devise is busy ");

return -EBUSY;

}

dev_state->dev_open = 1;

dev_state->byte_read = 0;

dev_state->byte_write = 0;

 

MOD_INC_USE_COUNT;

 

return 0;

 

}

 

static int device_close(struct inode *inode, struct file *fp)

{

struct device_state *dev_state;

 

printk("My module: try to close device with minor number %d ", MINOR(inode->i_rdev));

 

dev_state = &state[MINOR(inode->i_rdev)];

if(!dev_state->dev_open)

{

printk("Device is not open ");

return 0;

}

 

dev_state->dev_open=0;

 

MOD_DEC_USE_COUNT;

 

return 0;

}

Теперь драйвер для нашего абстрактного устройства device готов. Вы можете написать небольшую программку, которая бы пыталась выполнить операции с нашим устройством: открыть его и закрыть – других операций мы не определили. Для определения других действий используется та же структура file_operations. В файле /usr/src/linux-2.4/include/linux/fs.h она объявлена так:

Листинг 11. Фрагмент файла /usr/src/linux-2.4/include/linux/fs.h

 

struct file_operations {


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100