Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

System Functions (f - i) ftruncate64(2)
NAME
ftruncate64 - Changes file length
LIBRARY
G-series native OSS processes: system library
H-series and J-series OSS processes: implicit libraries
32-bit H-series and J-series OSS processes that use the POSIX User Thread Model library:
/G/system/zdllnnn/zputdll
64-bit H-series and J-series OSS processes that use the POSIX User Thread Model library:
/G/system/zdllnnn/yputdll
SYNOPSIS
#include <sys/types.h>
int ftruncate64(
int filedes,
off64_t length);
PARAMETERS
filedes Specifies the descriptor of a file that must be open for writing.
When the function is thread-aware, specifies an open file descriptor obtained
from a successful call to the creat(), creat64(), dup(), open(),oropen64()
function, or the thread-aware dup2( ) or fcntl( ) function.
length Specifies the new length of the file in bytes.
DESCRIPTION
The ftruncate64() function is similar to the ftruncate() function except that, in addition to sup-
porting smaller files, the ftruncate64() function supports OSS files larger than approximately 2
gigabytes.
An application can explicitly call this function when the application is compiled using the
#define _LARGEFILE64_SOURCE 1 feature test macro or an equivalent compiler command
option.
An application call to ftruncate() is automatically mapped to this function when the applciation
is compiled using the #define _FILE_OFFSET_BITS 64 feature test macro or an equivalent
compiler command option.
The ftruncate64() function changes the length of a file to the size, in bytes, specified by the
length parameter.
If the new length is less than the previous length, the ftruncate64() function removes all data
beyond length bytes from the specified file. All file data between the new EOF and the previous
EOF is discarded.
If the new length is greater than the previous length, zeros are added between the previous EOF
and the new EOF. If the new length would exceed the file size limit for the calling process, the
call to ftruncate64() fails, and errno is set to [EFBIG].
Full blocks are returned to the fileset so that they can be used again, and the file size is changed
to the value of the length parameter.
The ftruncate64() function has no effect on First-in, First out (FIFO) special files. This function
does not modify the seek pointer of the file. If ftruncate64() is called for a FIFO file, the call
fails, and errno is set to [EINVAL].
Upon successful completion, the ftruncate64() function marks the st_ctime and st_mtime fields
of the file for update. If the file is a regular file, the ftruncate64() function clears the S_ISUID
and S_ISGID attributes of the file.
527186-023 Hewlett-Packard Company 367