traceparser_get_info()

Получить информацию о текущем состоянии анализатора

Прототип:

#include <sys/traceparser.h>
void * traceparser_get_info( struct traceparser_state *stateptr,
info_modes_t infomodes,
unsigned *len );

Аргументы:

stateptr
Указатель на информацию о состоянии анализатора, полученную при вызове traceparser_init().
infomodes
Значение _TRACEPARSER_INFO_* (определенное в traceparser.h) указывает, какую информацию требуется получить.
len
NULL, или указатель на область памяти, где функция может хранить длину возвращаемых данных.

Библиотека:

libtraceparser

Описание:

Функция traceparser_get_info() получает информацию о состоянии анализатора. Эта функция используется при создании своей собственной утилиты для анализа данных трассировки (в качестве альтернативы traceprinter).

Аргумент len - это указатель на размер возвращаемой области памяти. Если он указан, то по этому адресу будет записан размер возвращаемой области памяти. Это используется в первую очередь для режимов _TRACEPARSER_SYSPAGE и _TRACEPARSER_HEADER_KEYWORDS, но будет работать и для других режимов. Для большинства режимов len может быть NULL.

stateptr - это непрозрачная структура, получаемая в результате вызова traceparser_init().

Режимы пользовательской информации в infomodes

Ниже приведены допустимые режимы пользовательской информации.

Значение infomodes Указатель на возвращаемый тип данных, приведенный к void * Описание
_TRACEPARSER_INFO_SYSPAGE syspage_entry Возвращает указатель на запись системной страницы.
_TRACEPARSER_INFO_ENDIAN_CONV unsigned Возвращает разыменованный указатель; 1, если было применено преобразование с прямым порядком байт, 0, если преобразование не было применено.
_TRACEPARSER_INFO_NOW_CALLBACK_CLASS
_TRACEPARSER_INFO_NOW_CALLBACK_EVENT
unsigned Возвращает числовое значение класса или события текущей выполняемой callback функции. Числовые значения считаются непрозрачными и должны использоваться только для других функций анализатора.
_TRACEPARSER_INFO_PREV_CALLBACK_CLASS
_TRACEPARSER_INFO_PREV_CALLBACK_EVENT
unsigned То же, что и выше, но возвращает числовое значение класса или события ранее выполненной callback функции.
_TRACEPARSER_INFO_PREV_CALLBACK_RETURN int Возвращает значение ранее выполненной callback функции.
_TRACEPARSER_INFO_DEBUG unsigned Возвращает флаги отладки; см. traceparser_debug().
_TRACEPARSER_INFO_ERROR unsigned Возвращает код ошибки анализатора, который можно использовать для диагностики ошибок, связанных с библиотекой traceparser. См. <sys/traceparser.h> для ознакомления со списком возвращаемых значений ошибок.

Другие доступные режимы пользовательской информации

Следующие режимы возвращают указатель (приведенный к void *) на соответствующую информацию от анализатора:

_TRACEPARSER_INFO_FILE_NAME
_TRACEPARSER_INFO_DATE
_TRACEPARSER_INFO_VER_MAJOR
_TRACEPARSER_INFO_VER_MINOR
_TRACEPARSER_INFO_LITTLE_ENDIAN
_TRACEPARSER_INFO_BIG_ENDIAN
_TRACEPARSER_INFO_MIDDLE_ENDIAN
_TRACEPARSER_INFO_ENCODING
_TRACEPARSER_INFO_BOOT_DATE
_TRACEPARSER_INFO_CYCLES_PER_SEC
_TRACEPARSER_INFO_CPU_NUM
_TRACEPARSER_INFO_SYSNAME
_TRACEPARSER_INFO_NODENAME
_TRACEPARSER_INFO_SYS_RELEASE
_TRACEPARSER_INFO_SYS_VERSION
_TRACEPARSER_INFO_MACHINE
_TRACEPARSER_INFO_SYSPAGE_LEN

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

Указатель (приведенный к void *) на запрашиваемую информацию, или NULL в случае возникновения ошибки (устанавливается errno; возможно использование режима _TRACEPARSER_INFO_ERROR данной функции для получения более подробной информации).

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

ЗОСРВ «Нейтрино»

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

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

TraceEvent(), traceparser(), traceparser_cs(), traceparser_cs_range(), traceparser_debug(), traceparser_destroy(), traceparser_init()

tracelogger, traceprinter в Справочнике по Утилитам




Предыдущий раздел: Описание API библиотеки traceparser