MLGetAvailableLinkProtocolNames (C 関数)

MLGetAvailableLinkProtocolNamesWSGetAvailableLinkProtocolNamesに置き換えられた.

int MLGetAvailableLinkProtocolNames( MLENV env , char *** p , int * l )

MathLink環境 env からインストールリンクプロトコールの名前を含む文字列のリストを得て,文字列を p に,そして名前のリストの長さを l に保存する.

詳細

  • MathLinkは現在SharedMemory,TCPIP,IntraProcess,Pipes,FileMap,TCPのリンクプロトコール名をサポートする.
  • すべてのリンクプロトコールがすべてのプラットフォームで利用できるとは限らない.
  • プラットフォームプロトコール
    LinuxSharedMemory, TCPIP, Intraprocess, Pipes, TCP
    WindowsSharedMemory, TCPIP, IntraProcess, FileMap, TCP
    OS XSharedMemory, TCPIP, IntraProcess, Pipes, TCP
  • MLGetAvailableLinkProtocolNames()は,メモリを割り当てて,MLReleaseLinkProtocolNames()を呼び出すことによって解放しなければならないプロトコール名のリストを保存する.MLGetAvailableLinkProtocolNames()がエラーを返す場合は,p の内容についてMLReleaseLinkProtocolNames()を呼び出してはならない.
  • MLGetAvailableLinkProtocolNames()は,成功した場合には0を,失敗した場合には非零のエラーコードを返す.
  • MLGetAvailableLinkProtocolNames()は,MathLinkヘッダファイルmathlink.hで宣言される.

例題

  (1)

#include "mathlink.h"

int main()
{
    MLENV env;
    char **protocolNames;
    int length;
    int apiResult;

    env = MLInitialize((MLEnvironmentParameter)0);
    if(env == (MLENV)0)
    { /* Unable to create MathLink environment */ }

    apiResult = MLGetAvailableLinkProtocolNames(env, &protocolNames, &length);
    if(apiResult != 0)
    { /* Unable to retrieve link protocol names */ }

    /* ... */

    MLReleaseLinkProtocolNames(env, protocolNames, length);

    MLDeinitialize(env);
}