STOpen(3)

STOpen, STClose - open/close a STIFF file stream

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     STOpen, STClose - open/close a STIFF file stream

SYNOPSIS
     #include <stdio.h>
     #include <stiff.h>

     STStream* STOpen(int fd, int flags);

     int STClose(STStream *st);

DESCRIPTION
     STOpen opens a STIFF stream for the specified file descriptor. The
     STStream pointer returned by STOpen is a handle used by many libstiff
     functions. fd is a file descriptor obtained from a system call such as
     open(2), pipe(2), or socket(2), or from a call to fileno(3S).  The flags
     parameter specifies how the STIFF stream should be opened.  Specifying
     flags as ST_READ opens the stream for reading.  Specifying ST_WRITE opens
     the stream for writing. The value specified for flags should agree with
     the file descriptor's open mode.  That is, if fd is a read-only
     descriptor, flags should be ST_READ.  libstiff does not support reading
     and writing on the same stream.

     STClose writes a terminating empty IFD (if st was open for writing) and
     closes the STIFF stream previously opened by a call to STOpen.

RETURN VALUE
     STOpen returns a pointer to a newly opened STIFF stream if execution was
     successful. NULL is returned and STerrno is set if an execution error has
     occurred.

     STClose returns 0 if execution was successful. -1 is returned and STerrno
     is set if an execution error has occurred.

WARNING
     STIFF stream information is maintained with the STStream structure by the
     libstiff functions. For this reason all reading and writing to a STIFF
     stream should be done using only libstiff functions. Use of other
     functions (e.g. write(2)) to perform STIFF stream I/O will lead to
     unexpected results and is strongly discouraged.

EXECUTION ERROR CODES
     STOpen will fail under the following circumstances.

     STEBADSTREAM             Invalid STIFF stream.

     STEWRITETOREAD           Attempt to write to a read only stream.

     STEREADFROMWRITE         Attempt to read from a write stream.
     STESYSCALL               System call failed.

     STClose will fail under the following circumstances.

     STENEEDSEEK              Operation requires seeking on a stream.

     STESYSCALL               System call failed.

SEE ALSO
     libstiff(3).