gf_dev_attach()

Устанавливает соединение с графическим устройством

Прототип:

#include <gf/gf.h>
int gf_dev_attach( gf_dev_t *pdev,
const char *name,
gf_dev_info_t *info );

Аргументы:

pdev
Адрес gf_dev_t, в котором функция сохраняет дескриптор графического устройства.
name
Имя устройства для соединения. Может быть представлено в виде строки, совпадающей с устройством из /dev/io-display, или макроса GF_DEVICE_INDEX(n), указывающего на n-ное устрйоство в директории /dev/io-display, где n имеет диапазон от 0 до 63. Обычно можно указать GF_DEVICE_INDEX(0) для соединения с первым найденным устройством.
info
Структура gf_dev_info_t, которую функция заполняет информацией о графическом устройстве, с которым планируется установить соединение. Если данная информация не требуется, можно установить значение этого параметра в NULL.

Библиотека:

gf

Описание:

Функция инициализирует и устанавливает соединение с графическим устройством. Она предоставляет дескриптор, способствующий последующей связи с аппаратным дисплеем потокобезопасным способом. Параметры устройств устанавливаются с помощью отдельных конфигурационных файлов и поддерживаются отдельным сервером io-display.


Note:
  • Убедитесь, что io-display запущен до вызова этой функции.
  • Вы можете установить соединение со всеми доступными графическими устройствами, вызвав данную функцию для устройства GF_DEVICE_INDEX(n), начав с n=0 и увеличивая его до тех пор, пока функция не вернет GF_ERR_DEVICE.

Возвращаемое значение:

GF_ERR_OK
Успешное завершение.
GF_ERR_MEM
Ошибка аллоцирования памяти для структур данных.
GF_ERR_PARM
Значение параметра pdev равно NULL.
GF_ERR_IODISPLAY
Ошибка доступа к директории /dev/io-display. Следует проверить, запущен ли в настоящий момент сервер io-display. Вывод sloginfo может содержать дополнительную информацию.
GF_ERR_DEVICE
Не найдено запрашиваемое устройство. Проверьте директорию /dev/io-display и убедитесь, что запрашиваемое устройство смонтировано.
GF_ERR_SHMEM
Ошибка доступа к разделяемой памяти; проверьте errno.
GF_ERR_DLL
Ошибка доступа к DLL/точке входа устройства. Проверьте errno и/или попытайтесь перезапустить приложение с установкой переменнной окружения DL_DEBUG в 1.
GF_ERR_THREAD
Ошибка регистрации потока. Следует проверить errno.

Примеры:

gf_dev_t gdev;
gf_dev_info_t gdev_info;
if ( gf_dev_attach( &gdev, GF_DEVICE_INDEX( 0 ), &gdev_info ) != GF_ERR_OK )
{
printf( "gf_dev_attach() failed\n" );
return (-1);
}

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gf_dev_info_t, gf_dev_detach()




Предыдущий раздел: GF API