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

System Functions (s and S) spt_ftruncatez(2)
For C applications, a macro to map ftruncate() to spt_ftruncatez( ) is available when you use
the #define SPT_THREAD_AWARE_XNONBLOCK preprocessor directive before including
spthread.h or when you use an equivalent compiler command option to compile the application.
For C++ applications, an alias to map ftruncate() to spt_ftruncatez() is available when you use
the #define SPT_THREAD_AWARE_PRAGMA_XNONBLOCK preprocessor directive
before including spthread.h or when you use an equivalent compiler command option to com-
pile the application.
To use this function in a threaded application that uses the Standard POSIX Threads library on
systems running J06.10 or later RVUs or H06.21 or later RVUs, you must perform all of the fol-
lowing tasks:
Include the spthread.h header file in the application.
Compile the application using the _SPT_MODEL_ feature test macro or equivalent
compiler command option in addition to any other feature test macros in use.
Link the application to the zsptdll library (/G/system/zdllnnn/zsptdll).
RETURN VALUES
Upon successful completion, the value 0 (zero) is returned. Otherwise, the value -1 is returned
and errno is set to indicate the error.
ERRORS
If any of these conditions occurs, the spt_ftruncatez() function sets errno to the corresponding
value:
[EBADF] The filedes parameter does not specify a valid file descriptor open for writing.
[EFBIG] The length parameter is greater than the minimum of 2 gigabytes minus 1 byte
and the maximum file size established during file open.
[EINTR] The function was interrupted by a signal before any data arrived.
[EINVAL] One of these conditions occurred:
The file pointed to by the filedes parameter is not a regular file.
The value specified for the length parameter was less than 0 (zero).
[EIO] One of these conditions occurred:
The process is a member of a background process group attempting to
read from its controlling terminal, the process is ignoring or blocking the
SIGTTIN signal, or the process group is orphaned.
A physical I/O error occurred. The device holding the file might be in
the down state, or both processors that provide access to the device
might have failed. Data might have been lost during a transfer.
[EISGUARDIAN]
The value used for the filedes parameter is appropriate only in the Guardian
environment.
527186-023 Hewlett-Packard Company 7253