dc_mcf_tlsle論理端末の状態取得(C言語)

形式

ANSI C,C++の形式

#include <dcmcf.h>
int dc_mcf_tlsle (DCLONG action, dcmcf_tlsleopt *leopt,
                 char *resv01, DCLONG *resv02,
                 char *resv03, DCLONG *infcnt,
                 dcmcf_leinf2 *inf, char *resv04)

K&R版Cの形式

#include <dcmcf.h>
int dc_mcf_tlsle (action, leopt, resv01, resv02, resv03, infcnt,
                 inf, resv04)
DCLONG            action;
dcmcf_tlsleopt    *leopt;
char              *resv01;
DCLONG            *resv02;
char              *resv03;
DCLONG            *infcnt;
dcmcf_leinf2      *inf;
char              *resv04;

機能

論理端末の状態を取得します。

UAPで値を設定する引数

●action

状態を取得する論理端末の指定方法を次の形式で設定します。

DCMCFLE

DCMCFLE
状態を取得する論理端末を論理端末名称で指定するときに設定します。

●leopt

この関数の対象となった論理端末の情報を,構造体dcmcf_tlsleoptに設定します。

構造体の形式を次に示します。

typedef struct {
               DCLONG    mcfid;        …MCF通信プロセス識別子
               char      resv01[4];    …予備領域
               char      idnam[9];     …論理端末名称
               char      resv02[7];    …予備領域
               char      resv03[112];  …予備領域
               char      resv04[376];  …予備領域
               } dcmcf_tlsleopt;

●resv01,resv02,resv03

NULLを設定します。

●infcnt

論理端末の状態を格納する領域dcmcf_leinf2の個数として,1を設定します。

処理終了後は,該当する論理端末の個数が返されます。

●inf

論理端末の状態を格納する領域dcmcf_leinf2を設定します。

「構造体dcmcf_leinf2のサイズ×infcnt」バイト数分の領域が必要です。

●resv04

NULLを設定します。

OpenTP1から値が返される引数

●infcnt

この関数の対象となった論理端末の個数が返されます。

●inf

この関数の対象となった論理端末の情報が構造体dcmcf_leinf2で返されます。

構造体の形式を次に示します。

typedef struct {
               char      idnam[9];     …論理端末名称
               char      resv01[7];    …予備領域
               char      resv02[4];    …予備領域
               DCLONG    status;       …論理端末状態
               char      resv03[40];   …予備領域
               } dcmcf_leinf2;

リターン値

リターン値リターン値
(数値)
意味
DCMCFRTN_000000正常に終了しました。
DCMCFRTN_71001-12001MCFが開始処理中のため,dc_mcf_tlsle関数が受け付けられません。
DCMCFRTN_71004-12004dc_mcf_tlsle関数の処理中にメモリ不足が発生しました。
DCMCFRTN_71005-12005通信障害が発生しました。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71006-12006内部障害が発生しました。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71008-12008指定された論理端末名称は登録されていません。
DCMCFRTN_71009-12009dc_mcf_tlsle関数が,該当するMCF通信プロセスではサポートされていません。
DCMCFRTN_71010-12010MCF通信プロセスに論理端末の状態取得を要求しましたが,受け付けられませんでした。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71011-12011論理端末が削除されているため,dc_mcf_tlsle関数が受け付けられません。
DCMCFRTN_72050-13050actionに未サポートのフラグを設定しています。
actionにDCMCFLEが指定されていません。
DCMCFRTN_72051-13051leoptにNULLが設定されています。
DCMCFRTN_72052-13052resv01にNULLが設定されていません。
DCMCFRTN_72053-13053resv02にNULLが設定されていません。
DCMCFRTN_72054-13054resv03にNULLが設定されていません。
DCMCFRTN_72055-13055resv04にNULLが設定されていません。
DCMCFRTN_72056-13056infcntにNULLが設定されています。
DCMCFRTN_72057-13057infにNULLが設定されています。
DCMCFRTN_72061-13061dcmcf_tlsleoptのmcfidに0未満または240以上の値が設定されています。
DCMCFRTN_72062-13062dcmcf_tlsleoptのresv01がヌル文字で埋められていません。
DCMCFRTN_72063-13063dcmcf_tlsleoptのidnamの先頭がヌル文字です。
DCMCFRTN_72064-13064dcmcf_tlsleoptのresv02がヌル文字で埋められていません。
DCMCFRTN_72065-13065dcmcf_tlsleoptのresv03がヌル文字で埋められていません。
DCMCFRTN_72067-13067dcmcf_tlsleoptのresv04がヌル文字で埋められていません。
DCMCFRTN_72073-13073dcmcf_tlsleoptのidnamに設定された文字数が9以上です。
DCMCFRTN_72074-13074dcmcf_tlsleoptのidnamに設定された文字列中に不正な文字があります。
DCMCFRTN_72076-13076infcntに1が設定されていません。