WSNextPacket (C 関数)
int WSNextPacket(WSLINK link)
link 上の次のパケットまで移動して,そのパケットの頭部を示す定数を返す.
詳細
- 次のパケットを返すことが可能である:
-
BEGINDLGPKT BeginDialogPacket[integer] integer で参照されたダイアログサブセッションを起動する CALLPKT CallPacket[integer,list] 引数list と一緒にinteger で番号付けされた外部関数を呼び出すことを要求する DISPLAYENDPKT DisplayEndPacket[] 現在サポートされていないPostScriptのグラフィックス関係のパケット DISPLAYPKT DisplayPacket[] 現在サポートされていないPostScriptのグラフィックス関係のパケット ENDDLGPKT EndDialogPacket[integer] integer で参照されたダイアログボックスサブセッションを終える ENTEREXPRPKT EnterExpressionPacket[expr] expr を評価する ENTERTEXTPKT EnterTextPacket[string] string を解析して式として評価する EVALUATEPKT EvaluatePacket[expr] カーネルのメインループを避けながらexpr を評価する INPUTNAMEPKT InputNamePacket[string] 次の入力に割り当てられる名前(通常 In[n]:=) INPUTPKT InputPacket[] Wolfram言語のInput[]関数で生成される入力のためのプロンプト INPUTSTRPKT InputStringPacket[] 文字列として入力を要求する MENUPKT MenuPacket[integer,string] タイトルstring でメニューの請求 MESSAGEPKT MessagePacket[symbol,string] Wolfram言語メッセージ識別子(symbol::string) OUTPUTNAMEPKT OutputNamePacket[string] 次の出力に割り当てられる名前(通常 Out[n]=) RESUMEPKT ResumePacket[] 現在サポートされていないパケット RETURNEXPRPKT ReturnExpressionPacket[expr] EnterExpressionPacket[]評価の結果 RETURNPKT ReturnPacket[expr] 計算の結果 RETURNTEXTPKT ReturnTextPacket[string] 結果の書式設定されたテキスト表示 SUSPENDPKT SuspendPacket[] 現在サポートされていないパケット SYNTAXPKT SyntaxPacket[integer] 構文エラーが入力行で検出された場所 TEXTPKT TextPacket[string] Print[]で生成されるようなWolfram言語からのテキスト出力 - WSNextPacket()はエラーがあるとILLEGALPKTを返す.wstp.hは,ILLEGALPKTを0と定義する.
- WSNextPacket()は,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
#include "wstp.h"
/* read the type of the incoming packet on a link */
void f(WSLINK lp)
{
switch(WSNextPacket(lp))
{
case CALLPKT:
/* read the CallPacket[] */
break;
case EVALUATEPKT:
/* read the EvaluatePacket[] */
break;
case RETURNPKT:
/* read the EvaluatePacket[] */
/* ... */
case ILLEGALPKT:
/* unable to read the next packet from lp */
}
}