Библиотека DHCP

Внимание

Этот раздел сейчас дорабатывается. Приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в службу поддержки Tibbo.

Библиотека DHCP реализует клиент DHCP для сетевых интерфейсов Ethernet (net.) и Wi-Fi (wln.). Протокол DHCP служит для автоматической настройки IP-адреса устройства, маски сети и IP-адреса шлюза. Подробнее о протоколе: http://en.wikipedia.org/wiki/Dhcp.

Библиотека может одновременно запускать клиенты DHCP на обоих сетевых интерфейсах. Она событийная и неблокирующая: тихо работает в фоне и отнимает минимум процессорного времени.

Сведения о библиотеке

Поддерживаемые платформы:Любая платформа, у которой есть хотя бы интерфейс Ethernet (net.) или Wi-Fi (wln.), кроме EM202.
Подключаемые файлы:dhcp.tbs, dhcp.tbh (из current_library_set\dhcp\trunk\).
Зависимости:

библиотека SOCK;

возможно, понадобится также библиотека WLN

Процедуры API:

Используйте процедуры API для взаимодействия с библиотекой.

dhcp_get_info() - возвращает сведения, специфичные для библиотеки (например, необходимое место под буферы).

dhcp_start() - запускает клиент DHCP на указанном сетевом интерфейсе.

dhcp_stop() - останавливает клиент DHCP на указанном сетевом интерфейсе.

Процедуры событий:

Вызывайте процедуры событий из соответствующих обработчиков событий, как описано здесь.

dhcp_proc_timer() - вызывайте из обработчика события on_sys_timer().

dhcp_proc_data() - вызывайте из обработчика события on_sock_data_arrival().

Процедуры обратного вызова:

Реализуйте тела процедур обратного вызова в другом месте проекта.

callback_dhcp_ok() - вызывается, когда библиотека успешно завершает работу на одном из интерфейсов.

callback_dhcp_failure() - вызывается, когда библиотеке не удаётся завершить работу на одном из интерфейсов после DHCP_MAX_RETRIES попыток.

callback_dhcp_pre_clear_ip() - вызывается, когда библиотека собирается установить IP-адрес интерфейса в 0.0.0.0.

callback_dchp_pre_buffrq() - вызывается, когда библиотеке нужно выделить место под буфер, а требуемого места нет.

callback_dhcp_buff_released() - вызывается, когда библиотеке буферы больше не нужны и она их освободила.

Необходимое место под буферы:Шесть страниц буфера. Они занимаются, когда нужны, и освобождаются, когда клиент DHCP завершает работу. Объём необходимого места постоянен и не зависит от числа задействованных сетевых интерфейсов.
Исходный материал Tibbo обновлён 29 июля 2025Оригинал на docs.tibbo.com · Сообщить об ошибке