プログラムを ICSF 呼び出し可能サービスにリンク

C、COBOL、アセンブラー、および PL/I の言語用の ICSF 呼び出し可能サービスを使用するサンプル・ルーチンについては、コーディング例を参照してください。

ICSF には、ICSF 呼び出し可能サービスをアプリケーション・プログラムにリンクするために 2 つの方法が用意されています。 以下の該当するサンプルを使用してください。

OS リンケージを使用するアプリケーションの場合 (COBOL、アセンブラー H、PL/I など)

リンク・エディット・ステップの SYSLIB 連結に CSF.SCSFMOD0 モジュールを組み込みます。 これにより、アプリケーション・プログラムはすべての ICSF 呼び出し可能サービス (AMODE(24)/AMODE(31) で呼び出し可能なサービス、および AMODE(64) で呼び出し可能なサービス) にアクセスできます。

//LKEDENC  JOB
//*-----------------------------------------------------------------*
//*                                                                 *
//*  The JCL links the ICSF encipher callable service, CSNBENC,     *
//*  into an application called ENCIPHER.                           *
//*                                                                 *
//*-----------------------------------------------------------------*
//LINK     EXEC PGM=IEWL,
//   PARM='XREF,LIST,LET'
//SYSUT1   DD   UNIT=SYSDA,SPACE=(CYL,(10,10))
//SYSPRINT DD SYSOUT=*
//SYSLIB   DD DSN=CSF.SCSFMOD0,DISP=SHR        * SERVICES ARE IN HERE
//SYSLMOD  DD DSN=MYAPPL.LOAD,DISP=SHR         * MY APPLICATION LIBRARY
//SYSLIN   DD DSN=MYAPPL.ENCIPHER.OBJ,DISP=SHR * MY ENCIPHER PROGRAM
//         DD *
      ENTRY ENCIPHER
  NAME ENCIPHER(R)
/*

C/C++ で書かれたアプリケーションの場合

以下のダイナミック・リンク・ライブラリー (DLL) が SYS1.SIEALNKE にリンクされます。
CSFDLL31
31 ビット・アドレッシング・モードの ICSF サービス。
CSFDLL64
64 ビット・アドレッシング・モードの ICSF サービス。
CSFDLL3X
XPLINK を使用した 31 ビット・アドレッシング・モードの ICSF サービス。
他の DLL と同様に、適切なサイド・デックとリンクしてください。 例えば、64 ビット・アドレッシング・モードで実行されるアプリケーションとリンクするには、C/C++ アプリケーション内のサービス・プロトタイプのヘッダーを
#include <csfbext h>
に組み込み、通常どおりコンパイルします。 最後に、以下をリンクします。
c89 -Wc,dll,lp64 -Wl,dll,lp64 -o MyApplication MyApp_main.o MyApp_support.o 
/usr/lpp/pkcs11/lib/CSFDLL64.x

C/C++ アプリケーションのコンパイルおよびリンクについて詳しくは、z/OS Cryptographic Services ICSF Writing PKCS #11 Applicationsの付録 A (SMP/E インストール・データ・セット、ディレクトリー、およびファイル) を参照してください。