13.1.3 問合せセキュリティのための外部インタフェース
「QUERY SECURITY
」関数は、ExternQuerySecurity
という名前の「スタブ」を呼び出します。
提供されたExternQuerySecurityスタブは、QUERY SECURITY
のすべてのパラメータを受け取り、リソースへのアクセスを常に許可し、リターン・コードでゼロを返します。次に説明する、インタフェースを遵守するカスタマ関数に置き換えることができます。
QUERY SECURITY
は、次のパラメータを渡します。
問合せセキュリティExternインタフェースのリスト
restype pic x(7).
restype-data-value pic x(12).
resclass pic x(8).
resclass-data-value pic x(8).
residlength pic x(11).
residlength-data-value pic s9(8) comp-5.
resid pic x(5).
resid-data-value pic x(246).
logmessage pic x(10).
logmessage-cvda pic s9(8) comp-5.
read pic x(10).
read-cvda pic s9(8) comp-5.
update pic x(10).
update-cvda pic s9(8) comp-5.
control pic x(10).
control-cvda pic s9(8) comp-5.
alter pic x(10).
alter-cvda pic s9(8) comp-5.
resp pic s9(8) comp-5.
resp2 pic s9(8) comp-5.
userid pic x(8).
すべてのパラメータがExternQuerySecurityに渡され、戻り値としては、次のパラメータだけが予期されます。
read-cvda pic s9(8) comp-5.
update-cvda pic s9(8) comp-5.
control-cvda pic s9(8) comp-5.
alter-cvda pic s9(8) comp-5.
resp pic s9(8) comp-5.
resp2 pic s9(8) comp-5.
「read」に「READ」が適用されると、read-cvdaが予期されます。
「update」に「READ」が適用されると、update-cvdaが予期されます。
「control」に「READ」が適用されると、control-cvdaが予期されます。
「alter」に「READ」が適用されると、alter-cvdaが予期されます。
「resp」と「resp2」は、常に予期されます。
ノート:
各インタフェース・フィールドの末尾は2進数のゼロで、ExternQuerySecurityをCで書く場合に便利です。「read」のcvda値は、次のとおりです。
READABLE 35.
NOTREADABLE 36.
「update」のcvda値は、次のとおりです。
UPDATABLE 37.
NOTUPDATABLE 38.
「control」のcvda値は、次のとおりです。
CTRLABLE 56.
NOTCTRLABLE 57.
「alter」のcvda値は、次のとおりです。
ALTERABLE 52.
NOTALTERABLE 53.
詳細は、IBMのドキュメントでcvda値を参照してください。
S9(9) COMP-5は、符号付きintと同等です。