Guardian Native C Library Calls Reference Manual (G06.28+, H06.04+)

fopen_oss(3) Guardian Native C Library Calls Reference Manual
NAME
fopen_oss - Opens a stream (OSS fopen( ) function)
LIBRARY
G-series native Guardian processes: $SYSTEM.SYSnn.ZCRTLSRL
G-series native OSS processes: /G/system/sysnn/zcrtlsrl
H-series native Guardian processes: $SYSTEM.ZDLLnnn.ZCRTLDLL
H-series OSS processes: /G/system/zdllnnn/zcrtldll
SYNOPSIS
#include <stdio.h>
FILE fopen(
const char path,
const char mode);
FILE fopen_oss(
const char path,
const char mode);
PARAMETERS
path Points to a character string that contains the name of the le to be opened. If the
nal component of the path parameter species a symbolic link, the link is
traversed and pathname resolution continues.
mode Points to a character string that controls whether the le is opened for reading
(r), writing (w), or appending (a) and whether the le is opened for updating (+).
DESCRIPTION
The fopen( ) OSS function and fopen_oss( ) function open the le named by the path parameter
and associate a stream with it, returning a pointer to the FILE structure of this stream.
These functions are identical in the OSS environment. Unless otherwise noted, this reference
page uses fopen() to refer to both the fopen( ) OSS function and fopen_oss( ) function.
The mode parameter controls the access allowed to the stream. It can have one of the following
values:
r Opens the le for reading.
w Creates a new le for writing, or opens and truncates a le to zero length.
a Appends (opens a le for writing at the end of the le, or creates a le for writ-
ing).
r+ Opens a le for update (reading and writing).
w+ Truncates or creates a le for update.
a+ Appends (opens a le for update, writing at the end of the le, or creates a le for
writing).
The OSS version of fopen does not distinguish between text and binary les. Text and binary
les are type 180. Specifying a value of mode that consists of a r, w,ora followed by a b indi-
cates a binary le. OSS fopen ignores the b in the value of mode.
When you open a le for update, you can perform both input and output operations on the result-
ing stream. However, an output operation cannot be directly followed by an input operation
without an intervening fush() function call or a le positioning operation (fseek(), fsetpos(),or
rewind() function). Also, an input operation cannot be directly followed by an output operation
without an intervening ush or le positioning operation, unless the input operation encounters
230 Hewlett-Packard Company 527192-005