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. |