C から COBOL プログラム、サブプログラムや入口点を呼び出します。
#include "cobcall.h" cobrtncode_t cobcall (const cobchar_t *name, int argc, cobchar_t **argv);
name | 呼び出される COBOL プログラムの名前を指定した NULL で終了する文字列 |
argc | argv で渡されるパラメーター数 |
argv | COBOL プログラムへ渡される引数 |
この関数は、argv で渡される引数で指定された名前の COBOL プログラムを呼び出すのに使用されます。 BY REFERENCE で渡されるパラメーター。
cobcall() の結果は、ANSI '74 標準に定義された COBOL 型の呼び出しで、COBOL の入口点が COBOL から呼び出されたのと同じように動作します。
この関数は、C 構文で C プログラムから直接 COBOL プログラムを呼び出すのと同じです。
指定された名前が、すでにロードされている COBOL プログラムの入口点の場合、そのプログラムが呼び出されます。 また、指定された名前が C 関数の場合は、それが呼び出されます。 そうでない場合は、指定された名前の基本名が、標準 COBOL の検索順序とパスでディスク上で検索されます。 program_search_order run-time チューナーで、プログラムの検索順序を変更することもできます。
指定された名前のプログラムが見つからないと、実行時のエラーが返されます。
COBOL 入口点に引数が必要ない場合は、argc は 0 で argv は NULL です。
call "name" [using ...] [returning ...]
COBOL 入口点 cobep を 2 つの引数で C 関数から呼び出すには、次のいずれかの方法を使用します。
cobchar_t *argv[2]; argv[0] = arg1; argv[1] = arg2; cobcall("cobep", 2, argv);
または
cobep(arg1, arg2);