OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Mon, 28 Apr 2008 16:47:04 GMT
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manpage of OSFCOMPAT
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

Manpage of OSFCOMPAT

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


OSFCOMPAT

Section: The OpenSS7 Project DDI/DKI (9)
Updated: Thu, 14 Dec 2017 15:09:20 GMT
Index Return to Main Contents

NAME

osfcompat - OSF/1 STREAMS Compatibility

SYNOPSIS

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

OVERVIEW

The OpenSS7 Project provides a compatibility module, streams-osfcompat.o, that provides compatibility functions that smooth porting of drivers from the Mac OpenTransport 1.5r2 STREAMS environment to The OpenSS7 Project. The functions provided by this compatibility module are described here.

DESCRIPTION

Many of the functions that are provided by OSF/1® are also provided by the core streams.o kernel module of The OpenSS7 Project. Other OSF/1®-specific functions are provided by the streams-osfcompat.o compatibility kernel module.

Core Functions

Functions that are already available in Linux Fast STREAMS are as follows:

adjmsg(9)-
Removes the specified number of bytes from a message.
allocb(9)-
Allocates a message block.
backq(9)-
Gets a pointer to the previous queue.
bcanput(9)-
Tests for flow control in a specified priority band.
bcmp(9)-
Compares two byte strings.
bcopy(9)-
Copies a series of bytes with a specified limit.
bzero(9)-
Zeros a block of memory.
bufcall(9)-
Gets a buffer when allocb fails.
canput(9)-
Tests for room in a message queue.
copyb(9)-
Copies a message block.
copyin(9)-
Copies data from a user address space to a kernel address space.
copyout(9)-
Copies data from a kernel address space to a user address space.
copymsg(9)-
Copies a message to a new message.
datamsg(9)-
Tests whether a message is a data message.
dupb(9)-
Duplicates a message block descriptor.
dupmsg(9)-
Duplicates a message.
enableok(9)-
Enables a queue for service.
esballoc(9)-
Allocates a message block with a shared buffer.
flushband(9)-
Flushes messages for a specified priority band.
flushq(9)-
Removes a message from a queue.
freeb(9)-
Frees a message block.
freemsg(9)-
Frees all message blocks in a message.
getq(9)-
Gets a message from the front of the queue.
insq(9)-
Inserts a STREAMS message into a queue.
linkb(9)-
Concatenates two message blocks.
major(9)-
Returns the device major number.
makedev(9)-
Returns a dev_t.
minor(9)-
Returns the device minor number.
msgdsize(9)-
Returns the number of bytes in a message.
noenable(9)-
Prevents a queue from being scheduled.
OTHERQ(9)-
Gets a pointer to a module's other queue.
pullupmsg(9)-
Concatenates bytes in a message.
putbq(9)-
Places a message at the head of a queue.
putctl(9)-
Puts a control message on a queue.
putctl1(9)-
Puts a control message on a queue.
putnext(9)-
Sends a message to the next module in the stream.
putq(9)-
Puts a message on a queue.
qenable(9)-
Enables a queue.
qreply(9)-
Sends a message in the reverse direction.
qsize(9)-
Finds the number of messages on a queue.
RD(9)-
Gets a pointer to a module's read queue.
rmalloc(9)-
Allocates size units from the given resource map.
rmfree(9)-
Frees space previously allocated into the specified resource map.
rmget(9)-
Allocates size units from the given resource map.
rminit(9)-
Initializes a resource map.
rmvb(9)-
Removes a message block from a message block.
rmvq(9)-
Removes a message block from a queue.
sleep(9)-
Puts a calling process to sleep.
spl(9)-
Sets the processor priority to mask different levels of interrupts.
strlog(9)-
Submits messages for logging.
strqget(9)-
Gets information about a queue.
strqset(9)-
Changes information about a queue.
testb(9)-
Checks for an available buffer.
timeout(9)-
Initializes a callout queue element.
uiomove(9)-
Moves data between user and system virtual space.
unbufcall(9)-
Cancels a pending bufcall request.
unlinkb(9)-
Removes a message block from the head of a message.
untimeout(9)-
Removes the scheduled interface from the callout queues.
vtop(9)-
Converts any virtual address to a physical address.
wakeup(9)-
Wakes up all processes sleeping on a specified address.
WR(9)-
Gets a pointer to this module's write queue.

Specific Functions

Functions that are available in the The OpenSS7 Project OSF/1® compatibility module, streams-osfcompat.o, are as follows:

DELAY(9)-
Delays the calling interface a specified number of microseconds.
lbolt(9)-
Return current value of tick clock.
MALLOC(9)-
Allocates a variable-size section of kernel virtual memory.
printf(9)-
Prints text to the console and the error logger.
puthere(9)-
Equivalent of put(9).
streams_close_comm(9)-
Equivalent of mi_close_comm(9).
streams_open_comm(9)-
Equivalent of mi_open_comm(9).
streams_open_ocomm(9)-
Equivalent of mi_open_comm(9).
time(9)-
Return the time of day.
uprintf(9)-
A nonsleeping kernel printf function.

STREAMS Configuration and Registration Functions

Module and driver configuration functions that are available in the The OpenSS7 Project OSF/1® compatibility module, streams-osfcompat, are as follows:

strmod_add(9)-
Install a STREAMS module or driver.
strmod_del(9)-
Uninstall a STREAMS module or driver.

USAGE

For usage an example of 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, OSF/1® does not provide many of the SVR 4.2 MP functions, such as:

bcanputnext(9)-
test flow control on a STREAMS message queue
canputnext(9)-
test flow control on a STREAMS message queue
esbbcall(9)-
install a buffer callback for an extended STREAMS message block
freezestr(9)-
freeze the state of a stream queue
msgpullup(9)-
pull up bytes in a STREAMS message
put(9)-
invoke the put procedure for a STREAMS module or driver with a STREAMS message
putnextctl1(9)-
put a 1 byte control message on the downstream STREAMS message queue
putnextctl(9)-
put a control message on the downstream STREAMS message queue
qprocsoff(9)-
disables STREAMS message queue processing for multi-processing
qprocson(9)-
enables a STREAMS message queue for multi-processing
SAMESTR(9)-
test for STREAMS pipe or fifo
unfreezestr(9)-
thaw the state of a stream queue

Lack of these functions can make Multiprocessor (MP) support problematic. Ported OSF/1® STREAMS modules and drivers should always be loaded under The OpenSS7 Project with multiprocessing disabled for safety.

NOTICES

These are OSF/1®-specific functions: _OSF_SOURCE must be defined before including DDI/DKI include files to expose these symbols. The OpenSS7 Project must also have been compiled with CONFIG_STREAMS_COMPAT_OSF or CONFIG_STREAMS_COMPAT_OSF_MODULE defined. When compiled with CONFIG_STREAMS_COMPAT_OSF defined, OSF/1® compatibility will become part of the The OpenSS7 Project streams kernel module. When compiled with CONFIG_STREAMS_COMPAT_OSF_MODULE defined, OSF/1® compatibility will be placed in a separate streams-aixcompat kernel module that will demand load when any STREAMS driver or module that uses the OSF/1®-specific functions loads.

IMPLEMENTATION

Core functions are implemented within the The OpenSS7 Project framework. OSF/1®-specific functions are implemented as described in the separate manual pages describing each facility.

SEE ALSO

Core functions: adjmsg(9), allocb(9), backq(9), bcanput(9), bcmp(9), bcopy(9), bzero(9), bufcall(9), canput(9), copyb(9), copyin(9), copyout(9), copymsg(9), datamsg(9), dupb(9), dupmsg(9), enableok(9), esballoc(9), flushband(9), flushq(9), freeb(9), freemsg(9), getq(9), insq(9), linkb(9), major(9), makedev(9), minor(9), msgdsize(9), noenable(9), OTHERQ(9), pullupmsg(9), putbq(9), putctl(9), putctl1(9), putnext(9), putq(9), qenable(9), qreply(9), qsize(9), RD(9), rmalloc(9), rmfree(9), rmget(9), rminit(9), rmvb(9), rmvq(9), sleep(9), spl(9), strlog(9), strqget(9), strqset(9), testb(9), timeout(9), uiomove(9), unbufcall(9), unlinkb(9), untimeout(9), vtop(9), wakeup(9), WR(9).

Compatibility functions: DELAY(9), lbolt(9), MALLOC(9), printf(9), puthere(9), streams_close_comm(9), streams_open_comm(9), streams_open_ocomm(9), time(9), uprintf(9).

Configuration and Registration functions: strmod_add(9), strmod_del(9).

General: STREAMS(9).

BUGS

The OSF/1® compatibility suite has no known bugs.

COMPATIBILITY

These functions are compatible with OSF/1® with the following portability considerations:

---
These are OSF/1®-specific functions and should not be used by portable STREAMS drivers and modules. The more common SVR 4.2 MP functions should be used in their stead.
---
These functions are provided for source level compatibility with OSF/1® for the purpose of porting OSF/1® drivers to Linux. Because internal structures and definitions for The OpenSS7 Project[1] differ from that of OSF/1®, binaries are incompatible.
---
These functions only provide functionality comparable to OSF/1® for use by STREAMS drivers and modules. Any and all functionality provided by these functions in support of non-STREAMS devices are not supported.

See STREAMS(9) for additional compatibility considerations.

CONFORMANCE

OSF/1® DDI documentation[2, 3].

HISTORY

Most of these functions first appeared in OSF/1®. Functions with name starting with mi_ are probably Mentat, Inc. functions that goe all the way back to the pre-OSF/1 Mentat implementations.

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]
Digital® UNIX (OSF/1.2), Digital UNIX Documentation Library, 2003, (Palo Alto, California), Digital Equipment Corporation, Hewlett-Packard Company. <http://www.true64unix.compaq.com/docs/>
[3]
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/>

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, 14 Dec 2017 15:09:20 GMT.

Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)



Index

NAME
SYNOPSIS
OVERVIEW
DESCRIPTION
Core Functions
Specific Functions
STREAMS Configuration and Registration 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: 15:09:20 GMT, December 14, 2017
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manpage of OSFCOMPAT
Last modified: Mon, 28 Apr 2008 16:47:04 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.