MLGetNetworkAddressList (C 関数)

MLGetNetworkAddressListWSGetNetworkAddressListに置き換えられた.

char ** MLGetNetworkAddressList(MLENV env,unsigned long *n)

マシン上で設定されたネットワークインターフェースすべてのIPアドレスを含むASCII文字列のリストと,n におけるリストの長さを返す.

詳細

  • MLGetNetworkAddressList()は,マシン上のアクティブネットワークインターフェースのそれぞれについて,IP番号をロードする.
  • MLGetNetworkAddressList()は,IPv4番号とIPv6番号の両方をロードする.
  • MLGetNetworkAddressList()は,解放されなければならないアドレスを保存するためにメモリを割り当てる.MLGetNetworkAddressList()で割り当てられたメモリを解放するためには,MLGetNetworkAddressList()によって返されるリスト上でMLReleaseNetworkAddressList()を呼び出す.
  • MLGetNetworkAddressList()は,失敗した場合にはNULLを返す.
  • MLGetNetworkAddressList()は,MathLinkヘッダファイルmathlink.hで宣言される.

例題

  (1)

#include "mathlink.h"

/* A function that reads the IP addresses available on a machine */

void f(MLENV env)
{
    char **theList = NULL;
    char *tmp;
    unsigned long length;

    theList = MLGetNetworkAddressList(env, &length);

    if(length > 0 && theList != (char **)0)
    {
        while((tmp = *theList++) != (char *)0)
        {
            /* ... */
        }

        MLReleaseNetworkAddressList(env, theList, length);
    }
}