CfXitData Structure
The CfXitData structure is contained in the CfXitData.h file, which is by default located in the $CFROOT/samples directory.
See the following example of the CfXitData.h file:
typedef struct __CfXitData { int StatusDiagCode; BYTE StatusSeverity; BYTE Compression; char RecordFormat[2]; short int BlockSize; BYTE PermittedActions; char StatusMsg[255]; char LocalUserId[255]; DWORD Key; DWORD AllocationPrimary; DWORD AllocationSecondary; DWORD RecordLength; DWORD EncryptionType; char VolSer[7]; int IsVolSer; char UNIT[9]; int IsUnit; char AllocationType[2]; char NewFileAvail[2]; char IpAddress[255]; char RemoteUserId[255]; char RemoteDomain[255]; char LocalFileName[255]; char RemoteFileName[255]; char WriteMode[2]; char TransferFunction[2]; char TransactionNumber[11]; char TransferWork[2]; char CheckPointRestart[2]; char CR_LF[2]; int DataType; int Port; DWORD ByteCount; BOOL FirstTime; int GoingToRetry; int TryCount; int TriedCount; }CfXitData;
The following table lists the parameters that define the CfXitData structure:
Field Names | Data Type | Field Values |
---|---|---|
StatusDiagCode | int | Indicates the return code on reply:
|
StatusSeverity | BYTE | Indicates the severity of the transfer status:
|
Compression | BYTE | Indicates the type of compressions:
|
RecordFormat | char[2] | Indicates the remote file record format:
|
BlockSize | Short int | Indicates the z/OS dataset block size. |
PermittedActions | BYTE | Indicates the type of permitted actions:
|
StatusMsg | char[255] | Indicates the text message with transfer status. |
LocalUserId | char[255] | Indicates the local user ID that initiates the transfer. |
AllocationPrimary | DWORD | Indicates the initial number of units for physical storage to allocate when creating datasets. |
AllocationSecondary | DWORD | Indicates the next number of units for physical storage to allocate as soon as the initial allocation in the datasets is used up. |
RecordLength | DWORD | Indicates the maximum logical record length, that is, the string length used to encode the data records of the file.
The maximum logical record length in a z/OS system is 32,760. For best results, you might omit this parameter if you want to send or receive a file into a file that already exists, because the file can be determined with an appropriate length . Note: It is a z/OS-specific parameter.
|
EncryptionType | DWORD | Indicates the type of encryption:
|
VolSer | char[7] | Indicates the remote file volume name. |
IsVolSer | int | N/A |
UNIT | char[9] | Indicates the remote file unit name. |
IsUnit | int | N/A |
AllocationType | char[2] | Indicates the type of allocation:
|
NewFileAvail | char[2] | Indicates whether the new file is available:
|
IpAddress | char[255] | Indicates the IP address of the remote system. |
RemoteUserId | char[255] | Indicates the user ID on the remote system. |
RemoteDomain | char[255] | Indicates the Windows NT Domain for login (not required in all transfers). |
LocalFileName | char[255] | Indicates the name of the local file for the transfer. |
RemoteFileName | char[255] | Indicates the name of the remote file for the transfer. |
WriteMode | char[2] | Indicates the options for file creation:
|
TransferFunction | char[2] | Indicates the transfer types:
|
TransactionNumber | char[11] | Indicates the transaction number for the transfer. |
TransferWork | char[2] | Indicates the type of file transfers:
|
CheckPointRestart | char[2] | Indicates whether to use checkpoint:
|
CR_LF | char[2] | Indicates whether to use the CR/LF delimitation:
|
DataType | int | Indicates the type of data:
|
Port | int | Indicates the IP port number used for transfer. |
ByteCount | DWORD | Indicates the number of bytes transmitted. |
GoingToRetry | int | Indicates whether the transfer is successful and to retry:
|
TryCount | int | Indicates the value assigned to the TryNumber parameter. |
TriedCount | int | Indicates the number of attempts for transfer. |