SysFn77/ru
Jump to navigation
Jump to search
Подфункция 0 - Создать фьютекс
Параметры:
- eax = 77 - номер функции
- ebx = 0 - номер подфункции
- ecx = указатель на контрольное значение фьютекса (dword)
Возвращаемое значение:
- eax = дескриптор фьютекса, 0 при ошибке
Константы для регистров:
- eax - SF_FUTEX (77)
- ebx - SSF_CREATE (0)
Подфункция 1 - Удалить фьютекс
Параметры:
- eax = 77 - номер функции
- ebx = 1 - номер подфункции
- ecx = дескриптор фьютекса
Возвращаемое значение:
- eax = 0 - успешно, -1 при ошибке
Замечания:
- Ядро автоматически удаляет фьютексы при завершении процесса.
Константы для регистров:
- eax - SF_FUTEX (77)
- ebx - SSF_DESTROY (1)
Подфункция 2 - Ожидать
Параметры:
- eax = 77 - номер функции
- ebx = 2 - номер подфункции
- ecx = дескриптор фьютекса
- edx = контрольное значение
- esi = таймаут в сотых секунды, 0 - ждать бесконечно
Возвращаемое значение:
- eax = 0 - успешно, -1 - таймаут, -2 - контрольное значение не соответствует
Константы для регистров:
- eax - SF_FUTEX (77)
- ebx - SSF_WAIT (2)
Подфункция 3 - Разбудить
Параметры:
- eax = 77 - номер функции
- ebx = 3 - номер подфункции
- ecx = дескриптор фьютекса
- edx = сколько ожидающих будить (максимум)
Возвращаемое значение:
- eax = количество разбуженых
Константы для регистров:
- eax - SF_FUTEX (77)
- ebx - SSF_WAKE (3)
|