setjmpx カーネル・サービス

目的

現在の実行状態またはコンテキストを保存できます。

構文

#include <sys/types.h>
#include <sys/errno.h>
int setjmpx ( jump_buffer)
label_t *jump_buffer;

パラメーター

項目 説明
ジャンプ・バッファー SetJMPX サービスの呼び出しで指定された、呼び出し元提供のジャンプ・バッファーのアドレスを指定します。

説明

SetJMPX カーネル・サービスは、現在の実行状態またはコンテキストを保存して、後続の LongJMPX 呼び出しによって SetJMPX サービスから即時に戻ることができるようにします。 SetJMPX サービスは、以下のような必要な状態情報とともにコンテキストを保存します。

  • 現在の割り込み優先順位。
  • プロセスが現在カーネル・モード・ロックを所有しているかどうか。

その他の状態変数には、不揮発性汎用レジスター、現行プログラムの目次とスタック・ポインター、および戻りアドレスが含まれます。

SetJMPX サービスの呼び出しはネストすることができます。 SetJMPX サービスを呼び出すたびに、この時点でコンテキストが 保存されたコンテキストのスタックの先頭にプッシュされます。

実行環境

SetJMPX カーネル・サービスは、 処理 環境または 割り込み 環境のいずれかから呼び出すことができます。

戻り値

項目 説明
ゼロ以外の値 LongJMPX 呼び出しによって SetJMPX サービスが戻ったことを示します。
0 その他の状況を示します。