OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Mon, 28 Apr 2008 16:47:02 GMT
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Quick Links

Download

SCTP

SIGTRAN

SS7

Hardware

STREAMS

Asterisk

Related

Package

Manual

FAQ

Man Pages

Applications

SS7 Stack

ISDN Stack

SIGTRAN Stack

VoIP Stack

MG Stack

SS7/ISDN Devices

IP Transport

Embedded Systems

OS

Documentation

FAQ

SIGTRAN

Design

Conformance

Performance

References

Man Pages

Manuals

Papers

Home

Overview

Status

Documentation

Resources

About

News

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: The OpenSS7 Project DDI/DKI (9)
Updated: Wed, 18 Oct 2017 00:38:15 GMT
Index Return to Main Contents

NAME

hpuxcompat - HP-UX STREAMS Compatibility

SYNOPSIS

#define _HPUX_SOURCE
#include <sys/ddi.h>

OVERVIEW

The OpenSS7 Project 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 The OpenSS7 Project. 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 The OpenSS7 Project. 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 The OpenSS7 Project (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 The OpenSS7 Project (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 The OpenSS7 Project 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 The OpenSS7 Project 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 The OpenSS7 Project 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, The OpenSS7 Project 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 The OpenSS7 Project 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 The OpenSS7 Project 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 The OpenSS7 Project[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]
TCI, Transaction Component Interface (TCI) Specification, Revision 0.9.2, Draft 2, July 15, 2007, (Edmonton, Alberta), TheOpenSS7Project, OpenSS7Corporation. Distributed with package strss7-0.9.2. <http://www.openss7.org/docs/tci.pdf>
[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

The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Wed, 18 Oct 2017 00:38:15 GMT.

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: 00:38:15 GMT, October 18, 2017
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Last modified: Mon, 28 Apr 2008 16:47:02 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.