Verbs, variables, and parameters

Certain information is included for each verb, including the entry-point name and the parameter list.

Each verb has an entry-point name and a fixed-length parameter list. CCA verbs provides the following information for each verb:
  • Pseudonym
  • Entry-point name
  • Description
  • Format
  • Parameters
  • Restrictions
  • Required commands
  • Usage notes
  • JNI version
Pseudonym
Also known as a general-language name or verb name. This name describes the function that the verb performs, such as Key Generate or Symmetric Algorithm Encipher.
Entry-point name
Also known as a computer-language name. This name is used in your program to call the verb. Each verb's 7 or 8 character entry-point name begins with one of the following prefixes:
CSNB
Generally, the AES and DES verbs
CSND
Public key cryptography verbs, including RSA and Elliptic Curve
CSUA
Cryptographic-node and hardware-control verbs
The last three or four letters in the entry-point name after the prefix identify the specific verb in a group and are often the first letters of the principal words in the verb pseudonym.

When verbs are described throughout this publication, they are sometimes referred to by the pseudonym, and at other times by the pseudonym followed by the entry-point name in parenthesis. An example of this is: Key Generate (CSNBKGN).

The verb prefixes used here are different from those used by the Integrated Cryptographic Service Facility (ICSF).

Description
The verb is described in general terms. Be sure to read the parameter descriptions because these add additional detail.
Format
The format section for each verb lists the entry-point name followed by the list of parameters for the verb. You must code all the parameters, and they must be in the order listed.
entry-point name(
                 return_code,
                 reason_code,
                 exit_data_length,
                 exit_data,
                 parameter_5,
                 parameter_6,
                 ...
                 parameter_n)
Parameters
All information exchanged between your application program and a verb is through the variables identified by the parameters in the procedure call. These parameters are pointers to the variables contained in application program storage that contain information to be exchanged with the verb. Each verb has a fixed-length parameter list and though all parameters are not always used by the verb, they must be included in the call.

The first four parameters are the same for all of the verbs. For a description of these parameters, see Parameters common to all verbs. For the description of the remaining parameters, see the definitions with the individual verbs.

In the description for each parameter, data flow direction and data type are indicated, as follows.

Direction
Input
The application program sends the variable to the verb (to the called routine).
Output
The verb returns the variable to the application program.
Input/Output
The application program sends the variable to the verb or the verb returns the variable to the application program, or both.
Type
Data identified by a verb parameter can be a single value or a one-dimensional array. If a parameter identifies an array, each data element of the array is of the same data type. If the number of elements in the array is variable, a preceding parameter identifies a variable that contains the actual number of elements in the associated array. Unless otherwise stated, a variable is a single value, not an array.

For each verb, the parameter descriptions use the following terms to describe the type of variable:

Integer
A CCA integer (CCAINT). On Linux on IBM Z, this is defined as the system type long. On other platforms this has been defined as a 4-byte (32-bit), signed, two's-complement binary number. (CCA for Linux on IBM Z has always defined the CCA integer as long).
String
A series of bytes where the sequence of the bytes must be maintained. Each byte can take on any bit configuration. The string consists only of the data bytes. No string terminators, field-length values, or typecasting parameters are included. Individual verbs can restrict the byte values within the string to characters or numerics.

Character data must be encoded in the native character set of the computer where the data is used. Exceptions to this rule are noted where necessary.

Array
An array of values, which can be integers or strings. Only one-dimensional arrays are permitted. For information about the parameters that use arrays, see The rule_array and other keyword parameters.
Restrictions
Any restrictions are noted.
Required commands
Access control points required to use the verb are described here.
Usage notes
Usage notes about this verb are listed.
JNI version
If the verb has a Java Native Interface version, it is described.