libIO.3x (2010 09)
l
libIO(3X) libIO(3X)
[IO_E_NODE_PARM] Node already exists or parameter error detected.
[IO_E_OPER_FAIL] Operation failed.
[IO_E_OPEN_FLAG] Invalid open flag.
[IO_E_PARM] Parameter error.
[IO_E_PATH_STR] String does not represent a valid path.
[IO_E_SYSCALL] System call error.
[IO_E_UNEXPECTED] Unexpected error.
[IO_E_WOULDBLOCK] The call would block in the kernel.
THREADSAFE LIBRARY
The
libIO APIs are threadsafe starting from HP-UX 11i Version 3 September 2008 Update. The
Threadsafe libIO library is libIOmt.so (for Itanium(R)-based systems) or
libIOmt.sl (for
PA-RISC systems). Any program using the threadsafe library must be compiled using the
-mt and
-D_LIBIO_MT flags. The program must link it using
-lIOmt. The io_init() and io_end() func-
tions must be called from every thread. These functions are necessary, because thread local variables are
used in
libIO and these thread local variables must be initialized in every thread before the
libIO is
used.
Note: A program cannot use the threadsafe and non-threadsafe libraries together.
Example of Using the Threadsafe Library
The
libIO_multi_thread.c
program specifies the threadsafe library as follows:
cc libIO_multi_thread.c -mt -D_LIBIO_MT -lIOmt
WARNINGS
Many APIs in libIO are release specific. These APIs may be removed or have its meaning changed in
future releases of HP-UX.
Programs cannot use the threadsafe and non-threadsafe libraries together.
AUTHOR
libIO was developed by HP.
FILES
/usr/include/sys/libIO.h libIO
data structures and identifiers.
/usr/lib/libIO.sl libIO
32 bit for PA-RISC systems.
/usr/lib/pa20_64/libIO.sl libIO
64 bit for PA-RISC systems.
/usr/lib/hpux32/libIO.so libIO
32 bit for Itanium-based systems.
/usr/lib/hpux64/libIO.so libIO 64 bit for Itanium-based systems.
/usr/lib/libIOmt.sl Threadsafe libIO 32 bit for PA-RISC systems.
/usr/lib/pa20_64/libIOmt.sl Threadsafe libIO 64 bit for PA-RISC systems.
/usr/lib/hpux32/libIOmt.so Threadsafe libIO 32 bit for Itanium-based systems.
/usr/lib/hpux64/libIOmt.so Threadsafe libIO 64 bit for Itanium-based systems.
SEE ALSO
insf(1M), ioscan(1M), rmsf(1M), devnm(3) ioconfig(4), intro(7).
24 Hewlett-Packard Company − 24 − HP-UX 11i Version 3: September 2010