6.3.2 Description

In terms of input, when calling ARTKIX__GET_USER_ALST, ART for CICS fills VERSION, USERID, and LISTSZ fields, and sets the RESERVED field to 0.

In terms of output, ARTKIX__GET_USER_ALST updates LISTSZ and fills APPLIST.

Table 6-1 Input/Output Parameters

Field Type I/O Type Description
VERSION Integer, 4 bytes Input Version number. The current version is 1.
RESERVED Integer, 4 bytes Input Reserved field. Must be binary zero.
USERID Char, 8 bytes Input User ID who needs to get its application list.
LISTSZ Output Input and output When using LISTSZ as input, it specifies the length of APPLIST, indicating how many applications that the application list can contain at most. Fill the application list in the address right after this field. See the following Listing for an example, which denotes that the application list can contain 128 applications at most.

When using LISTSZ as output, ARTKIX__GET_USER_ALST returns the number of applications that are actually used.

APPLIST Applications array Output List of applications to be authorized. Array length is specified in LISTSZ field; every array item is composed of seven sub-fields.
  • transid (4 bytes): Transaction ID of the application. This must be a valid transaction in ART for CICS.
  • sessid (8 non-blank bytes): Session ID. It should be unique for a user.
  • fnkey (1 byte): Reserved for future use. The value of function key associating with the application. This value uses ASCII encoding.
  • label (35 bytes): Business name of the application.
  • startupACLName (8 bytes): Startup ACL CICS program name.
  • termACLName (8 bytes): Reserved for future use.
  • reserved (3 bytes): Must be binary zero.

Listing C Definitions of ALST_INOUT_PRARM

typedef struct {

                char   transid[4]; 
                char   sessid[8]; 
                char   fnkey;    
                char   label[35];
                char   startupACLName[8];
                char   termACLName[8];
                char   reserved[3];
} ALST_APPLICATION;

// Input & Output
typedef struct {
       int   version;
       int   reserved;  
       char  userid[8]; 
       int   listsz; 
       ALST_APPLICATION applst[128];
} ALST_INOUT_PARAM;