The truncate service changes the size of a file. The file is identified by a path name.
Operation | Environment |
---|---|
Authorization: | Supervisor state or problem state, any PSW key |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN = HASN |
AMODE (BPX1TRU): | 31-bit |
AMODE (BPX4TRU): | 64-bit |
ASC mode: | Primary mode |
Interrupt status: | Enabled for interrupts |
Locks: | Unlocked |
Control parameters: | All parameters must be addressable by the caller and in the primary address space. |
|
AMODE 64 callers use BPX4TRU with the same parameters.
The name of a fullword that contains the length of the pathname of the file whose size is to be changed.
The name of a field that contains the pathname of the file. This field has the length that is specified in Pathname_length.
The name of a doubleword that contains the number of bytes that are to be contained in the file after the size is changed.
This field is a doubleword to accommodate large files. For normal processing with a singleword value, the second word should be zero. The truncate service accepts only positive values.
The name of a fullword in which the truncate service returns 0 if the request is successful, or -1 if it is not successful.
Return_code | Explanation |
---|---|
EACCES | The calling process does not have permission to search some component of the Pathname prefix; or write permission is denied on the file. |
EBUSY | The file is open by a remote NFS client with a share reservation that conflicts with the requested operation. |
EFBIG | The File_length parameter is greater than the maximum file size limit for the process. The following reason code can accompany the return code: JRWriteBeyondLimit. |
EINVAL | The file is not a regular file; or the File_length that is specified is either negative or greater than the maximum file size. The following reason codes can accompany the return code: JRTrNegOffset, JRTrNotRegFile. |
EISDIR | The file is a directory. |
ELOOP | A loop exists in symbolic links that were encountered during resolution of the Pathname argument. This error is issued if more than 24 symbolic links are detected in the resolution of Pathname. |
ENAMETOOLONG | Pathname is longer than 1023 characters, or a component of the pathname is longer than 255 characters. |
ENOENT | No file named Pathname was found, or no pathname was specified. The following reason code can accompany the return code: JRFileNotThere. |
ENOTDIR | Some component of the Pathname prefix is not a directory. |
EROFS | The specified file is on a read-only file system. The following reason code can accompany the return code: JRTrMountedRO. |
The name of a fullword in which the truncate service stores the reason code. The truncate service returns Reason_code only if Return_value is -1. Reason_code further qualifies the Return_code value. For the reason codes, see z/OS UNIX System Services Messages and Codes.
The file that is specified must be a regular file to which the calling process has write access.
For an example using this callable service, see BPX1TRU (truncate) example.