Linux Fast-STREAMS
Description: OpenSS7 Project Manual Pages Operating System
STREAMS
Section: The OpenSS7 Project DDI/DKI (9)
Updated: Thu, 11 Dec 2008 15:17:37 GMT
Index
Return to Main Contents
NAME
STREAMS
- introduction to
STREAMS kernel functions
SYNOPSIS
#define _AIX_SOURCE
#define _HPUX_SOURCE
#define _OSF_SOURCE
#define _SUN_SOURCE
#define _UW7_SOURCE
#define _LIS_SOURCE
#include <sys/dki.h>
#include <sys/stropts.h>
#include <sys/stream.h>
#include <sys/strconf.h>
#include <sys/kmem.h>
#include <sys/cmn_err.h>
#include <sys/ddi.h>
INTERFACE
STREAMS.
OVERVIEW
Background
STREAMS
derives from Dennis Ritchie's original paper[1],
was incorporated into the
UNIX® System V Release 3[2]
operating system, replaced the terminal input-output subsystem, pipes and FIFOs in
UNIX® System V Release 4[3],
and was improved in the USL release of the
UNIX® System V Release 4.2[4]
operating system.
Today,
STREAMS
is a part of every major branded
UNIX®
variant, such as
AIX®[5],
HP-UX®[6],
IRIX®[7],
MacOT®[8],
OSF/1®[9],
Solaris®[10],
SUPER-UX®[11],
UnixWare®[12],
UXP/V®[13],
and, including many
UNIX-like
operating systems and popular embedded RTOS, but with the notable exception of
Berkley System Distribution
releases, variants and offshoots, and
Linux.
What is STREAMS?
STREAMS
is flexible framework for communication between a user level process and a kernel resident driver.
It encompasses a set of kernel system calls providing a user-kernel interface that is backward
compatible with the traditional character device driver interface, as well as a set of
STREAMS
driver and module entry points forming a driver-kernel interface.
STREAMS
also provides a rich set of kernel utility functions for the development and implementation of
kernel-resident drivers and modules.
STREAMS
prompted the specification of the
DDI/DKI
which is an architecture independent driver-kernel interface that provides a standardized set of
kernel functions (beyond just
STREAMS)
for the development of device and software drivers.
STREAMS
provides a reconfigurable full-duplex communications path between a user level process and kernel
resident driver, termed a Stream. Modules can be inserted in the path between the user and driver
under user level control. Streams can be linked across multiplexers under user control to form
complex (yet reconfigurable) topologies of user level processes and drivers.
Communication of control and data information along a Stream is accomplished by message passing.
There is no direct function call interface between between components of a Stream. A Stream exists
within the
STREAMS
framework inside the kernel and extend from the user-kernel interface to the kernel driver
interface. Each component of a Stream consists of a pair of queues used to pass messages in the
upstream direction to the kernel-user interface; or downstream, the kernel-driver interface.
At the kernel-user end of the the Stream is a component called the Stream head. As with all
components of the Stream, the Stream head consists of a queue pair and a specialized set of
procedures. The Stream head procedures are responsible for converting between the system call
interface presented to users and the message passing mechanism within the Stream.
At the kernel-driver end of the Stream is the Stream end. The Stream end also contains a queue pair
and a set of procedures. The Stream end (or simply driver) procedures are responsible for
converting between the message passing mechanism within the Stream the actions and events of a
hardware (or pseudo-) device.
Intermediate components within the Stream are call Modules. Modules also consist of a queue pair
for passing messages upstream and downstream, as well as a set of procedures for processing
messages. Modules can be pushed onto the module stack between the Stream head and Stream end using
a set of standardized input-output control commands.
In support of topologies more complex that these simple linear segments,
STREAMS
also provides a specialized Stream end (driver) called a Multiplexing Driver. A Multiplexing driver
has the ability to open multiple Streams to its upper interface (multiplexer) as well as linking
multiple Streams beneath its lower interface (multiplexer). Again, a standardized set of
input-output control provide the user with the ability to configure a Multiplexing Driver.
These
STREAMS
components, and the elements of the user-kernel and kernel-driver interface are detailed in the
manual pages. The sections that follow provide a road map to the rest of the manual pages in the
The OpenSS7 Project
package.
Why STREAMS?
With the ability to open multiple Streams to a driver, push and pop modules to and from the module
stack on a Stream, and to link any Stream under a multiplexing driver---all under user control
using standardized input-output controls---allows
STREAMS
to configure complex topologies to form protocol stacks.
Almost all specialized standard telecommunications software developed since 1990 was developed to
run on
STREAMS.
This is for several reasons:
- *
- Since 1990,
STREAMS
and the associated
DDI/DKI
has been, and remains, the only way to incorporate OEM protocol stacks into mainstream
UNIX®
system kernels.
- *
- The original
UNIX System Laboratories
(later
X/Open
then later the
OpenGroup)
support for ITU-T developed OSI protocols, makes
STREAMS
amenable to a open model for development of ITU-T protocols. (ITU-T, formerly CCITT, is the
International Telecommunications Union --- Telephone Sector
responsible for international telephone standards, and original developers of the OSI model.)
As a result, there is a significant body of commercial software implementing telecommunications
protocol stacks that was developed, tested, validated, conformance tested, field verified, to run on
STREAMS:
and are still running on
STREAMS.
The cost of reimplementation, retesting, revalidation, redoing conformance testing, and field
re-verification, would likely be prohibitive: after all, the point of
Linux
is reducing cost, is it not?
Why STREAMS for Linux?
The
Linux
kernel was not developed with
STREAMS
in mind. For
TCP/IP
networking,
Linux
originally followed in the footsteps of the
BSD NET4
release. Currently, the implementation of
TCP/IP
in the
Linux
kernel has long departed from the classical
BSD
organization and exhibits characteristics unique to the
GNU/Linux
system.
For character devices and terminal input-output,
Linux
follows closely the
SVR 3[2]
pre-STREAMS
approach to pipes, FIFOs and terminal subsystem. The terminal subsystem implementation, too, has
become unique to
GNU/Linux.
Therefore, from the perspective of
TCP/IP
networking and
Terminal I/O,
there would be little reason to provide
STREAMS
for
Linux.
That is, if it were not for the body of software supporting OSI and Telecommunications protocols
based solely on
STREAMS,
for which
Linux
has little or no support.
So, the answer to the question, "Why STREAMS for Linux?" is: so that a
GNU/Linux
platform can enjoy the same wealth of Telecommunications and OSI protocol stacks otherwise only
available to big-iron
UNIX®.
Without
STREAMS,
Linux
is probably just another
BSD,
and probably not a very good one.
History of STREAMS for Linux
In the mid-90's,
GCOM, Inc.
embarked on development on an open source implementation of
STREAMS
called
Linux STREAMS (LiS),
likely driven by its use for porting existing OSI protocol stacks to
Linux.
In 2000,
The OpenSS7 Project
abandoned using the
Linux
networking model for implementation of the
Signalling System No. 7
protocol (primarily due to the lack of support for the full
BSD
networking model under
Linux)
and switched to using
STREAMS
as the basis for all future development. The
GCOM
LiS
release (2.2 at the time) was used as the
STREAMS
package.
Over the span of the next 5 years, (and not surprisingly given the body of software),
almost all
Signalling System No. 7
products released on
Linux
used
LiS
for
STREAMS.
In 2005, Dave Grothe
(the
G
in
GCOM)
announced that he would no longer be maintaining or developing
LiS
subsequent to the 2.18.0 release, stranding many users of the package.
Later in 2005, after briefly maintaining two GPL'ed releases of
LiS,
(2.18.1 and 2.18.2),
The OpenSS7 Project
released (after two years of development) the
streams-0.7a.4
package: a re-implementation of
SVR 4.2 STREAMS
with compatibility modules for all major
UNIX®
releases, called
The OpenSS7 Project.
The OpenSS7 Project
was intended as a
POSIX/SUSv3 XSR
conforming, high performance, production grade, replacement for
LiS,
suitable for mainline
Linux
adoption, and a better foundation on which to base SIGTRAN, VoIP, ISDN and SS7 protocol stacks
developed under
The OpenSS7 Project,
as well as a better foundation for porting commercial
UNIX®
OEM implementations to
Linux.
It is the
OpenSS7-0.9.2
package that contains the documentation that you are reading now.
Why Fast?
After working with
LiS
releases for over 3 years, in late 2003,
The OpenSS7 Project
decided to begin implementation of a replacement for
LiS,
because of a number of shortcoming of the
LiS
releases:
- a)
- unsuitable for mainline kernel adoption due to coding style and organization;
- b)
- poorly adapted to distribution production kernels;
- c)
- is unsuitable for packaging and repeatability;
- d)
- portability objective unsuitable for mainline kernel adoption;
- e)
- ports from the same baseline obfuscate the code;
- f)
- performs poorly due to portability and coding style;
- g)
- code bloat and over-sized memory footprint;
- h)
- redundant debug statements obscuring defects and obfuscating code;
- i)
- overuse of sempahores;
- j)
- contains serious races and not suitable for threaded applications;
- k)
- does not conform to mainstream
UNIX®
implementations;
- l)
- does not conform well to
POSIX
or any release of the
Single UNIX Specification;
- m)
- limited set of standard drivers and modules;
- n)
- limited set of diagnostic and administrative utilities;
- o)
- limited test programs;
- p)
- poorly documented.
The replacement, named
The OpenSS7 Project,
was to correct all of these difficulties, and, by the initial
streams-0.7a.4
release, is:
- a)
- completely Lindented and follows kernel coding practises;
- b)
- automatically adapts to production kernels with autoconf;
- c)
- packages itself into LSB compliant RPMs and DEBs;
- d)
- designed and implemented specifically for
GNU/Linux;
- e)
- no ports considered;
- f)
- order of magnitude faster performance;
- g)
- order of magnitude smaller memory footprint;
- h)
- proper programming by assertion;
- i)
- proper use of lightweight spinlocks;
- j)
- race free locking strategies and synchronization;
- k)
- compatible with all mainstream
UNIX®
implementations;
- l)
- conforms to
POSIX/SUSv3 XSR;
- m)
- complete set of standard drivers and modules;
- n)
- complete set of diagnostic and administrative utilities;
- o)
- integrated set of conformance testsuites;
- p)
- fully documented.
Many specific difficulties encountered with
LiS
not repeated by
The OpenSS7 Project
are contained in the
COMPATIBILITY
section of most manual pages.
DESCRIPTION
Header Files
-
<sys/dki.h> -kernel definitions
-
<sys/stropts.h> -user STREAMS ioctl include file
-
<sys/stream.h> -STREAMS structures and utilities
-
<sys/strconf.h> -STREAMS module configuration
-
<sys/kmem.h> -STREAMS aware memory allocators
-
<sys/cmn_err.h> -SVR4 style
printk(9).
-
<sys/ddi.h> -DDI functions. See
DDI(9)
for more information.
Common Drivers
-
pipe(4)-STREAMS-based software pipes
-
fifo(4)-STREAMS-based first-in first-out special file, named pipe
-
clone(4)-the STREAMS clone driver
-
sad(4)-the STREAMS administrative driver
-
socksys(4)-STREAMS XTI/TLI access to sockets.
-
ticlts(4)-STREAMS XTI/TLI connectionless local transport provider
-
ticots(4)-STREAMS XTI/TLI connection-oriented local transport provider
-
ticotsord(4)-STREAMS XTI/TLI connection-oriented orderly release local transport provider
-
spx(4)-STREAMS bi-directional pipe device
Common Modules
-
pipemod(4)-STREAMS module supporting flush handling in STREAMS FIFOs and pipes
-
ldl(4)-a STREAMS DLPI interface to Linux network devices
-
connld(4)-STREAMS module supporting the generation of unique new STREAMS pipes from
an existing pipe end
-
timod(4)-a STREAMS XTI/TLI compatibility interface
-
tirdwr(4)-a STREAMS XTI/TLI read write compatibility interface
-
sockmod(4)-a STREAMS TPI to sockets compatibility module
System Calls
-
getmsg(2)-get next message from a STREAMS character device
-
getpmsg(2s)-get next message from a STREAMS character device
-
putmsg(2)-put a message to a STREAMS character device
-
putpmsg(2s)-put a message to a STREAMS character device
-
poll(2)-wait for some event on a STREAMS character device
-
fattach(3)-attach a STREAMS open file to a path name in the file system
-
fdetach(3)-detach a STREAMS file from a path name in the file system
-
isastream(2)-determine whether an open file is a STREAMS character device
-
open(2)-open and possibly create a file or device
-
close(2)-close a file descriptor
-
read(2)-read from a file descriptor
-
readv(2)-read from a file descriptor
-
write(2)-write to a file descriptor
-
writev(2)-write to a file descriptor
-
pipe(2)-create a STREAMS pipe
-
ioctl(2)-control device
-
streamio(7)-STREAMS ioctl commands
STREAMS Module Entry Points
-
qopen(9)-call a STREAMS driver or module open routine
-
qclose(9)-closes a STREAMS driver or module
-
putp(9)-invokes a STREAMS message queue put procedure
-
srvp(9)-invokes a STREAMS message queue service procedure
STREAMS Structures
-
cdevsw(9)-character device switch table entry
-
cred_t(9)-SVR4-style credentials
-
datab(9)-STREAMS data block
-
fmodsw(9)-module switch table entry
-
module_info(9)-STREAMS module information
-
msgb(9)-STREAMS message block
-
qband(9)-STREAMS queue band structure
-
qinit(9)-STREAMS queue initialization structures
-
queinfo(9)-STREAMS queue info structure
-
queue(9)-STREAMS queue structure
-
streamtab(9)-STREAMS stream table structure
Module and Driver Registration Functions
-
autopush_add(9)-add STREAMS autopush configuration
-
autopush_del(9)-delete STREAMS autopush configuration
-
autopush_find(9)-find STREAMS autopush configuration
-
autopush_vml(9)-verify a STREAMS module list
-
getadmin(9)-get the administration function pointer for a STREAMS module
-
getmid(9)-get the STREAMS module id for a name
-
register_inode(9)-register a STREAMS special file system node
-
register_inode_major(9)-register a Stream head to a major device number
-
register_inode_minor(9)-register a Stream head to a minor device number
-
register_strdev(9)-register a STREAMS device
-
register_strdev_major(9)-register a STREAMS device to a major device number
-
register_strdev_minor(9)-register a STREAMS device to a minor device number
-
register_strmod(9)-register a STREAMS module to a module id
-
unregister_inode(9)-unregister a STREAMS special file system node
-
unregister_inode_major(9)-unregister a Stream head from a major device number
-
unregister_inode_minor(9)-unregister a Stream head from a minor device number
-
unregister_strdev(9)-unregister a STREAMS device
-
unregister_strdev_major(9)-unregister a STREAMS device from a major device number
-
unregister_strdev_minor(9)-unregister a STREAMS device from a minor device number
-
unregister_strmod(9)-unregister a STREAMS module from a module id
Message Handling Functions
-
adjmsg(9)-trim bytes from the front or back of a STREAMS message
-
allocb(9)-allocate a STREAMS message and data block
-
bufcall(9)-install a STREAMS buffer callback
-
copyb(9)-copy a STREAMS message block
-
copymsg(9)-copy a STREAMS message
-
datamsg(9)-tests a STREAMS message type for data
-
dupb(9)-duplicate a STREAMS message block
-
dupmsg(9)-duplicate a STREAMS message
-
esballoc(9)-allocate a STREAMS message and data block with a caller supplied data buffer
-
freeb(9)-frees a STREAMS message block
-
freemsg(9)-frees a STREAMS message
-
linkb(9)-link a message block to a STREAMS message
-
msgdsize(9)-calculate the size of the data in a STREAMS message
-
msgpullup(9)-pull up bytes in a STREAMS message
-
pcmsg(9)-determine priority of a STREAMS message
-
pullupmsg(9)-pull up the bytes in a STREAMS message
-
rmvb(9)-remove a message block from a STREAMS message
-
testb(9)-test is a STREAMS message can be allocated
-
unbufcall(9)-removes a STREAMS buffer callback
-
unlinkb(9)-unlink a message block from a STREAMS message
Queue Handling Functions
UP Queue Handling Functions
-
backq(9)-find the upstream or downstream STREAMS queue
-
bcanput(9)-test flow control on a STREAMS message queue
-
canenable(9)-test whether a STREAMS message queue can be scheduled
-
canput(9)-test flow control on a STREAMS message queue
-
enableok(9)-allows a STREAMS message queue to be scheduled
-
flushband(9)-flushes band STREAMS messages from a message queue
-
flushq(9)-flushes messages from a STREAMS message queue
-
getq(9)-gets a message from a STREAMS message queue
-
insq(9)-inserts a message into a STREAMS message queue
-
noenable(9)-disables a STREAMS message queue from being scheduled
-
OTHERQ(9)-return the other queue of a STREAMS queue pair
-
putbq(9)-puts a message back on a STREAMS message queue
-
putctl(9)-puts a control message on a STREAMS message queue
-
putctl1(9)-puts a 1 byte control message on a STREAMS message queue
-
putq(9)-puts a message on a STREAMS message queue
-
qenable(9)-schedules a STREAMS message queue service routine
-
qreply(9)-replies to a message from a STREAMS message queue
-
qsize(9)-return the number of messages on a queue
-
RD(9)-return the read queue of a STREAMS queue pair
-
rmvq(9)-remove a message from a STREAMS message queue
-
SAMESTR(9)-test for STREAMS pipe or FIFO
-
WR(9)-return the write queue of a STREAMS queue pair
MP Queue Handling Functions
-
bcanputnext(9)-test flow control on a STREAMS message queue
-
canputnext(9)-test flow control on a STREAMS message queue
-
freezestr(9)-freeze a STREAMS stream
-
put(9)-invokes a STREAMS message queue put procedure
-
putnext(9)-puts a message on the next STREAMS message queue
-
putnextctl1(9)-puts a 1 byte control message on the next STREAMS message queue
-
putnextctl(9)-puts a control message on the next STREAMS message queue
-
qprocsoff(9)-disables STREAMS message queue processing for multi-processing
-
qprocson(9)-enables a STREAMS message queue for multi-processing
-
strqget(9)-gets information about a STREAMS message queue
-
strqset(9)-sets attributes of a STREAMS message queue
-
unfreezestr(9)-thaw a STREAMS stream
Miscellaneous Functions
-
kmem_alloc(9)-allocate kernel memory
-
kmem_free(9)-deallocates kernel memory
-
kmem_zalloc(9)-allocate kernel memory
-
cmn_err(9)-print a kernel command error
-
bcopy(9)-copy byte strings
-
bzero(9)-zero a byte string
-
copyin(9)-copy bytes from user to kernel
-
copyout(9)-copy bytes from kernel to user
-
delay(9)-delay for an interval
-
drv_getparm(9)-get kernel parameters
-
drv_hztomsec(9)-convert clock ticks to milliseconds
-
drv_hztousec(9)-convert clock ticks to microseconds
-
drv_msectohz(9)-convert milliseconds to clock ticks
-
drv_priv(9)-determine if user is privileged
-
drv_usectohz(9)-convert microseconds to clock ticks
-
drv_usecwait(9)-wait for a specified number of microseconds
-
max(9)-determine the maximum of two variables
-
min(9)-determine the minimum of two variables
-
getmajor(9)-get the major device number for a device
-
getminor(9)-get the minor device number for a device
-
makedevice(9)-create a device from major and minor device numbers
-
mknod(9)-create a special or ordinary file
-
mount(9)-mount a file system
-
strlog(9)-pass a message to the STREAMS logger
-
timeout(9)-start a timer
-
umount(9)-unmount a file system
-
unlink(9)-remove a file
-
untimeout(9)-stop a timer
EXTENSIONS
Common Extensions
Linux Fast-STREAMS
provides the following more common extensions to
SVR 4.2 MP DDI/DKI[14]:
-
linkmsg(9)-link a message block to a STREAMS message
-
putctl2(9)-puts a 2 byte control message on a STREAMS message queue
-
putnextctl2(9)-puts a 2 byte control message on the next STREAMS message queue
-
weldq(9)-weld two pairs of STREAMS queues together
-
unweldq(9)-weld two pairs of STREAMS queues together
Linux Fast-STREAMS Extensions
Linux Fast-STREAMS
provides access to the
SVR 4[3]
internal functions listed below:
-
allocq(9)-allocate a STREAMS queue pair
-
bcanget(9)-test retrieval on a STREAMS message queue
-
canget(9)-test retrieval on a STREAMS message queue
-
freeq(9)-deallocate a STREAMS queue pair
-
qattach(9)-attach a module onto a STREAMS file
-
qclose(9)-closes a STREAMS driver or module
-
qdetach(9)-detach a module from a STREAMS file
-
qopen(9)-call a STREAMS driver or module open routine
-
setq(9)-assign a queue pair to a STREAMS module
Linux Fast-STREAMS Extensions from LiS
-
appq(9)-append a STREAMS message after another
-
esbbcall(9)-installs a buffer callback for an extended STREAMS message block
-
isdatablk(9)-tests a STREAMS data block for data type
-
isdatamsg(9)-tests a STREAMS data block for data type
-
kmem_zalloc_node(9)-allocate kernel memory
-
msgsize(9)-calculate the size of the message blocks in a STREAMS message
-
qcountstrm(9)-return the downstream message count on a stream
-
xmsgsize(9)-calculate the size of message blocks in a STREAMS message
COMPATIBILITY
SVR 4.2 MP DDI/DKI Compatibility Functions
-
dtimeout(9)-perform a timeout at an interrupt level on a specified processor;
-
itimeout(9)-perform a timeout at an interrupt level;
-
LOCK(9)-lock a basic lock;
-
LOCK_ALLOC(9)-allocate a basic lock;
-
LOCK_DEALLOC(9)-deallocate a basic lock;
-
LOCK_OWNED(9)-
-
major(9)-get the internal major number of a device;
-
makedev(9)-make a device number from internal major and minor device numbers;
-
minor(9)- get the internal minor number of a device;
-
MPSTR_QLOCK(9)-
lock a STREAMS queue for mutual exclusion
-
MPSTR_QRELE(9)-
release lock on a STREAMS queue
-
MPSTR_STPLOCK(9)-
lock STREAMS stream head in multi-threaded code
-
MPSTR_STPRELE(9)-
release STREAMS stream head locked by MPSTR_STPLOCK(9)
-
RW_ALLOC(9)-
-
RW_DEALLOC(9)-
-
RW_RDLOCK(9)-
-
RW_TRYRDLOCK(9)-
-
RW_TRYWRLOCK(9)-
-
RW_UNLOCK(9)-
-
RW_WRLOCK(9)-
-
sleep(9)-put a process to sleep;
-
SLEEP_ALLOC(9)-
-
SLEEP_DEALLOC(9)-
-
SLEEP_LOCK(9)-
-
SLEEP_LOCKAVAIL(9)-
-
SLEEP_LOCKOWNED(9)-
-
SLEEP_LOCK_SIG(9)-
-
SLEEP_TRYLOCK(9)-
-
SLEEP_UNLOCK(9)-
-
spl0(9)-set priority level 0;
-
spl1(9)-set priority level 1;
-
spl2(9)-set priority level 2;
-
spl3(9)-set priority level 3;
-
spl4(9)-set priority level 4;
-
spl5(9)-set priority level 5;
-
spl6(9)-set priority level 6;
-
spl7(9)-set priority level 7;
-
spl(9)-set priority level;
-
splbase(9)-set priority level;
-
spltimeout(9)-set priority level;
-
spldisk(9)-set priority level;
-
splstr(9)-set priority level;
-
spltty(9)-set priority level;
-
splhi(9)-set priority level;
-
splx(9)-set priority level x;
-
SV_ALLOC(9)-allocate a basic condition variable;
-
SV_BROADCAST(9)-broadcast a basic condition variable;
-
SV_DEALLOC(9)-deallocate a basic condition variable;
-
SV_SIGNAL(9)-signal a basic condition variable;
-
SV_WAIT(9)-wait on a basic condition variable;
-
SV_WAIT_SIG(9)-interruptible wait on a basic condition variable;
-
TRYLOCK(9)-try to lock a basic lock;
-
UNLOCK(9)-unlock a basic lock;
-
vtop(9)-convert virtual to physical address;
-
wakeup(9)-wake a process;
AIX® 5L Version 5.1 Compatibility Functions
-
mi_bufcall(9)-reliable alternative to bufcall(9)
-
mi_close_comm(9)-STREAMS common minor device close utility
-
mi_next_ptr(9)-STREAMS minor device list traversal
-
mi_open_comm(9)-STREAMS common minor device open utility
-
putctl2(9)-puts a 2 byte control message on a STREAMS message queue
-
splstr(9)-
-
splx(9)-
-
str_install(9)-
-
unweldq(9)-weld two pairs of STREAMS queues together
-
wantio(9)-perform direct I/O from a STREAMS driver
-
wantmsg(9)-provide a filter of wanted messages for a STREAMS module
-
weldq(9)-weld two pairs of STREAMS queues together
HP-UX® 11.0i v2 Compatibility Functions
-
putctl2(9)-puts a 2 byte control message on a STREAMS message queue
-
putnextctl2(9)-puts a 2 byte control message on the downstream STREAMS message queue
-
str_install(9)-
-
str_uninstall(9)-
-
streams_get_sleep_lock(9)-
-
streams_mpsleep(9)-
-
streams_put(9)-
-
unweldq(9)-weld two pairs of STREAMS queues together
-
weldq(9)-weld two pairs of STREAMS queues together
OSF/1 1.2---Digial UNIX® Compatibility Functions
-
lbolt(9)-
-
puthere(9)-invokes a STREAMS message queue put procedure
-
streams_open_comm(9)-
-
streams_open_ocomm(9)-
-
streams_close_comm(9)-
-
strmod_add(9)-
-
strmod_del(9)-
-
time(9)-
-
unweldq(9)-weld two pairs of STREAMS queues together
-
weldq(9)-weld two pairs of STREAMS queues together
UnixWare® 7.1.3 (OpenUnix 8) Compatibility Functions
-
allocb_physreq(9)-allocate a STREAMS message and data block
-
ATOMIC_INT_ADD(9)-
-
ATOMIC_INT_ALLOC(9)-
-
ATOMIC_INT_DEALLOC(9)-
-
ATOMIC_INT_DECR(9)-
-
ATOMIC_INT_INCR(9)-
-
ATOMIC_INT_INIT(9)-
-
ATOMIC_INT_READ(9)-
-
ATOMIC_INT_SUB(9)-
-
ATOMIC_INT_WRITE(9)-
-
emajor(9)-
-
eminor(9)-
-
etoimajor(9)-
-
getemajor(9)-get external major device number
-
geteminor(9)-get external minor device number
-
itoemajor(9)-
-
msgphysreq(9)-physical alignment request structure
-
msgpullup_physreq(9)-pull up bytes in a STREAMS message with physical requirements
-
msgscgth(9)-message scatter-gather structure
-
printf(9)-
-
strioccall(9)-
Solaris® 9/SunOS 5.9 Compatibility Functions
-
DB_BASE(9)-
-
DB_LIM(9)-
-
DB_REF(9)-
-
DB_TYPE(9)-
-
ddi_create_minor_node(9)-
-
ddi_driver_major(9)-
-
ddi_driver_name(9)-
-
ddi_get_cred(9)-
-
ddi_getiminor(9)-
-
ddi_get_instance(9)-
-
ddi_get_lbolt(9)-
-
ddi_get_pid(9)-
-
ddi_get_soft_state(9)-
-
ddi_get_time(9)-
-
ddi_remove_minor_node(9)-
-
ddi_removing_power(9)-
-
ddi_soft_state(9)-
-
ddi_soft_state_fini(9)-
-
ddi_soft_state_free(9)-
-
ddi_soft_state_init(9)-
-
ddi_soft_state_zalloc(9)-
-
ddi_umem_alloc(9)-
-
ddi_umem_free(9)-
-
freezestr(9)-
-
MBLKHEAD(9)-
-
MBLKIN(9)-
-
MBLKL(9)-
-
MBLKSIZE(9)-
-
MBLKTAIL(9)-
-
mcopyin(9)-
-
mcopymsg(9)-
-
mcopyout(9)-
-
merror(9)-
-
mexchange(9)-
-
mexpandb(9)-
-
mioc2ack(9)-
-
miocack(9)-
-
miocnak(9)-
-
miocpullup(9)-
-
mod_info(9)-
-
mod_install(9)-
-
mod_remove(9)-
-
mod_strmops(9)-
-
nochpoll(9)-
-
nodev(9)-
-
nulldev(9)-
-
OFFSET(9)-
-
qbufcall(9)-install a STREAMS synchronous buffer callback
-
qtimeout(9)-
-
queclass(9)-return the class of a message
-
qunbufcall(9)-cancel a STREAMS synchronous buffer callback
-
quntimeout(9)-
-
qwait(9)-wait for a queue procedure to execute
-
qwait_sig(9)-wait for a queue procedure to execute or signal
-
qwriter(9)-
-
unfreezestr(9)-
MacOT 1.5r2 Compatibility Functions
-
mi_bufcall(9)-
-
drv_priv(9)-
-
esballoca(9)-
-
mpnotify(9)-
-
putctl2(9)-
-
puthere(9)-
-
mi_allocq(9)-
-
mi_bcmp(9)-
-
mi_bufcall(9)-
-
mi_close_comm(9)-
-
mi_close_detached(9)-
-
mi_copy_done(9)-
-
mi_copyin(9)-
-
mi_copyout(9)-
-
mi_copyout_alloc(9)-
-
mi_copy_set_rval(9)-
-
mi_copy_state(9)-
-
mi_detach(9)-
-
mi_freeq(9)-
-
mi_next_ptr(9)-
-
mi_offset_param(9)-
-
mi_offset_paramc(9)-
-
mi_open_comm(9)-
-
mi_open_detached(9)-
-
mi_prev_ptr(9)-
-
mi_reallocb(9)-
-
mi_reuse_proto(9)-
-
mi_set_sth_hiwat(9)-
-
mi_set_sth_lowat(9)-
-
mi_set_sth_maxblk(9)-
-
mi_set_sth_wroff(9)-
-
mi_sprintf(9)-
-
mi_timer(9)-
-
mi_timer_alloc(9)-
-
mi_timer_cancel(9)-
-
mi_timer_free(9)-
-
mi_timer_q_switch(9)-
-
mi_timer_valid(9)-
-
mps_become_writer(9)-
-
mps_intr_disable(9)-
-
mps_intr_enable(9)-
LiS 2.16 Compatibility Functions
-
lis_register_strdev(9lis)-
-
lis_register_strmod(9lis)-
-
lis_unregister_strdev(9lis)-
-
lis_unregister_strmod(9lis)-
LiS 2.16 Compatibility Functions
-
lis_adjmsg(9)-trim bytes from the front or back of a STREAMS message
-
lis_allocb(9)-allocate a STREAMS message and data block
-
lis_allocb_physreq(9)-allocate a STREAMS message and data block
-
lis_allocq(9)-allocate a STREAMS queue pair
-
lis_appq(9)-append a STREAMS message after another
-
lis_backq(9)-find the upstream or downstream STREAMS queue
-
lis_bcanput(9)-test flow control on a STREAMS message queue
-
lis_bcanputnext(9)-test flow control on a STREAMS message queue
-
lis_bcopy(9)-copy byte strings
-
lis_bufcall(9)-install a STREAMS buffer callback
-
lis_bzero(9)-zero a byte string
-
lis_canenable(9)-test whether a STREAMS message queue can be scheduled
-
lis_canput(9)-test flow control on a STREAMS message queue
-
lis_canputnext(9)-test flow control on a STREAMS message queue
-
lis_cmn_err(9)-print a kernel command error
-
lis_copyb(9)-copy a STREAMS message block
-
lis_copymsg(9)-copy a STREAMS message
-
lis_datamsg(9)-tests a STREAMS message type for data
-
lis_date(9)-the version and release date of STREAMS
-
lis_dupb(9)-duplicate a STREAMS message block
-
lis_dupmsg(9)-duplicate a STREAMS message
-
lis_enableok(9)-allows a STREAMS message queue to be scheduled
-
lis_esballoc(9)-allocate a STREAMS message and data block with a caller supplied data buffer
-
lis_esbbcall(9)-installs a buffer callback for an extended STREAMS message block
-
lis_find_strdev(9)-finds a streamtab entry for a device
-
lis_flushband(9)-flushes band STREAMS messages from a message queue
-
lis_flushq(9)-flushes messages from a STREAMS message queue
-
lis_freeb(9)-frees a STREAMS message block
-
lis_freemsg(9)-frees a STREAMS message
-
lis_freeq(9)-deallocate a STREAMS queue pair
-
lis_getq(9)-gets a message from a STREAMS message queue
-
lis_insq(9)-inserts a message into a STREAMS message queue
-
lis_isdatablk(9)-tests a STREAMS data block for data type
-
lis_isdatamsg(9)-tests a STREAMS data block for data type
-
lis_linkb(9)-link a message block to a STREAMS message
-
lis_mknod(9)-create a special or ordinary file
-
lis_mount(9)-mount a file system
-
lis_msgdsize(9)-calculate the size of the data in a STREAMS message
-
lis_msgpullup(9)-pull up bytes in a STREAMS message
-
lis_msgsize(9)-calculate the size of message blocks in a STREAMS message
-
lis_noenable(9)-disables a STREAMS message queue from being scheduled
-
lis_OTHER(9)-return the other queue of a STREAMS queue pair
-
lis_OTHERQ(9)-return the other queue of a STREAMS queue pair
-
lis_pullupmsg(9)-pull up the bytes in a STREAMS message
-
lis_putbq(9)-puts a message back on a STREAMS message queue
-
lis_putctl1(9)-puts a 1 byte control message on a STREAMS message queue
-
lis_putctl(9)-puts a control message on a STREAMS message queue
-
lis_putnext(9)-puts a message on the downstream STREAMS message queue
-
lis_putnextctl1(9)-puts a 1 byte control message on the downstream STREAMS message queue
-
lis_putnextctl(9)-puts a control message on the downstream STREAMS message queue
-
lis_putq(9)-puts a message on a STREAMS message queue
-
lis_qattach(9)-attach a module onto a STREAMS file
-
lis_qclose(9)-closes a STREAMS driver or module
-
lis_qdetach(9)-detach a module from a STREAMS file
-
lis_qenable(9)-schedules a STREAMS message queue service routine
-
lis_qopen(9)-call a STREAMS driver or module open routine
-
lis_qprocsoff(9)-disables STREAMS message queue processing for multi-processing
-
lis_qprocson(9)-enables a STREAMS message queue for multi-processing
-
lis_qreply(9)-replies to a message from a STREAMS message queue
-
lis_qsize(9)-return the number of messages on a queue
-
lis_RD(9)-return the read queue of a STREAMS queue pair
-
lis_register_strdev(9)-register a STREAMS device
-
lis_register_strmod(9)-register a STREAMS module
-
lis_rmvb(9)-remove a message block from a STREAMS message
-
lis_rmvq(9)-remove a message from a STREAMS message queue
-
lis_safe_canenable(9)-test whether a STREAMS message queue can be scheduled
-
lis_safe_enableok(9)-allows a STREAMS message queue to be scheduled
-
lis_safe_noenable(9)-disables a STREAMS message queue from being scheduled
-
lis_safe_OTHERQ(9)-return the other queue of a STREAMS queue pair
-
lis_safe_putnext(9)-puts a message on the downstream STREAMS message queue
-
lis_safe_qreply(9)-replies to a message from a STREAMS message queue
-
lis_safe_RD(9)-return the read queue of a STREAMS queue pair
-
lis_safe_SAMESTR(9)-test for STREAMS pipe or FIFO
-
lis_safe_WR(9)-return the write queue of a STREAMS queue pair
-
lis_SAMESTR(9)-test for STREAMS pipe or FIFO
-
lis_strqget(9)-gets information about a STREAMS message queue
-
lis_strqset(9)-sets attributes of a STREAMS message queue
-
lis_testb(9)-test is a STREAMS message can be allocated
-
lis_timeout(9)-start a timer
-
lis_umount2(9)-unmount a file system
-
lis_umount(9)-unmount a file system
-
lis_unbufcall(9)-removes a STREAMS buffer callback
-
lis_unlink(9)-remove a file
-
lis_unlinkb(9)-unlink a message block from a STREAMS message
-
lis_unregister_strdev(9)-unregister a STREAMS device
-
lis_unregister_strmod(9)-deregister a STREAMS module
-
lis_untimeout(9)-stop a timer
-
lis_version(9)-the version and release date of STREAMS
-
lis_WR(9)-return the write queue of a STREAMS queue pair
-
lis_xmsgsize(9)-calculate the size of the message blocks in a STREAMS message
Compatibility
Most common compatibility functions:
UNIX® System V Release 4
STREAMS
Functions:
-
Following are the
UNIX® System V Release 4.0 STREAMS
functions and their documented support in the various implementations with which
Linux Fast-STREAMS
is compatible.
Linux Fast-STREAMS
implements all of these functions in the core
streams
kernel module.
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
adjmsg | (9) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yesallocb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesbackq :(9):yes:yes:yes:yes:yes: - :yes: - :yes:yes:yesbcanput :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesbufcall :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yescanenable :(9):yes: - : - : - :yes: - :yes: - : - : - :yescanput :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yescopyb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yescopymsg :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesdatamsg :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesdupb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesdupmsg :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesenableok :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesesballoc :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesesbbcall :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesflushband :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesflushq :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesfreeb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesfreemsg :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesgetadmin :(9):yes:yes:yes:yes:yes: - : - : - :yes:yes:lfsgetmid :(9):yes:yes:yes:yes:yes: - : - : - :yes:yes:lfsgetq :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesinsq :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yeslinkb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesmsgdsize :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesnoenable :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesOTHERQ :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yespullupmsg :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesputbq :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesputctl1 :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesputctl :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesputnext :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesputq :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesqenable :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesqreply :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesqsize :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesRD :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesrmvb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesrmvq :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesSAMESTR :(9):yes: - :yes: - : - :yes:yes:yes:yes: - :yessplstr :(9):svr:yes:yes: - :yes:yes: - :yes:yes:yes:yesstrlog :(9):yes:yes:yes:yes:yes:yes:yes: - :yes:yes:lfsstrqget :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesstrqset :(9):yes: - :yes:yes:yes:yes:yes:yes:yes:yes:yestestb :(9):yes:yes:yes:yes:yes: - :yes: - :yes:yes:yesunbufcall :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesunlinkb :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes:yesWR :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yes_
|
Notes:
- ---
- canenable()
is really an
SVR 3.2
compatibility function that should not be used with
SVR 4 STREAMS
programs.
- ---
- For the most part the
UNIX® System V Release 4.0 STREAMS
functions are universally implemented. Exceptions to this include
backq(9),
which appears to be an oversight on the part of
SUPER-UX®
documentation[11];
esbbcall(9),
that can be emulated by calling
bufcall(9),
with a size of zero;
getadmin(9),
getmid(9)
and
strlog(9),
which seems to be more of a
Solaris®
and
LiS
problem;
SAMESTR(9),
which is only useful on systems with pipes and FIFOs;
- ---
- Note how
LiS
always misses what
Solaris
misses. That is probably not a coincidence.
- ---
- For specific compatibility notes, see the manual page for the individual function.
UNIX® System V Release 4 MP
STREAMS
Functions:
-
UNIX® System V Release 4.0 Multiprocessor (MP) STREAMS
functions and their documented support in the various implementations with which
Linux Fast-STREAMS
is compatible.
Linux Fast-STREAMS
implements most of these functions in the core
streams
kernel module. The
MPSTR_
locking functions are part of the
SVR 4.2 MP
compatibility module,
streams-svr4compat
because they are only have documented support in
UnixWare®.
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
bcanputnext | (9) | yes | - | yes | yes | - | yes | yes | yes | yes | - | yescanputnext :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesfreezestr :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesmsgpullup :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yespcmsg :(9):yes: - :yes: - : - :yes: - :yes:yes: - :lfsput :(9):yes: - :yes:yes: - : - :yes:yes:yes: - :yesputnextctl1 :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesputnextctl :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesqprocsoff :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesqprocson :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yesunfreezestr :(9):yes: - :yes:yes: - :yes:yes:yes:yes: - :yes_
|
MPSTR_QLOCK | (9) | svr | - | - | - | - | - | - | - | yes | - | svrMPSTR_QRELE :(9):svr: - : - : - : - : - : - : - :yes: - :svrMPSTR_STPLOCK :(9):svr: - : - : - : - : - : - : - :yes: - :svrMPSTR_STPRELE :(9):svr: - : - : - : - : - : - : - :yes: - :svr_
|
Notes:
- ---
- Although they are
STREAMS
functions, nobody other than
UnixWare®
mentions the
MPSTR_*
functions[15],
so they are placed in the
SVR 4.2 MP
compatibility module,
streams-svr4compat.
- ---
- The
pcmsg(9)
function seems to have been missed by a number of implementations.
- ---
- Note how
LiS
always misses what
Solaris
misses. That is probably not a coincidence.
- ---
- LiS
has been notoriously bad at implementing these MP functions.
- ---
- AIX®,
OSF/1®
and
UXP/V®
do not document any of these functions, which is bad: these are the MP functions for
STREAMS.
Specialized STREAMS functions:
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
alloclk | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
allocq | (9) | yes | - | - | yes | - | - | yes | - | - | - | yes
|
allocstr | (9) | yes | - | - | - | - | - | yes | - | - | - | - allstream :(9): - : - : - : - : - : - :yes: - : - : - : - appq :(9):yes: - : - : - : - : - : - : - : - : - :lfs
|
apush_get | (9) | yes | - | - | - | - | - | - | - | - | - | lfs
|
apush_set | (9) | yes | - | - | - | - | - | - | - | - | - | lfs
|
apush_vml | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
autopush | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
autopush_add | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
autopush_del | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
autopush_find | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
autopush_vml | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
bcanget | (9) | yes | - | - | - | - | - | - | - | - | - | lfs
|
canget | (9) | yes | - | - | - | - | - | - | - | - | - | lfs
|
defer_func | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
di_alloc | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
di_put | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
enableq | (9) | yes | - | - | - | - | - | - | - | - | - | lfs
|
findlinks | (9) | - | - | - | - | - | - | yes | - | - | - | - freelk :(9):yes: - : - : - : - : - : - : - : - : - : -
|
freeq | (9) | yes | - | - | yes | - | - | yes | - | - | - | yes
|
freestr | (9) | yes | - | - | - | - | - | yes | - | - | - | - getendq :(9): - : - : - : - : - : - :yes: - : - : - : - getf :(9): - : - : - : - : - : - :yes: - : - : - : - isdatablk :(9):yes: - : - : - : - : - : - : - : - : - :yes
|
isdatamsg | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
linkmsg | (9) | yes | - | - | - | - | - | - | - | - | - | lfs
|
msgsize | (9) | yes | - | - | - | - | - | yes | - | - | - | yesputctl2 :(9):yes:yes:yes:yes: - : - : - : - : - : - :lfs
|
putnextctl2 | (9) | yes | - | yes | - | - | - | - | - | - | - | lfs
|
qattach | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
qclose | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
qcountstrm | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
qdetach | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
qopen | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
qpop | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
qpush | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
queue_free | (9) | - | - | - | - | - | - | yes | - | - | - | - sd_get :(9):yes: - : - : - : - : - : - : - : - : - : -
|
sd_put | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
sealloc | (9) | - | - | - | - | - | - | yes | - | - | - | - sefree :(9): - : - : - : - : - : - :yes: - : - : - : - setqsched :(9):yes: - : - : - : - : - : - : - : - : - : -
|
setq | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
stream_free | (9) | - | - | - | - | - | - | yes | - | - | - | - unweldq :(9):yes:yes:yes: - :yes: - : - : - : - : - : -
|
weldq | (9) | yes | yes | yes | - | yes | - | - | - | - | - | -
|
xmsgsize | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
__bufcall | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
__timeout | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
|
get_sleep_lock | (9) | hux | - | yes | - | - | - | - | - | - | - | hux
|
streams_put | (9) | hux | - | yes | - | - | - | - | - | - | - | hux
|
str_install_HPUX | (9) | hux | - | yes | - | - | - | - | - | - | - | hux
|
|
allocbi | (9) | mac | - | - | yes | yes | - | - | - | - | - | mac
|
esballoca | (9) | mac | - | - | yes | - | - | - | - | - | - | mac
|
mi_allocq | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_attach | (9) | mps | - | - | - | - | - | - | - | - | - | mps
|
mi_bcmp | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_bufcall | (9) | mps | yes | - | yes | - | - | - | - | - | - | mps
|
mi_close_comm | (9) | mps | yes | - | yes | - | - | - | - | - | - | mps
|
mi_close_detached | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_copyin | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_copyout | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_copyout_alloc | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_copy_done | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_copy_set_rval | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_copy_state | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_detach | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_freeq | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_next_ptr | (9) | mps | yes | - | yes | - | - | - | - | - | - | mps
|
mi_offset_param | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_offset_paramc | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_open_comm | (9) | mps | yes | - | yes | - | - | - | - | - | - | mps
|
mi_open_detached | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_prev_ptr | (9) | mps | - | - | - | - | - | - | - | - | - | mps
|
mi_reallocb | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_reuse_proto | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_set_sth_hiwat | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_set_sth_lowat | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_set_sth_maxblk | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_set_sth_wroff | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_sprintf | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_timer | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_timer_alloc | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_timer_cancel | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_timer_free | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_timer_q_switch | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mi_timer_valid | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mpnotify | (9) | mac | - | - | yes | - | - | - | - | - | - | mac
|
mps_become_writer | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mps_intr_disable | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
mps_intr_enable | (9) | mps | - | - | yes | - | - | - | - | - | - | mps
|
puthere | (9) | osf | - | - | yes | yes | - | - | - | - | - | osf
|
streams_close_comm | (9) | osf | - | - | - | yes | - | - | - | - | - | osf
|
streams_open_comm | (9) | osf | - | - | - | yes | - | - | - | - | - | osf
|
streams_open_ocomm | (9) | osf | - | - | - | yes | - | - | - | - | - | osf
|
strmod_add | (9) | osf | - | - | - | yes | - | - | - | - | - | -
|
strmod_del | (9) | osf | - | - | - | yes | - | - | - | - | - | -
|
str_install_AIX | (9) | aix | yes | - | - | - | - | - | - | - | - | -
|
wantio | (9) | aix | yes | - | - | - | - | - | - | - | - | -
|
wantmsg | (9) | aix | yes | - | - | - | - | - | - | - | - | -
|
|
streams_interrupt | (9) | - | - | - | - | - | yes | - | - | - | - | - STREAMS_TIMEOUT :(9): - : - : - : - : - :yes: - : - : - : - : - _
|
bcache_allocb | (9) | - | - | - | - | - | - | yes | - | - | - | - bcache_create :(9): - : - : - : - : - : - :yes: - : - : - : - bcache_destroy :(9): - : - : - : - : - : - :yes: - : - : - : - bpsize :(9): - : - : - : - : - : - :yes: - : - : - : - create_putlocks :(9): - : - : - : - : - : - :yes: - : - : - : - DB_BASE :(9): - : - : - : - : - : - :yes: - : - : - : - DB_LIM :(9): - : - : - : - : - : - :yes: - : - : - : - DB_REF :(9): - : - : - : - : - : - :yes: - : - : - : - DB_TYPE :(9): - : - : - : - : - : - :yes: - : - : - : - flushq_common :(9): - : - : - : - : - : - :yes: - : - : - : - infonext :(9): - : - : - : - : - : - :yes: - : - : - : - isuioq :(9): - : - : - : - : - : - :yes: - : - : - : - MBLKHEAD :(9): - : - : - : - : - : - :yes: - : - : - : - MBLKIN :(9): - : - : - : - : - : - :yes: - : - : - : - MBLKL :(9): - : - : - : - : - : - :yes: - : - : - : - MBLKSIZE :(9): - : - : - : - : - : - :yes: - : - : - : - MBLKTAIL :(9): - : - : - : - : - : - :yes: - : - : - : - mcopymsg :(9): - : - : - : - : - : - :yes: - : - : - : - merror :(9): - : - : - : - : - : - :yes: - : - : - : - mexchange :(9): - : - : - : - : - : - :yes: - : - : - : - mexpandb :(9): - : - : - : - : - : - :yes: - : - : - : - miocack :(9): - : - : - : - : - : - :yes: - : - : - : - miocnak :(9): - : - : - : - : - : - :yes: - : - : - : - miocpullup :(9): - : - : - : - : - : - :yes: - : - : - : - mkiocb :(9): - : - : - : - : - : - :yes: - : - : - : - mod_info :(9):sun: - : - : - : - : - :yes: - : - : - : -
|
mod_install | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
mod_remove | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
mod_strmops | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
OFFSET | (9) | - | - | - | - | - | - | yes | - | - | - | - qbufcall :(9):sun: - : - : - : - : - :yes: - : - : - : -
|
QNAME | (9) | - | - | - | - | - | - | yes | - | - | - | - qtimeout :(9):sun: - : - : - : - : - :yes: - : - : - : -
|
queclass | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
qunbufcall | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
quntimeout | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
qwait | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
qwait_rw | (9) | - | - | - | - | - | - | yes | - | - | - | - qwait_sig :(9):sun: - : - : - : - : - :yes: - : - : - : -
|
qwriter | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
reallocb | (9) | - | - | - | - | - | - | yes | - | - | - | - rwnext :(9): - : - : - : - : - : - :yes: - : - : - : - straln :(9): - : - : - : - : - : - :yes: - : - : - : - strbcpy :(9): - : - : - : - : - : - :yes: - : - : - : - struioget :(9): - : - : - : - : - : - :yes: - : - : - : - struioput :(9): - : - : - : - : - : - :yes: - : - : - : - strwakeq :(9): - : - : - : - : - : - :yes: - : - : - : - _
|
allocb_physreq | (9) | uw7 | - | - | - | - | - | - | - | yes | - | yes
|
msgphysreq | (9) | uw7 | - | - | - | - | - | - | - | yes | - | -
|
msgpullup_physreq | (9) | uw7 | - | - | - | - | - | - | - | yes | - | -
|
msgscgth | (9) | uw7 | - | - | - | - | - | - | - | yes | - | -
|
strioccall | (9) | uw7 | - | - | - | - | - | - | - | yes | - | -
|
|
lis_apushm | (9) | lis | - | - | - | - | - | - | - | - | - | yeslis_apush_get :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_apush_set :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_bcanputnext_anyband:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_clone_major :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_dobufcall :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_doclose :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fattach :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fdetach :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fdetach_all :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fdetach_stream :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fifo_close_sync :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fifo_open_sync :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fifo_write_sync :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_find_strdev :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fmod_sw :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_freedb :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_free_passfp :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_fstr_sw :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_get_fifo :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_get_passfp :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_get_pipe :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_init_bufcall :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_ioc_fattach :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_ioc_fdetach :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_ioc_pipe :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_pipe :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_putbqf :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_putqf :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_qattach :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_qclose :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_qcountstrm :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_qdetach :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_qopen :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_queuerun_cnts :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_queues_running :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_queue_name :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_recvfd :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_register_driver_qlock_option:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_register_module_qlock_option:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_register_strdev :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_register_strmod :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_runq_cnts :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_runq_req_cnt :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_sendfd :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_setqsched :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_setqsched_cnts :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_setqsched_isr_cnts:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_setq :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_set_file_str :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_stdata_cnt :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strclose :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strcount :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strgetpmsg :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strioctl :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strm_name :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strm_name_from_queue:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_stropen :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_stropts_file :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strputpmsg :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strread :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strstats :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_strwrite :(9):lis: - : - : - : - : - : - : - : - : - :yeslis_unregister_strdev:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_unregister_strmod:(9):lis: - : - : - : - : - : - : - : - : - :yeslis_valid_mod_list :(9):lis: - : - : - : - : - : - : - : - : - :yesOTHER :(9):lis: - : - : - : - : - : - : - : - : - :yes_
|
UNIX® System V Release 3.2
compatibility functions;
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
cmpdev | (9) | - | - | - | - | - | - | yes | - | - | yes | - emajor :(9):svr: - : - : - : - : - :yes: - :yes: - :svreminor :(9):svr: - : - : - : - : - :yes: - :yes: - :svretoimajor :(9):svr: - : - : - : - :yes:yes: - :yes: - :svrexpdev :(9): - : - : - : - : - : - :yes: - : - :yes: - itoemajor :(9):svr: - : - : - : - :yes:yes: - :yes: - :svrmajor :(9): - : - :yes: - :yes: - :yes:yes: - : - :yesmakedev :(9): - : - :yes: - :yes: - :yes: - : - :yes: - minor :(9): - : - :yes: - :yes: - :yes:yes: - : - : - _
|
UNIX® System V Release 4.0
DDI/DKI
Functions:
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
ASSERT | (9) | svr | - | - | - | - | yes | yes | - | yes | - | yesbcopy :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesbiodone :(9): - : - : - : - :yes:yes:yes: - :yes: - : - biowait :(9): - : - : - : - : - :yes:yes: - :yes: - : - bp_mapin :(9): - : - : - : - : - :yes:yes: - :yes: - : - bp_mapout :(9): - : - : - : - : - :yes:yes: - :yes: - : - brelse :(9): - :yes: - : - :yes:yes: - : - :yes: - : - btop :(9): - : - : - : - :yes:yes:yes: - :yes: - : - btopr :(9): - : - : - : - : - :yes:yes: - :yes: - : - bzero :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesclrbuf :(9): - :yes: - : - : - :yes:yes: - :yes: - : - cmn_err :(9):yes: - :yes:yes: - :yes:yes:yes:yes:yes:yescopyin :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yescopyout :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yesdelay :(9):yes:yes:yes: - :yes:yes:yes: - :yes:yes: - dma_disable :(9): - : - : - : - : - : n : - : - :yes: - : - dma_enable :(9): - : - : - : - : - : n : - : - :yes: - : - dma_free_buf :(9): - : - : - : - : - : n : - : - :yes: - : - dma_free_cb :(9): - : - : - : - : - : n : - : - :yes: - : - dma_get_best_mode :(9): - : - : - : - : - : n : - : - :yes: - : - dma_get_buf :(9): - : - : - : - : - : n : - : - :yes: - : - dma_get_cb :(9): - : - : - : - : - : n : - : - :yes: - : - dma_pageio :(9): - : - : - : - : - : n : - : - :yes: - : - dma_prog :(9): - : - : - : - : - : n : - : - :yes: - : - dma_stop :(9): - : - : - : - : - : - : - : - :yes: - : - dma_swsetup :(9): - : - : - : - : - : n : - : - :yes: - : - dma_swstart :(9): - : - : - : - : - : n : - : - :yes: - : - drv_getparm :(9):yes: - :yes: - : - :yes:yes: - :yes: - : - drv_hztousec :(9):yes: - : - : - : - :yes:yes: - :yes: - : - drv_priv :(9):yes: - :yes:yes:yes:yes:yes: - :yes:yes: - drv_setparm :(9): - : - : - : - : - :yes: - : - :yes: - : - drv_usectohz :(9):yes: - : - : - : - :yes:yes: - :yes: - : - drv_usecwait :(9):yes: - : - : - : - :yes:yes: - :yes: - : - freerbuf :(9): - : - : - : - : - :yes:yes: - :yes: - : - geteblk :(9): - :yes: - : - : - :yes: - : - :yes: - : - getemajor :(9):svr: - : - : - : - :yes:yes: - :yes:yes: - geteminor :(9):svr: - : - : - : - :yes:yes: - :yes:yes: - geterror :(9): - :yes: - : - : - :yes:yes: - :yes: - : - getmajor :(9):yes: - :yes: - : - :yes:yes: - :yes:yes:yesgetminor :(9):yes: - :yes: - : - :yes:yes: - :yes:yes:yesgetrbuf :(9): - : - : - : - : - :yes:yes: - :yes: - : - hat_getkpfnum :(9): - : - : - : - : - : n :yes: - :yes: - : - hat_getppfnum :(9): - : - : - : - : - : n :yes: - :yes: - : - inb :(9):yes: - : - : - : - : n :yes: - :yes: - :yesinl :(9):yes: - : - : - : - : n :yes: - :yes: - :yesinw :(9):yes: - : - : - : - : n :yes: - :yes: - :yeskmem_alloc :(9):yes: - :yes: - :yes:yes:yes: - :yes: - :yeskmem_fast_alloc :(9): - : - : - : - : - : - :yes: - : - : - : - kmem_fast_free :(9): - : - : - : - : - : - :yes: - : - : - : - kmem_free :(9):yes: - :yes: - :yes:yes:yes: - :yes: - :yeskmem_zalloc :(9):yes: - : - : - : - :yes:yes: - :yes: - :yesmakedevice :(9):yes: - :yes: - : - :yes:yes: - :yes:yes:yesmax :(9):yes: - :yes: - : - :yes:yes:yes:yes:yes:yesmin :(9):yes: - :yes: - : - :yes:yes:yes:yes:yes:yesngeteblk :(9): - : - : - : - : - :yes: - : - :yes: - : - outb :(9):yes: - : - : - : - : n :yes: - :yes: - :yesoutl :(9):yes: - : - : - : - : n :yes: - :yes: - :yesoutw :(9):yes: - : - : - : - : n :yes: - :yes: - :yespage_numtopp :(9): - : - : - : - : - : - : - : - :yes: - : - page_pptonum :(9): - : - : - : - : - : - : - : - :yes: - : - physiock :(9): - : - : - : - : - :yes: - : - :yes: - : - physmap :(9): - : - : - : - : - : n : - : - :yes: - : - physmap_free :(9): - : - : - : - : - : n : - : - :yes: - : - pollwakeup :(9): - : - : - : - : - :yes:yes: - :yes: - : - pptophys :(9): - : - : - : - : - :yes: - : - :yes: - : - psignal :(9): - : - : - : - :yes: n : - : - :yes: - : - ptob :(9): - : - : - : - : - :yes:yes: - :yes: - : - rdma_filter :(9): - : - : - : - : - : n : - : - :yes: - : - repinsb :(9): - : - : - : - : - : n :yes: - :yes: - : - repinsd :(9): - : - : - : - : - : n :yes: - :yes: - : - repinsw :(9): - : - : - : - : - : n :yes: - :yes: - : - repoutsb :(9): - : - : - : - : - : n :yes: - :yes: - : - repoutsd :(9): - : - : - : - : - : n :yes: - :yes: - : - repoutsw :(9): - : - : - : - : - : n :yes: - :yes: - : - rmalloc :(9): - : - : - : - :yes: - :yes: - :yes:yes: - rmfree :(9): - : - : - : - :yes: - :yes: - :yes:yes: - rminit :(9): - : - : - : - :yes: n : - : - :yes:yes: - rmsetwant :(9): - : - : - : - : - : n : - : - :yes: - : - sleep :(9):svr:yes:yes: - :yes:yes: - : - :yes:yes:svrspl0 :(9):svr: - :yes: - :yes:yes: - :yes:yes:yes:yesspl1 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl2 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl3 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl4 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl5 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl6 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl7 :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrspl :(9):svr: - :yes: - :yes: - : - :yes:yes:yes:svrsplbase :(9):svr: - :yes: - :yes:yes: - :yes:yes:yes:svrspldisk :(9):svr: - :yes: - :yes:yes: - :yes:yes:yes:svrsplhi :(9):svr: - :yes: - :yes:yes: - :yes:yes:yes:svrspltimeout :(9):svr: - :yes: - :yes:yes: - :yes:yes:yes:svrspltty :(9):svr: - :yes: - :yes:yes: - :yes:yes:yes:svrsplx :(9):svr:yes:yes: - :yes:yes:yes:yes:yes:yes:yestimeout :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesuiomove :(9): - :yes: - : - :yes:yes:yes: - :yes: - : - untimeout :(9):yes:yes:yes: - :yes:yes:yes:yes:yes:yes:yesureadc :(9): - :yes: - : - : - :yes:yes: - :yes: - : - useracc :(9): - : - : - : - : - : - : - : - :yes: - : - uwritec :(9): - :yes: - : - : - :yes:yes: - :yes: - : - vtop :(9): - : - :yes: - :yes: n : - :yes:yes:yes: - wakeup :(9):svr: - :yes: - :yes:yes: - : - :yes:yes:svr_
|
UNIX® System V Release 4.0 MP
DDI/DKI
Functions:
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
dtimeout | (9) | svr | - | - | - | - | yes | - | - | yes | - | - itimeout :(9):svr: - :yes: - : - :yes: - : - :yes: - : - rmallocmap :(9): - : - : - : - : - :yes:yes: - :yes: - : - rmalloc_wait :(9): - : - : - : - : - :yes:yes: - :yes: - : - rmfreemap :(9): - : - : - : - : - :yes:yes: - :yes: - : - _
|
bioerror | (9) | - | - | - | - | - | yes | yes | - | yes | - | - getnextpg :(9): - : - : - : - : - :yes: - : - :yes: - : - kvtoppid :(9): - : - : - : - : - : n : - : - :yes: - : - phalloc :(9): - : - : - : - : - :yes: - : - :yes: - : - phfree :(9): - : - : - : - : - :yes: - : - :yes: - : - phystoppid :(9): - : - : - : - : - : n : - : - :yes: - : - proc_ref :(9): - : - : - : - : - :yes:yes: - :yes: - : - proc_signal :(9): - : - : - : - : - :yes:yes: - :yes: - : - proc_unref :(9): - : - : - : - : - :yes:yes: - :yes: - : - _
|
UNIX® System V Release 4.2
DDI/DKI
Functions:
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
drv_gethardware | (9) | - | - | - | - | - | n | - | - | yes | - | - mod_drvattach :(9): - : - : - : - : - : n : - : - :yes: - : - mod_drvdetach :(9): - : - : - : - : - : n : - : - :yes: - : - _
|
UNIX® System V Release 4.2 MP
DDI/DKI
Functions:
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
bcb_alloc | (9) | - | - | - | - | - | - | - | - | yes | - | - bcb_free :(9): - : - : - : - : - : - : - : - :yes: - : - bcmp :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yesbuf_breakup :(9): - : - : - : - : - : - : - : - :yes: - : - cm_addval :(9): - : - : - : - : - : - : - : - :yes: - : - cm_AT_putconf :(9): - : - : - : - : - : - : - : - :yes: - : - cm_delval :(9): - : - : - : - : - : - : - : - :yes: - : - cm_devconfig_size :(9): - : - : - : - : - : - : - : - :yes: - : - cm_getbrdkey :(9): - : - : - : - : - : - : - : - :yes: - : - cm_getnbrd :(9): - : - : - : - : - : - : - : - :yes: - : - cm_getval :(9): - : - : - : - : - : - : - : - :yes: - : - cm_getversion :(9): - : - : - : - : - : - : - : - :yes: - : - cm_intr_attach :(9): - : - : - : - : - : - : - : - :yes: - : - cm_intr_detach :(9): - : - : - : - : - : - : - : - :yes: - : - cm_read_devconfig :(9): - : - : - : - : - : - : - : - :yes: - : - cm_write_devconfig :(9): - : - : - : - : - : - : - : - :yes: - : - dma_cascade :(9): - : - : - : - : - : - : - : - :yes: - : - dma_physreq :(9): - : - : - : - : - : - : - : - :yes: - : - drv_mmap :(9): - : - : - : - : - : - : - : - :yes: - : - drv_munmap :(9): - : - : - : - : - : - : - : - :yes: - : - getpl :(9): - : - : - : - : - : - : - : - :yes: - : - iobitmapctl :(9): - : - : - : - : - : - : - : - :yes: - : - kmem_alloc_physcontig:(9): - : - : - : - : - : - : - : - :yes: - : - kmem_free_physcontig:(9): - : - : - : - : - : - : - : - :yes: - : - KS_HOLD0LOCKS :(9): - : - : - : - : - : - : - : - :yes: - : - LOCK :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrLOCK_ALLOC :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrLOCK_DEALLOC :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrLOCK_OWNED :(9):svr: - : - : - : - : - : - : - :yes: - :svrmet_ds_alloc_stats :(9): - : - : - : - : - : - : - : - :yes: - : - met_ds_dealloc_stats:(9): - : - : - : - : - : - : - : - :yes: - : - met_ds_dequeued :(9): - : - : - : - : - : - : - : - :yes: - : - met_ds_hist_stats :(9): - : - : - : - : - : - : - : - :yes: - : - met_ds_iodone :(9): - : - : - : - : - : - : - : - :yes: - : - met_ds_queued :(9): - : - : - : - : - : - : - : - :yes: - : - ovbcopy :(9): - :yes: - : - :yes: - : - : - :yes: - : - physreq_alloc :(9): - : - : - : - : - : - : - : - :yes: - : - physreq_free :(9): - : - : - : - : - : - : - : - :yes: - : - physreq_prep :(9): - : - : - : - : - : - : - : - :yes: - : - proc_valid :(9): - : - : - : - : - : - : - : - :yes: - : - RW_ALLOC :(9):svr: - : - : - : - :yes: - : - :yes: - :svrRW_DEALLOC :(9):svr: - : - : - : - :yes: - : - :yes: - :svrRW_RDLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrRW_TRYRDLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrRW_TRYWRLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrRW_UNLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrRW_WRLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_ALLOC :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_DEALLOC :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_LOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_LOCKAVAIL :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_LOCKOWNED :(9):svr: - : - : - : - : n : - : - :yes: - :svrSLEEP_LOCK_SIG :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_TRYLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSLEEP_UNLOCK :(9):svr: - : - : - : - :yes: - : - :yes: - :svrstrcat :(9):yes:yes: - : - : - :yes: - : - :yes: - :yesstrcmp :(9):yes:yes: - : - :yes: - :yes: - :yes: - :yesstrcpy :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yesstrlen :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yesstrncat :(9):yes:yes: - : - : - : n : - : - :yes: - :yesstrncmp :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yesstrncpy :(9):yes:yes: - : - :yes:yes:yes: - :yes: - :yesSV_ALLOC :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrSV_BROADCAST :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrSV_DEALLOC :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrSV_SIGNAL :(9):svr: - : - : - : - :yes: - : - :yes: - :svrSV_WAIT :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrSV_WAIT_SIG :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrTRYLOCK :(9):svr: - :yes: - : - :yes: - : - :yes: - :svrUNLOCK :(9):svr: - :yes: - : - :yes: - : - :yes: - :svr_
|
Extra OS-Specific
DDI/DKI
Functions:
-
|
Function/Macro | Sec | LfS | AIX | HUX | MOT | OSF | SGI | Sun | SUX | UW7 | UXP | LiS
|
|
atoi | (9) | - | yes | - | - | yes | - | - | - | - | - | -
|
ATOMIC_INT_ADD | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_ALLOC | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_DEALLOC | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_DECR | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_INCR | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_INIT | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_READ | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_SUB | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
ATOMIC_INT_WRITE | (9) | uw7 | - | - | - | - | - | - | - | yes | - | uw7
|
copyinstr | (9) | - | yes | - | - | yes | - | - | - | - | - | -
|
copyoutstr | (9) | - | - | - | - | yes | - | - | - | - | - | - ddi_get_cred :(9):sun: - : - : - : - : - :yes: - : - : - : -
|
ddi_getiminor | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
ddi_get_lbolt | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
ddi_get_pid | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
ddi_get_time | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
ddi_prop_op | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
ddi_umem_alloc | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
ddi_umem_free | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
drv_hztomsec | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
drv_msectohz | (9) | yes | - | - | - | - | - | - | - | - | - | -
|
fubyte | (9) | - | yes | - | - | yes | yes | - | - | - | - | -
|
fuword | (9) | - | yes | - | - | yes | yes | - | - | - | - | -
|
iodone | (9) | - | yes | - | - | yes | - | - | - | - | - | -
|
kmem_alloc_node | (9) | yes | - | - | - | - | yes | - | - | - | - | -
|
kmem_cache_alloc | (9) | yes | - | - | - | - | - | yes | - | - | - | -
|
kmem_cache_create | (9) | yes | - | - | - | - | - | yes | - | - | - | -
|
kmem_cache_destroy | (9) | yes | - | - | - | - | - | yes | - | - | - | -
|
kmem_cache_free | (9) | yes | - | - | - | - | - | yes | - | - | - | -
|
kmem_zalloc_node | (9) | yes | - | - | - | - | yes | - | - | - | - | -
|
lbolt | (9) | osf | yes | yes | - | yes | - | yes | yes | yes | yes | osf
|
MALLOC | (9) | osf | - | - | - | yes | - | - | - | - | - | yes
|
memchr | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
memcmp | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
memcpy | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
memmove | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
memscan | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
memset | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
minphys | (9) | - | - | - | - | yes | - | yes | - | - | - | -
|
nochpoll | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
nodev | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
nulldev | (9) | sun | - | - | - | - | - | yes | - | - | - | -
|
numtos | (9) | - | - | - | - | - | - | yes | - | yes | - | -
|
panic | (9) | - | yes | - | - | yes | - | - | - | - | - | -
|
physio | (9) | - | - | - | - | yes | - | yes | - | - | - | -
|
printf_OSF | (9) | osf | - | - | - | yes | - | - | yes | yes | - | osf
|
printf_UW7 | (9) | uw7 | - | - | - | yes | - | - | yes | yes | - | uw7
|
snprintf | (9) | yes | - | - | - | - | - | yes | - | - | - | yessprintf :(9):yes: - : - : - : - : - :yes: - : - : - :yes
|
strchr | (9) | yes | yes | - | - | - | - | yes | - | yes | - | yes
|
strnicmp | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
strnlen | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
strpbrk | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
strrchr | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
strsep | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
strspn | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
strstr | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
strtok | (9) | yes | yes | - | - | - | - | - | - | - | - | yes
|
strtol | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
strtoll | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
strtoul | (9) | yes | - | - | - | - | - | - | - | yes | - | yes
|
strtoull | (9) | yes | - | - | - | - | - | - | - | - | - | yes
|
subyte | (9) | - | yes | - | - | yes | yes | - | - | - | - | -
|
suser | (9) | - | yes | - | - | yes | - | - | - | - | - | -
|
suword | (9) | - | yes | - | - | yes | yes | - | - | - | - | -
|
swab | (9) | - | - | - | - | - | - | yes | - | - | - | - time :(9):osf:yes:yes: - :yes: - : - :yes: - :yes:osf
|
uprintf | (9) | osf | yes | - | - | yes | - | - | - | - | - | osf
|
va_arg | (9) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - va_copy :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes: - va_end :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes: - va_start :(9):yes:yes:yes:yes:yes:yes:yes:yes:yes:yes: - vcmn_err :(9):yes: - : - : - : - : - :yes: - : - : - : -
|
vsprintf | (9) | - | - | - | - | - | - | yes | - | - | - | yes
|
|
IOCTLS
See
streamio(7).
SYSCTLS
Linux Fast-STREAMS
provides and supports a number of system controls that can be accessed using
the
/proc/sys/streams/*
files, with the
sysctl(2)
interface, or using
sysctl(8).
The following
STREAMS
specific system controls are provided by
Linux Fast-STREAMS:
- sys.streams.cltime
- Defines the default time interval (in milliseconds) that closing stream will
linger for messages to clear its queues before finally closing.
Valid values are zero (0) or greater (MAXINT).
The default value is the traditional UNIX value of 15,000 milliseconds (15 seconds).
This system control defines the default for all new streams.
The value for a given stream can be changed with the
streamio(7)
IO control
I_CLTIME,
after the stream is opened and before the stream is closed.
- sys.streams.max_apush
- Defines the maximum number of modules that can be configured for autopush onto
a
STREAMS
driver.
Valid values are zero (0) or greater (MAXINT).
The default value is the traditional UNIX value of 8 modules.
This system control defines the maximum for all new autopush configurations.
Existing autopush configurations are unchanged.
- sys.streams.max_mblk
- Defines the maximum number of combined message data blocks that will be held
on the per-CPU free list between runs of
runqueues(9).
Valid values are zero (0) or greater (MAXINT).
The default value is the traditional UNIX value of 10 blocks.
This system control defines the maximum for the next run of
runqueues(9)
for all CPUs.
Increasing or decreasing this number may have a positive or negative performance impact.
- sys.streams.max_stramod
- Defines the maximum number of autopush structures that can be defined for the
entire system.
Valid values are zero (0) or greater (MAXINT).
The default value is eight (8) ???????
This system control defines the system-wide maximum.
- sys.streams.max_strdev
- Defines the maximum number of streams devices. This is normally the maximum
number of character devices (MAX_CHRDEV).
Valid values are zero (0) or greater (MAXINT).
The default value is MAX_CHRDEV (256).
This is a read-only system control.
- sys.streams.max_strmod
- Defines the maximum number of streams modules. This is normally the maximum
number of character devices (MAX_CHRDEV).
Valid values are zero (0) or greater (MAXINT).
The default value is MAX_CHRDEV (256).
This is a read-only system control.
- sys.streams.msg_priority
- Defines whether allocation priority will be honoured or whether all allocations
will be treated the same. See
allocb(9).
When true (non-zero), allocation priority will be honoured when allocating
message blocks. When false (zero), allocation priority will be ignored.
Valid values are zero (0) or non-zero.
The default value is zero (0).
Changing this value may have a positive or negative impact on system
performance.
- sys.streams.nband
- Defines the number of queue bands available.
Valid values are zero (0) or greater (MAXINT).
The default value is the traditional UNIX value of 256.
This system control defines the system wide value.
This system control is read-only.
- sys.streams.nstrmsgs
- Defines the maximum number of combined message data blocks that will be
allocated.
Valid values are zero (0) or greater (MAXINT).
The default value is 2^12.
Changing this value may have a positive or negative impact on system
performance. Setting this value to a small number may be useful for debugging
STREAMS
drivers and modules.
- sys.streams.nstrpush
- Defines the maximum number of modules that can be pushed on a stream. This
includes both autopushed modules and modules pushed using the
I_PUSH
IO control of
streamio(7).
Valid values are zero (0) or greater (MAXINT).
The default value is the traditional UNIX value of 64.
This is the default values for all new streams. Existing streams are
unaffected.
- sys.streams.hiwat
- Defines the default high water mark (in message bytes) for
the stream head.
Valid values are zero (0) or greater (MAXINT).
The default value is 5120.
This is the default value for all new stream heads. Existing stream heads are
unaffected. The value on existing stream heads can be changed by a driver or
module by sending an
M_SETOPTS(9)
message to the stream head.
- sys.streams.lowat
- Defines the default low water mark (in mesasge bytes) for
the stream head.
Valid values are zero (0) or greater (MAXINT).
The default value is 1024.
This is the default value for all new stream heads. Existing stream heads are
unaffected. The value on existing stream heads can be changed by a driver or
module by sending an
M_SETOPTS(9)
message to the stream head.
- sys.streams.maxpsz
- Defines the maximum packet size accepted (in message bytes) for the
stream head.
Valid values are zero (0) or greater (MAXINT).
The default value is 2^12.
This is the default value for all new stream heads. Existing stream heads are
unaffected. The value on existing stream heads can be changed by a driver or
module by sending an
M_SETOPTS(9)
message to the stream head.
- sys.streams.minpsz
- Defines the minimum packet size accepted (in message bytes) for the
stream head.
Valid values are zero (0) or greater (MAXINT).
The default value is 0.
This is the default value for all new stream heads. Existing stream heads are
unaffected. The value on existing stream heads can be changed by a driver or
module by sending an
M_SETOPTS(9)
message to the stream head.
- sys.streams.reuse_fmodsw
- Defines whether fmodsw table entries will be reused.
When false (zero), fmodsw table entries will not be reused. When true
(non-zero), fmodsw table entries will be reused.
Valid values are zero (0) and non-zero.
The default value is false (zero).
- sys.streams.rtime
- Defines the time interval (in milliseconds) that the stream head will wait to
forward held messages when SNDHOLD is set for the stream head.
Valid values are zero (0) or greater (MAXINT).
The default value is 10 milliseconds (one clock tick).
This is the system wide value for all streams.
Changing this value may have a positive or negative impact on system
performance.
- sys.streams.strhold
- Defines whether the SNDHOLD feature is active or not. When false (0), the
SNDHOLD feature is deactivated. When true (non-zero), the SNDHOLD feature is
activated.
Valid values are zero (0) or non-zero.
The default value is false (0).
This is the default value for all new streams. Existing streams are
unaffected.
This setting can be examined and altered on an open stream using the
I_GWROPT
and
I_SWROPT
IO controls of
streamio(7).
- sys.streams.strctlsz
- Defines the maximum
STREAMS
control part size.
Valid values are zero (0) or greater (MAXINT).
The default value is 2^12.
This is the system wide maximum. Existing allocations are unaffected by
lowering this value.
Changing this value can have an impact on users of
putpmsg(2s).
- sys.streams.strmsgsz
- Defines the maximum
STREAMS
message size.
Valid values are zero (0) or greater (MAXINT).
The default value is 2^18.
This is the system wide maximum. Existing allocations are unaffected by
lowering this value.
Changing this value can have an impact on users of
write(2s),
writev(2s),
and
putpmsg(2s).
- sys.streams.strthresh
- Defines the maximum amount of memory that will be allocated for use by the
STREAMS
subsystem via
kmem_alloc(9)
or
kmem_zalloc(9),
or indirectly using
allocb(9)
or allocating other
STREAMS
data structures.
Valid values are zero (0) or greater (MAXINT).
This is the system wide maximum. Existing allocations are unaffected by
lowering this value.
Changing this value to a low value may have some use in debugging
STREAMS
drivers and modules.
SEE ALSO
adjmsg(9),
allocb(9),
allocb_physreq(9),
allocq(9),
appq(9),
autopush_add(9),
autopush_del(9),
autopush_find(9),
autopush_vml(9),
backq(9),
bcanget(9),
bcanput(9),
bcanputnext(9),
bcopy(9),
bufcall(9),
bzero(9),
canenable(9),
canget(9),
canput(9),
canputnext(9),
cdevsw(9),
cmn_err(9),
copyb(9),
copyin(9),
copymsg(9),
copyout(9),
cred_t(9),
datab(9),
datamsg(9),
ddi_get_cred(9),
ddi_getiminor(9),
ddi_get_lbolt(9),
ddi_get_pid(9),
ddi_get_time(9),
ddi_umem_alloc(9),
ddi_umem_free(9),
delay(9),
drv_getparm(9),
drv_hztomsec(9),
drv_hztousec(9),
drv_msectohz(9),
drv_priv(9),
drv_usectohz(9),
drv_usecwait(9),
dupb(9),
dupmsg(9),
enableok(9),
esballoc(9),
esbbcall(9),
flushband(9),
flushq(9),
fmodsw(9),
freeb(9),
freemsg(9),
freeq(9),
freezestr(9),
getemajor(9),
geteminor(9),
getmajor(9),
getminor(9),
getq(9),
insq(9),
isdatablk(9),
isdatamsg(9),
kmem_alloc(9),
kmem_free(9),
kmem_zalloc(9),
kmem_zalloc_node(9),
linkb(9),
linkmsg(9),
lis_adjmsg(9),
lis_allocb(9),
lis_allocb_physreq(9),
lis_allocq(9),
lis_appq(9),
lis_backq(9),
lis_bcanput(9),
lis_bcanputnext(9),
lis_bcopy(9),
lis_bufcall(9),
lis_bzero(9),
lis_canenable(9),
lis_canput(9),
lis_canputnext(9),
lis_cmn_err(9),
lis_copyb(9),
lis_copymsg(9),
lis_datamsg(9),
lis_date(9),
lis_dupb(9),
lis_dupmsg(9),
lis_enableok(9),
lis_esballoc(9),
lis_esbbcall(9),
lis_find_strdev(9),
lis_flushband(9),
lis_flushq(9),
lis_freeb(9),
lis_freemsg(9),
lis_freeq(9),
lis_getq(9),
lis_insq(9),
lis_isdatablk(9),
lis_isdatamsg(9),
lis_linkb(9),
lis_mknod(9),
lis_mount(9),
lis_msgdsize(9),
lis_msgpullup(9),
lis_msgsize(9),
lis_noenable(9),
lis_OTHER(9),
lis_OTHERQ(9),
lis_pullupmsg(9),
lis_putbq(9),
lis_putctl1(9),
lis_putctl(9),
lis_putnext(9),
lis_putnextctl1(9),
lis_putnextctl(9),
lis_putq(9),
lis_qattach(9),
lis_qclose(9),
lis_qdetach(9),
lis_qenable(9),
lis_qprocsoff(9),
lis_qprocson(9),
lis_qreply(9),
lis_qsize(9),
lis_RD(9),
lis_register_strdev(9),
lis_register_strmod(9),
lis_rmvb(9),
lis_rmvq(9),
lis_safe_canenable(9),
lis_safe_enableok(9),
lis_safe_noenable(9),
lis_safe_OTHERQ(9),
lis_safe_putnext(9),
lis_safe_qreply(9),
lis_safe_RD(9),
lis_safe_SAMESTR(9),
lis_safe_WR(9),
lis_SAMESTR(9),
lis_strqget(9),
lis_strqset(9),
lis_testb(9),
lis_timeout(9),
lis_umount2(9),
lis_umount(9),
lis_unbufcall(9),
lis_unlink(9),
lis_unlinkb(9),
lis_unregister_strdev(9),
lis_unregister_strmod(9),
lis_untimeout(9),
lis_version(9),
lis_WR(9),
lis_xmsgsize(9),
makedevice(9),
max(9),
mblk_t(9),
mi_bufcall(9),
mi_close_comm(9),
mi_next_ptr(9),
mi_open_comm(9),
mknod(9),
module_info(9),
mount(9),
msgb(9),
msgdsize(9),
msgpullup(9),
msgsize(9),
noenable(9),
OTHERQ(9),
pullupmsg(9),
put(9),
putbq(9),
putctl1(9),
putctl2(9),
putctl(9),
putnext(9),
putnextctl1(9),
putnextctl2(9),
putnextctl(9),
putq(9),
qattach(9),
qband(9),
qbufcall(9),
qi_qclose(9),
qcountstrm(9),
qdetach(9),
qenable(9),
qinit(9),
qi_qopen(9),
qprocsoff(9),
qprocson(9),
qreply(9),
qsize(9),
qtimeout(9),
queclass(9),
queinfo(9),
queue(9),
queue_t(9),
qunbufcall(9),
quntimeout(9),
qwait(9),
qwait_sig(9),
qwriter(9),
RD(9),
register_inode(9),
register_inode_major(9),
register_inode_minor(9),
register_strdev(9),
register_strdev_major(9),
register_strdev_minor(9),
register_strmod(9),
rmvb(9),
rmvq(9),
SAMESTR(9),
setq(9),
streamtab(9),
strlog(9),
strqget(9),
strqset(9),
testb(9),
timeout(9),
umount(9),
unbufcall(9),
unfreezestr(9),
unlink(9),
unlinkb(9),
unregister_inode(9),
unregister_inode_major(9),
unregister_inode_minor(9),
unregister_strdev(9),
unregister_strdev_major(9),
unregister_strdev_minor(9),
unregister_strmod(9),
untimeout(9),
unweldq(9),
wantio(9),
wantmsg(9),
weldq(9),
WR(9),
xmsgsize(9).
HISTORY
STREAMS
first appeared in
SVR 3[16].
REFERENCES
- [1]
- A Stream Input-Output System, AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8, October 1984, (New Jersey), D. M. Ritchie, AT&T.
pp. 1879-1910.
- [2]
- SVR 3,
UNIX® System V Release 3 Programmer's Manual, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
- [3]
- SVR 4,
UNIX® System V Release 4 Programmer's Manual, 1990, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
- [4]
- SVR 4.2,
UNIX® System V Release 4.2 Programmer's Manual, 1992, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
- [5]
- AIX® 5L Version 5.1,
AIX STREAMS Programmers Guide, 2001, (Boulder, Colorado), Internatonal Business Machines Corp., IBM.
<http://publibn.boulder.ibm.com/>
- [6]
- HP-UX STREAMS,
STREAMS Programmer's Guide -- HP 9000 and Integrity Server Computer Systems, October 2005, (Palo Alto, California), Hewlett-Packard Development Company L.P., HP.
<http://docs.hp.com/>
- [7]
- IRIX® 6.5.17,
IRIX® Device Driver Programmer's Guide, 2001, (Mountainview, California), Silicon Graphics, Inc., SGI Technical Publications.
<http://techpubs.sgi.com/>
- [8]
- Revision 1.5d2,
Open Transport Module Developer Note, June 18, 1996, (Cupertino, California), Apple Computer, Inc., Apple.
<http://developer.apple.com/macos/opentransport/>
- [9]
- Digital® UNIX (OSF/1.2),
Digital UNIX: Network Programmers Guide, 1996, (Palo Alto, California), Digital Equipment Corporation, Hewlett-Packard Company.
<http://www.true64unix.compaq.com/docs/>
- [10]
- Solaris® 8,
STREAMS Programming Guide, August 1999, (Palo Alto, California), Sun Microsystems, Inc., Sun.
[Part No: 805-7478-05]
<http://docs-pdf.sun.com/>
- [11]
- SUPER-UX® Release 9.2,
SUPER-UX STREAMS Programmers Guide, 1999, NEC Corporation, NEC.
- [12]
- UnixWare® 7.1.3,
UnixWare® 7 STREAMS Programmer's Guide, 2002, (Lindon, Utah), Caldera International, Inc., Caldera.
<http://uw713doc.sco.com/>
- [13]
- UXP/V® V10L10,
UXP/V Programmer's Guide: STREAMS V10, 1997, Fujitsu Limited, Fujitsu.
- [14]
- USL DDI/DKI,
Device Driver Interface/Driver-Kernel Interface (DDI/DKI) Reference Manual for Intel Processors, 1992, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
- [15]
- UnixWare® 7.1.3,
UnixWare 7.1.3 (OpenUnix 8) Documentation, 2002, (Lindon, Utah), Caldera International, Inc., Caldera.
<http://uw713doc.sco.com/>
- [16]
- SVR 3,
UNIX® System V Release 3 STREAMS Programmer's Guide, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
TRADEMARKS
- OpenSS7tm
- is a trademark of OpenSS7 Corporation.
- Linux®
- is a registered trademark of Linus Torvalds.
- UNIX®
- is a registered trademark of The Open Group.
- Solaris®
- is a registered trademark of Sun Microsystems.
Other trademarks are the property of their respective owners.
IDENTIFICATION
-
The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Thu, 11 Dec 2008 15:17:37 GMT.
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)
Index
- NAME
- SYNOPSIS
- INTERFACE
- OVERVIEW
- Background
- What is STREAMS?
- Why STREAMS?
- Why STREAMS for Linux?
- History of STREAMS for Linux
- Why Fast?
- DESCRIPTION
- Header Files
- Common Drivers
- Common Modules
- System Calls
- STREAMS Module Entry Points
- STREAMS Structures
- Module and Driver Registration Functions
- Message Handling Functions
- Queue Handling Functions
- Miscellaneous Functions
- EXTENSIONS
- Common Extensions
- Linux Fast-STREAMS Extensions
- Linux Fast-STREAMS Extensions from LiS
- COMPATIBILITY
- SVR 4.2 MP DDI/DKI Compatibility Functions
- AIX® 5L Version 5.1 Compatibility Functions
- HP-UX® 11.0i v2 Compatibility Functions
- OSF/1 1.2---Digial UNIX® Compatibility Functions
- UnixWare® 7.1.3 (OpenUnix 8) Compatibility Functions
- Solaris® 9/SunOS 5.9 Compatibility Functions
- MacOT 1.5r2 Compatibility Functions
- LiS 2.16 Compatibility Functions
- LiS 2.16 Compatibility Functions
- Compatibility
- IOCTLS
- SYSCTLS
- SEE ALSO
- HISTORY
- REFERENCES
- TRADEMARKS
- IDENTIFICATION
This document was created by
man2html,
using the manual pages.
Time: 15:17:34 GMT, December 11, 2008