Ru/api/kernel: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
Line 105: Line 105:
== Функция 22 - установить системную дату/время. ==
== Функция 22 - установить системную дату/время. ==


Параметры:
Описание функции перенесено в отдельную статью: [[SysFn22/ru|Функция 22]]
  * eax = 22 - номер функции
  * ebx = 0 - установить время
    * ecx = 0x00SSMMHH - время в двоично-десятичном коде (BCD):
    * HH=час 00..23
    * MM=минута 00..59
    * SS=секунда 00..59
  * ebx = 1 - установить дату
    * ecx = 0x00DDMMYY - дата в двоично-десятичном коде (BCD):
    * DD=день 01..31
    * MM=месяц 01..12
    * YY=год 00..99
  * ebx = 2 - установить день недели
    * ecx = 1 для воскресенья, ..., 7 для субботы
  * ebx = 3 - установить будильник
    * ecx = 0x00SSMMHH
Возвращаемое значение:
  * eax = 0 - успешно
  * eax = 1 - параметр задан неверно
  * eax = 2 - CMOS-батарейки разрядились
Замечания:
  * Ценность установки дня недели представляется сомнительной,
    поскольку он мало где используется
    (день недели можно рассчитать по дате).
  * Будильник можно установить на срабатывание в заданное время
    каждые сутки. При этом отключить его существующими системными
    функциями нельзя.
  * Срабатывание будильника заключается в генерации IRQ8.
  * Вообще-то CMOS поддерживает для будильника установку значения
    0xFF в качестве одного из параметров и означает это, что
    соответствующий параметр игнорируется. Но в текущей реализации
    это не пройдёт (вернётся значение 1).
  * Будильник - глобальный системный ресурс; установка будильника
    автоматически отменяет предыдущую установку. Впрочем, на данный
    момент ни одна программа его не использует.
 


== Функция 23 - ожидать события с таймаутом. ==
== Функция 23 - ожидать события с таймаутом. ==

Revision as of 11:56, 3 April 2010