Получить информацию о текущем состоянии анализатора
#include <sys/traceparser.h>void * traceparser_get_info( struct traceparser_state *stateptr,info_modes_t infomodes,unsigned *len );
_TRACEPARSER_INFO_*
(определенное в traceparser.h
) указывает, какую информацию требуется получить.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 *
) на соответствующую информацию от анализатора:
Указатель (приведенный к void *
) на запрашиваемую информацию, или NULL
в случае возникновения ошибки (устанавливается errno; возможно использование режима _TRACEPARSER_INFO_ERROR
данной функции для получения более подробной информации).
ЗОСРВ «Нейтрино»
TraceEvent(), traceparser(), traceparser_cs(), traceparser_cs_range(), traceparser_debug(), traceparser_destroy(), traceparser_init()
tracelogger, traceprinter в Справочнике по Утилитам
Предыдущий раздел: Описание API библиотеки traceparser