Manpage of HPUXCOMPAT
Description: Manual Page
Keywords: ss7 ss7/ip ss7 over ip ss7 mtp ss7 sccp ss7 tcap sigtran mtp sccp tcap openss7 acb56 linux telephony pstn linux telephony linux nebs linux compactpci
HPUXCOMPAT
Section: OpenSS7 STREAMS Compatibility DDI/DKI (9)
Updated: 2008-10-31
Index
Return to Main Contents
NAME
hpuxcompat
- HP-UX
STREAMS Compatibility
SYNOPSIS
#define _HPUX_SOURCE
#include <sys/ddi.h>
OVERVIEW
OpenSS7 STREAMS Compatibility
provides a compatibility module,
streams-hpuxcompat.o,
that provides compatibility functions that smooth porting of drivers from the
HP-UX 11i v2
STREAMS/UX
environment to
OpenSS7 STREAMS Compatibility.
The functions provided by this compatibility module are described here.
DESCRIPTION
Many of the functions that are provided by
HP-UX®
are also provided by the core
streams.o
kernel module of
OpenSS7 STREAMS Compatibility.
Other
HP-UX®-specific
functions are provided by the
streams-hpuxcompat.o
compatibility kernel module.
Kernel Functions
Kernel functions available in
HP-UX®
that are already available in
Linux
are as follows:
-
bcopy(9)-
copy byte strings
-
bzero(9)-
zero a byte string
-
max(9)-
determine the maximum of two integers
-
min(9)-
determine the minimum of two integers
Kernel functions available in
HP-UX®
that are available in
OpenSS7 STREAMS Compatibility
(in the core
streams
kernel module) are as folllows:
-
cmn_err(9)-
print a kernel command error
-
delay(9)-
postpone the calling process for a number of clock ticks
-
drv_getparm(9)-
driver retrieve kernel parameter
-
drv_priv(9)-
check if the current process is priviledged
-
getmajor(9)-
get the internal major device number for a device.
-
getminor(9)-
get the extended minor device number for a device.
-
kmem_alloc(9)-
allocate kernel memory
-
kmem_free(9)-
deallocates kernel memory
-
makedevice(9)-
create a device from major and minor device numbers
SVR 4.2 MP Kernel Functions
Kernel functions available in
HP-UX®
that are available in
OpenSS7 STREAMS Compatibility
(in the
SVR 4.2 MP
compatibility kernel module,
streams-svr4compat)
are as folllows:
-
itimeout(9)-
start a timer at a specified priority level
-
LOCK(9)-
acquire a basic lock
-
LOCK_ALLOC(9)-
allocate and initialize a basic lock
-
LOCK_DEALLOC(9)-
deallocate a dynamically allocated basic lock
-
major(9)-
get the major device number for a device
-
makedev(9)-
make a device number from a major and minor device number
-
minor(9)-
get the minor device number for a device
-
sleep(9)-
put a process to sleep
-
spl0(9)-
set priority level
-
spl1(9)-
set priority level
-
spl2(9)-
set priority level
-
spl3(9)-
set priority level
-
spl4(9)-
set priority level
-
spl5(9)-
set priority level
-
spl6(9)-
set priority level
-
spl7(9)-
set priority level
-
spl(9)-
set priority level
-
splx(9)-
set priority level
-
SV_ALLOC(9)-
allocate and initialize a synchronization variable
-
SV_BROADCAST(9)-
wake one or all processes sleeping on a synchronization variable
-
SV_DEALLOC(9)-
deallocate a synchronization variable
-
SV_WAIT(9)-
wait on a sychronization variable or signal
-
SV_WAIT_SIG(9)-
wait on a sychronization variable or signal
-
TRYLOCK(9)-
attempt to acquire a basic lock
-
UNLOCK(9)-
release a basic lock
-
vtop(9)-
-
wakeup(9)-
Core STREAMS Functions
STREAMS
functions that are already available in
Linux Fast STREAMS
(in the core
streams
kernel module) are as follows:
-
adjmsg(9)-
trim bytes from the front or back of a STREAMS message
-
allocb(9)-
allocate a STREAMS message and data block
-
backq(9)-
find the upstream or downstream queue
-
bcanput(9)-
test flow control on a STREAMS message queue
-
bcanputnext(9)-
test flow control on a STREAMS message queue
-
bufcall(9)-
install a buffer callback
-
canput(9)-
test flow control on a STREAMS message queue
-
canputnext(9)-
test flow control on a STREAMS message queue
-
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
-
enableok(9)-
allows a STREAMS message queue to be scheduled
-
esballoc(9)-
allocate a STREAMS message and data block with a caller supplied data buffer
-
esbbcall(9)-
install a buffer callback for an extended STREAMS message block
-
flushband(9)-
flushes band STREAMS messages from a message queue
-
flushq(9)-
flushes messages from a STREAMS message queue
-
freeb(9)-
frees a STREAMS message block
-
freemsg(9)-
frees a STREAMS message
-
freezestr(9)-
freeze the state of a stream queue
-
getadmin(9)-
get the administration function pointer for a STREAMS module
-
getmid(9)-
get the STREAMS module id for a name
-
getq(9)-
gets a message from a STREAMS message queue
-
insq(9)-
inserts a message into a STREAMS message queue
-
linkb(9)-
link a message block to a STREAMS message
-
msgdsize(9)-
calculate the size of the data in a STREAMS message
-
msgppullup(9)-
pull up bytes in a STREAMS message
-
noenable(9)-
disables a STREAMS message queue from being scheduled
-
OTHERQ(9)-
return the other queue of a STREAMS queue pair
-
pcmsg(9)-
test a data block message type for priority control
-
pullupmsg(9)-
pull up the bytes in a STREAMS message
-
put(9)-
invoke the put procedure for a STREAMS driver or module with a STREAMS message
-
putbq(9)-
put a message back on a STREAMS message queue
-
putctl(9)-
put a control message on a STREAMS message queue
-
putctl1(9)-
put a 1 byte control message on a STREAMS message queue
-
putctl2(9)-
put a two byte control message on a STREAMS message queue
-
putnext(9)-
put a message on the downstream STREAMS message queue
-
putnextctl(9)-
put a control message on the downstream STREAMS message queue
-
putnextctl1(9)-
put a 1 byte control message on the downstream STREAMS message queue
-
putnextctl2(9)-
put a two byte control message on the downstream STREAMS message queue
-
putq(9)-
put a message on a STREAMS message queue
-
qenable(9)-
schedules a STREAMS message queue service routine
-
qprocsoff(9)-
disables STREAMS message queue processing for multi-processing
-
qprocon(9)-
enables a STREAMS message queue for multi-processing
-
qreply(9)-
replys 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
-
rmvb(9)-
remove a message block from a STREAMS message
-
rmvq(9)-
remove a message from a STREAMS message queue
-
SAMESTR(9)-
test for STREAMS pipe or fifo
-
splstr(9)-
set priority levels
-
strlog(9)-
pass a message to the STREAMS logger
-
strqget(9)-
gets information about a STREAMS message queue
-
strqset(9)-
sets attributes of a STREAMS message queue
-
testb(9)-
test if a STREAMS message can be allocated
-
timeout(9)-
start a timer
-
unbufcall(9)-
removes a STREAMS buffer callback
-
unfreezestr(9)-
thaw the state of a stream queue
-
unlinkb(9)-
unlink a message block from a STREAMS message
-
untimeout(9)-
stop a timer
-
unweldq(9)-
unweld two queues
-
weldq(9)-
weld two (or four) queues together
-
WR(9)-
return the write queue of a STREAMS queue pair
Specific STREAMS Functions
Functions that are available in the
OpenSS7 STREAMS Compatibility
HP-UX®
compatibility module,
streams-hpuxcompat.o,
are as follows:
-
get_sleep_lock(9)-
provide access to the global sleep lock
-
streams_get_sleep_lock(9)-
provide access to the global sleep lock
-
streams_mpsleep(9)-
put a process to sleep
-
streams_put(9)-
invoke the
qi_putp(9)
procedure for a STREAMS driver or module with a STREAMS message
Module and driver configuration functions that are available in the
OpenSS7 STREAMS Compatibility
HP-UX®
compatibility module,
streams-hpuxcompat,
are as follows:
-
str_install(9)-
install or uninstall a STREAMS driver or module
-
str_install_HPUX(9)-
install or uninstall a STREAMS driver or module
USAGE
For usage an example on the various functions, see the individual manual pages.
CONTEXT
These functions can be executed from various contexts as described in each separate manual page.
MP-STREAMS
Most of these functions are MP-safe; however,
HP-UX®
only provides stubs for some of the
SVR 4.2 MP
functions, such as:
-
qprocson(9)-
enables a STREAMS message queue for multi-processing
-
qprocsoff(9)-
disables STREAMS message queue processing for multi-processing
-
freezestr(9)-
freeze the state of a stream queue
-
unfreezestr(9)-
thaw the state of a stream queue
HP-UX®
expects that the apporpriate level of synchronization be used instead.
Because of this, it is recommended that
HP-UX®
drivers and modules that port directly to the
OpenSS7 STREAMS Compatibility
environment, not be run at synchronization level
SQLVL_NOSYNC (SQLVL_NOP).
See
str_install_HPUX(9).
NOTICES
_HPUX_SOURCE
must be defined before including DDI/DKI include files to expose
HP-UX®-specific
symbols.
To use
HP-UX®-specific
functions,
OpenSS7 STREAMS Compatibility
must also have been compiled with
CONFIG_STREAMS_COMPAT_HPUX
or
CONFIG_STREAMS_COMPAT_HPUX_MODULE
defined.
When compiled with
CONFIG_STREAMS_COMPAT_HPUX
defined,
HP-UX®
compatibility will become part of the
OpenSS7 STREAMS Compatibility
streams.o
kernel module.
When compiled with
CONFIG_STREAMS_COMPAT_HPUX_MODULE
defined,
HP-UX®
compatibility will be placed in a separate
streams-hpuxcompat.o
kernel module that will demand load when any
STREAMS
driver or module that uses the
HP-UX®-specific
functions loads.
IMPLEMENTATION
Core functions are implemented within the
OpenSS7 STREAMS Compatibility
framework.
HP-UX®-specific
functions are implemented as described in the separate manual pages describing each facility.
The following
HP-UX®-specific
function are unimplemented:
mpsleep(9),
streams_mpsleep(9).
SEE ALSO
Core functions:
adjmsg(9),
allocb(9),
backq(9),
bcanput(9),
bcanputnext(9),
bcopy(9),
bufcall(9),
bzero(9),
canput(9),
canputnext(9),
cmn_err(9),
copyb(9),
copymsg(9),
datamsg(9),
delay(9),
drv_getparm(9),
drv_priv(9),
dupb(9),
dupmsg(9),
enableok(9),
esballoc(9),
esbbcall(9),
flushband(9),
flushq(9),
freeb(9),
freemsg(9),
freezestr(9),
getadmin(9),
getmid(9),
getmajor(9),
getminor(9),
getq(9),
insq(9),
itimeout(9),
kmem_alloc(9),
kmem_free(9),
linkb(9),
LOCK(9),
LOCK_ALLOC(9),
LOCK_DEALLOC(9),
major(9),
makedev(9),
makedevice(9),
max(9),
min(9),
minor(9),
msgdsize(9),
msgppullup(9),
noenable(9),
OTHERQ(9),
pcmsg(9),
pullupmsg(9),
put(9),
putbq(9),
putctl(9),
putctl1(9),
putctl2(9),
putnext(9),
putnextctl(9),
putnextctl1(9),
putnextctl2(9),
putq(9),
qenable(9),
qprocsoff(9),
qprocon(9),
qreply(9),
qsize(9),
RD(9),
rmvb(9),
rmvq(9),
SAMESTR(9),
sleep(9),
spln(9),
splstr(9),
strlog(9),
strqget(9),
strqset(9),
SV_ALLOC(9),
SV_BROADCAST(9),
SV_DEALLOC(9),
SV_WAIT(9),
SV_WAIT_SIG(9),
testb(9),
timeout(9),
TRYLOCK(9),
unbufcall(9),
unfreezestr(9),
unlinkb(9),
UNLOCK(9),
untimeout(9),
unweldq(9),
vtop(9),
wakeup(9),
weldq(9),
WR(9).
Compatibility functions:
get_sleep_lock(9),
streams_get_sleep_lock(9),
streams_mpsleep(9),
streams_put(9),
str_install_HPUX(9).
General:
STREAMS(9).
BUGS
The
HP-UX®
compatibility suite has no known bugs.
COMPATIBILITY
These functions are compatible with
HP-UX®
with the following portability considerations:
- ---
- HP-UX®-specific
functions should not be used by portable
STREAMS
drivers and modules.
The more common
SVR 4.2 MP
functions should be used in their stead.
- ---
- HP-UX®-specific
functions are provided for source level compatibility with
HP-UX®
for the purpose of porting
HP-UX®
drivers to
Linux.
Because internal structures and definitions for
OpenSS7 STREAMS Compatibility[1]
differ from that of
HP-UX®,
binaries are incompatible.
- ---
- HP-UX®-specific
functions only provide functionality comparable to
HP-UX®
for use by
STREAMS
drivers and modules.
Any and all functionality provided by
HP-UX®-specific
functions in support of
non-STREAMS
devices are not supported.
See
STREAMS(9)
for additional compatibility considerations.
CONFORMANCE
HP-UX®
DDI documentation[2, 3].
HISTORY
Most of these functions
first appeared in
HP-UX®.
Functions with name starting with
mi_
are probably
Mentat, Inc.
functions that goes all the way back to the
pre-OSF/1
Mentat
implementation.
REFERENCES
- [1]
- strcompat-0.9.2,
STREAMS Compatibility Modules (strcompat) 0.9.2 Source Code, Brian Bidulock, ed., OpenSS7 Corporation.
<http://www.openss7.org/>
- [2]
- HP-UX® 11i v2,
HP-UX 11i v2 Documentation, 2001, (Palo Alto, California), Hewlett-Packard Company, HP.
<http://docs.hp.com/>
- [3]
- 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/>
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
-
OpenSS7 STREAMS Compatibility: Package strcompat version 0.9.2.7 released 2008-10-31.
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)
Index
- NAME
- SYNOPSIS
- OVERVIEW
- DESCRIPTION
- Kernel Functions
- SVR 4.2 MP Kernel Functions
- Core STREAMS Functions
- Specific STREAMS Functions
- USAGE
- CONTEXT
- MP-STREAMS
- NOTICES
- IMPLEMENTATION
- SEE ALSO
- BUGS
- COMPATIBILITY
- CONFORMANCE
- HISTORY
- REFERENCES
- TRADEMARKS
- IDENTIFICATION
This document was created by
man2html,
using the manual pages.
Time: 10:03:34 GMT, May 19, 2013