ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
Interstage

7.2.2 ISOPsystem()

機能説明

本関数は、以下の機能を提供します。

(1) システム名一覧通知

Interstageのシステムに関する以下の情報を通知します。

本APIの発行時には、事前にInterstage運用API環境の初期化を行う必要はありません。

(2) システム名一覧解放

システム名一覧通知機能で獲得した領域を解放します。
本APIの発行時には、事前にInterstage運用API環境の初期化を行う必要はありません。

形式

#include  “ISOP.h”
void  ISOPsystem(char  *reqparm)

引数reqparmは、パラメタ構造体を指すポインタです。パラメタ構造体は使用する機能ごとに、指定された形式の構造体を獲得し、設定してください。
パラメタ構造体へのポインタをchar*型にキャストして、引数としてください。
獲得した領域は、あらかじめゼロクリアしてください。

本APIは、スーパユーザ権限を持つユーザが起動したプロセスから発行してください。

(1) システム名一覧通知

パラメタ構造体

下記のISOP_LSTSYS構造体を獲得し、パラメタとして指定してください。

typedef struct _isop_lstsys_t {              /* パラメタ設定用制御表定義   */
    ISOP_CTRL      opctrl;                   /* 基本情報                   */
    long           num;                      /* システム情報格納域         */
    char           *bufaddr;                 /* バッファアドレス           */
    char           rsv[64];                  /* リザーブ                   */
} ISOP_LSTSYS;
設定情報

メンバ名

設定値

意味

opctrl.request

long

ISOP_RLSTSYS

要求コード:
Interstageシステム名一覧通知

opctrl.pktvl

unsigned long

ISOP_001

制御表のバージョン情報

注)
システム名一覧獲得中にエラーが発生した場合、継続してシステム名を獲得することはできません。最初からシステム名一覧を獲得しなおしてください。

復帰情報

メンバ名

復帰値

意味

opctrl.pktvl

unsigned long

ISOP_001

復帰した制御表のバージョン情報

opctrl.result

long

0

正常終了

-1

異常終了
エラーの詳細はopctrl.detailを参照

opctrl.detail

long

原因コード

エラーの詳細情報(実行結果詳細値を参照)

num

long

取得済みのシステム情報数

取り出したシステム情報数の累計

bufaddr

char

バッファアドレス

バッファアドレス

実行結果詳細値

define値

意味

ISOP_EINVAL_REQ

2101

要求コードに誤りがあります。

ISOP_EAGAIN

3001

システム資源不足が発生しました。しばらくしてから再度実行してください。

ISOP_ENOMEM

3002

メモリ不足が発生しました。

ISOP_ESYSERR

4001

システムエラー。

ISOP_EINTR

4107

割り込みが発生しました。

ISOP_ENOTSUPPORT

4401

使用できない機能を使用しようとしています。

ISOP_ENORIGHTX

2005

関数の実行権がありません。

(2) システム名一覧解放

パラメタ構造体

システム名一覧通知で指定したISOP_LSTSYS構造体を獲得し、パラメタとして指定してください。

typedef struct _isop_lstsys_t {              /* パラメタ設定用制御表定義   */
    ISOP_CTRL      opctrl;                   /* 基本情報                   */
    long           num;                      /* システム情報格納域         */
    char           *bufaddr;                 /* バッファアドレス           */
    char           rsv[64];                  /* リザーブ                   */
} ISOP_LSTSYS;
設定情報

メンバ名

設定値

意味

opctrl.request

long

ISOP_RLSTFRESYS

要求コード:
Interstageシステム名一覧解放

opctrl.pktvl

unsigned long

ISOP_001

制御表のバージョン情報

bufaddr

char

Interstageシステム名一覧通知で返却されたアドレス

バッファアドレス

復帰情報

メンバ名

復帰値

意味

opctrl.pktvl

unsigned long

ISOP_001

復帰した制御表のバージョン情報

opctrl.result

long

0

正常終了

-1

異常終了
エラーの詳細はopctrl.detailを参照

opctrl.detail

long

原因コード

エラーの詳細情報(実行結果詳細値を参照)

実行結果詳細値

define値

意味

ISOP_EINVAL_REQ

2101

要求コードに誤りがあります。

ISOP_ESYSERR

4001

システムエラー。

ISOP_ENOTSUPPORT

4401

使用できない機能を使用しようとしています。

ISOP_ENORIGHTX

2005

関数の実行権がありません。