Вернуть запись из системной страницы
#include <sys/syspage.h>#define SYSPAGE_ENTRY( entry ) ...
libc
Макрос SYSPAGE_ENTRY() возвращает указатель на указанную в entry запись из системной страницы.
Лучший способ сослаться на системную страницу – использование системных вызово и POSIX-функций. Если для доступа к определенным разделам системной страницы отсутствует соответствующая функция, то лучшим вариантом остается макрос SYSPAGE_ENTRY().
Для получения информации о CPU-специфичной части структуры syspage_entry
см. SYSPAGE_CPU_ENTRY().
Сейчас доступны следующие поля системной страницы, определяемые аргументом entry:
Указатель на структуру, характеризующую соответствующее значение entry.
#include <sys/neutrino.h>#include <inttypes.h>#include <stdio.h>#include <stdlib.h>#include <sys/syspage.h>int main( void ){uint64_t cps, cycle1, cycle2, ncycles;double sec;/* snap the time */cycle1 = ClockCycles();/* do something */printf( "Hello!\n" );/* snap the time again */cycle2 = ClockCycles();ncycles = cycle2 - cycle1;printf( "%lld cycles elapsed.\n", ncycles );/* find out how many cycles per second */cps = SYSPAGE_ENTRY( qtime )->cycles_per_sec;printf( "This system has %lld cycles/sec.\n", cps );sec = (double)ncycles / cps;printf( "The cycles in seconds is %f.\n", sec );return (EXIT_SUCCESS);}
ЗОСРВ «Нейтрино»
SYSPAGE_ENTRY() является макросом.
struct qtime_entry, ClockCycles(), SYSPAGE_CPU_ENTRY(), _syspage_ptr
Предыдущий раздел: Описание API системной библиотеки