posix_trace_eventid_open サブルーチン
目的
アプリケーション・コードをインスツルメントするためのトレース・サブルーチン。
ライブラリー
Posix トレース・ライブラリ (libposixtrace.a)
構文
#include <sys/type.h>
#include <trace.h>
int posix_trace_eventid_open(event_name, event_id)
const char *restrict event_name;
trace_event_id_t *restrict event_id;説明
posix_trace_eventid_openサブルーチンは、ユーザートレースイベント名と呼び出しプロセスのトレースイベントタイプ識別子を関連付ける。 トレース・イベント名は、event_nameパラメーターが指す文字列である。 TRACE_EVENT_NAME_MAX(これは_POSIX_TRACE_EVENT_NAME_MAXの最小値を持つ)で定義された最大文字数を持つことができる。 任意のプロセスに対して定義できるユーザートレースイベントタイプ識別子の数は、最小値 '_posix_trace_user_event_max を持つ 'トレース・ユーザー・イベント・マックス で定義された最大値によって制限される。
posix_trace_eventid_openサブルーチンは、event_nameパラメータが指すユーザートレースイベント名と、同じトレースストリーム内でトレースされる全てのプロセスに対して一意であるトレースイベントタイプ識別子を関連付け、event_idパラメータが指す変数に返す。 ユーザー・トレース・イベント名が既にトレース・プロセスにマップされている場合は、以前に割り当てられたトレース・イベント・タイプ ID が返されます。 TRACE_USER_EVENT_MAX 値で表されるプロセスごとのユーザートレースイベント名の上限に達した場合、定義済みのPOSIX_TRACE_UNNAMED_USEREVENTユーザートレースイベントが返されます。
注:上記の手順は、複数のプロセスが継承によってのみ同じトレースストリームにトレースできるという事実とともに、トレースストリームにトレースされるすべてのプロセスが、トレースイベント名とトレースイベントタイプ識別子のマッピングが同じであることを保証します。
トレース・ストリームが作成されていない場合、 posix_trace_eventid_openサブルーチンは、このプロセスに対して将来作成されるトレース・ストリームのために、この情報を保存する。
パラメーター
| 項目 | 説明 |
|---|---|
| イベント名 | トレース・イベント名を指定します。 |
| イベントID | トレース・イベント ID を指定します。 |
戻り値
正常に終了すると、「posix_trace_eventid_openサブルーチンはゼロを返す。 それ以外の場合は、対応するエラー番号を返します。
成功すれば、'posix_trace_eventid_openサブルーチンはevent_id が指すオブジェクトにトレース・イベント・タイプ識別子の値を格納する。
エラー
posix_trace_eventid_openサブルーチンは、以下のエラーが返されると失敗する:
| 項目 | 説明 |
|---|---|
| ENAMETOOLONG | event_nameパラメータが指す名前のサイズが、TRACE_EVENT_NAME_MAXで定義される値より長い。 |