ГОСТ Р ИСО 20242-2—2012
Функция io_execute может также использоваться для получения идентиф икатора операции с помощью ее
названия. Для этого операция с предварительно определенным идентиф икатором IO E X T_getFH E C ID вызывается с
именем требуемой операции в качестве входного параметра. Выходным параметром является идентиф икатор
операции.
Функция io _event описывается пользователем интерф ейса R M S I и вызывается R M S -провайдером при на
ступлении локального события. В среде C /C ++ для обработки указанных событий применяются функции обратно го
вызова, адрес которых находится у R M S -провайдера. Функция вызывается сервисом io_open и изменяется
сервисом io_config.
А .12.2 О соб ы е ф ункции аси н хр он ной связи
Описание сервисного управления ресурсами в разделе 6 нейтрально по отнош ению к специальным сцена
риям типа синхронной и асинхронной связи. В среде C /C ++ используют ф ункции асинхронной связи обратного
вызова.
Пользователь интерф ейса R M S I применяет ф ункции, описанные в таблице А .9. О ни вызываются R M S -
провайдером после установления связи сервисами io _read. io_w rite или io _execu te. Адрес ф ункции предостав
ляется R M S -провайдером с помощью сервиса io _o pen и может быть изменен сервисом io_config
Т а б л и ц а А .9 — О собая функция асинхронной связи
Сервисная услуга
Прототип функции
Связь с сервисными параметрами
Н икакие заданны е сер
висы асинхронной свя
зи не указаны
short РА СВ io complete
(A PIH ND , IO _STAT’)
агд1: идентиф икатор процесса связи, установленный
R M S -пользователем с помощью сервисов io_read.
*o_write или io_execute и отосланный назад R M S -
провайдером с помощью сервиса io_com plete
arg2: структура данных (приведена в таблице А.З)
return: значение C O M _FIN
А .13 Р асш иренны е сер в исн ы е ф ункции
А .13.1 Ф ун кци и , св язанн ы е с опи санием сер в исов в 6.5
Функции расширенных сервисов представлены в таблице А. 10.
Т а б л и ц а А.10 — Функции расширенных сервисов
С е р в и с
П р о т о ти п Ф у н к ц и и
С в я з ь с с е р в и с н ы м и п а р а м е т р а м и
Инициирование интер
ф ейсарасш иренно(A PIC H A R V short)
го типа
short РА CALL ext initiate arg1:
название интерф ейса (см. сервис io jn itia te)
arg2:
return:
идентиф икатор типа интерф ейса, определенный
R M S внутренне
значение C O M _FIN . если интерф ейсом можно
пользоваться (значение ош ибки по таблице А .6)
П ринятие реш ения об
использовании и нтер
ф ейсарасширенного
типа
short PA CALLсервисная io_conc!ude (см.таблицу А.З)
ext_conclude (short)
Откры тие расш иренноshort PA CALL ext open
arg1:структура данных (см. таблицу А.З)
го интерф ейса(IO _C O N FD A T \ short)
агд2:идентиф икатор каналаинтерф ейса опреде
ляется R M S внутренне
return: значение C O M _FIN , если канал свободен для
последую щ его доступа (отрицательное значение
индикации ош ибки по таблице А .6)
Р еконф игурация расshort PA_CALL ext_config сервис k>_config (*)
ш иренного интерф ейса(short. IO _C O N FD A T *)
Считывание данных
расш иренного интер
ф ейса
short PA CALL ext readсервис »o_read (*)
(short. APIB YTE \
unsigned tong. IO_STAT*.
A PIH N D . unsigned long)
ренного интерф ейса
(short. APIB YTE \
unsigned tong, lO _STAT*.
A PIH N D . unsigned long)
Ввод данны х расш иshort PA CALL ext writeсервис io_write (*)
Вы полнение операции
расш иренного
ф ейса
интер(s h o rt. A P IH N D . v o id ’ ,
void*, void*.
A P IH N D . unsigned long)
short PA CALL ext_execute сервис io_execute (*)
4 7