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 -> 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


OS7COMPAT

Section: The OpenSS7 Project DDI/DKI (9)
Updated: Sun, 25 Jun 2017 12:12:49 GMT
Index Return to Main Contents

NAME

os7compat - OpenSS7 STREAMS Compatibility

SYNOPSIS

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

OVERVIEW

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

DESCRIPTION

None of the functions that are provided by OpenSS7 are also provided by the core streams.o kernel module of The OpenSS7 Project. Other OpenSS7 functions are provided by the streams-os7compat.o compatibility kernel module.

Specific Functions

Functions that are available in the The OpenSS7 Project OpenSS7 compatibility module, streams-os7compat.o, are as follows:

bufq_append(9)-
append a buffer to a buffer queue.
bufq_dequeue(9)-
dequeue a buffer from the head a buffer queue.
bufq_dequeue_tail(9)-
dequeue a buffer from the tail of a buffer queue.
bufq_freehead(9)-
free the buffer at the head of a buffer queue.
bufq_head(9)-
return the buffer at the head of a queue.
bufq_init(9)-
initialize a buffer queue reference structure.
bufq_insert(9)-
insert a buffer into a buffer queue.
bufq_length(9)-
determine the length of a buffer queue.
bufq_lock(9)-
lock a buffer queue.
bufq_purge(9)-
purge the buffers from a buffer queue.
bufq_queue(9)-
queue a buffer to the tail of a buffer queue.
bufq_queue_head(9)-
queue a buffer to the head of a buffer queue.
bufq_resupply(9)-
resupply buffers to a buffer pool.
bufq_size(9)-
determine the size of a buffer queue.
bufq_splice_head(9)-
splice a buffer queue onto the head of another.
bufq_splice_tail(9)-
splice a buffer queue onto the tail of another.
bufq_supply(9)-
supply buffers to a buffer pool.
bufq_tail(9)-
return the buffer at the tail of a queue.
bufq_unlink(9)-
remove a specific buffer from a queue.
bufq_unlock(9)-
unlock a buffer queue.
freechunks(9)-
free message chunks chained together
ss7_allocb(9)-
allocate a buffer with bufcall fallback.
ss7_bufcall(9)-
allocate a buffer callback.
ss7_bufpool_init(9)-
initialize a buffer pool.
ss7_bufpool_release(9)-
release buffers from a buffer pool.
ss7_bufpool_reserve(9)-
reserve messages in a buffer pool.
ss7_bufpool_term(9)-
terminate a buffer pool.
ss7_bufsrv(9)-
service a buffer pool.
ss7_copyb(9)-
copy a block with bufcall fallback.
ss7_copymsg(9)-
copy a message with bufcall fallback.
ss7_do_timeout(9)-
process a timeout.
ss7_dupb(9)-
duplicate a block with bufcall fallback.
ss7_dupmsg(9)-
duplicate a message with bufcall fallback.
ss7_esballoc(9)-
extended allocate a message block with bufcall fallback.
ss7_esbbcall(9)-
extended message block buffer callback.
ss7_fast_allocb(9)-
allocate a message block from a fast buffer pool.
ss7_fast_allocb_bh(9)-
allocate a message block from a fast buffer poll atomic.
ss7_fast_freeb(9)-
free a message block to a fast buffer pool.
ss7_fast_freeb_bh(9)-
free a message block to a fast buffer poll atomic.
ss7_fast_freemsg(9)-
free a message to a fast buffer pool.
ss7_fast_freemsg_bh(9)-
free a message to a fast buffer pool atomic.
ss7_iput(9)-
process input queue put procedure.
ss7_isrv(9)-
process input queue service procedure.
ss7_oput(9)-
process output queue put procedure.
ss7_osrv(9)-
process output queue service procedure.
ss7_pullupmsg(9)-
pullup a message with bufcall fallback.
ss7_putq(9)-
process put procedures for a queue.
ss7_r_flush(9)-
process M_FLUSH(9) on the read side.
ss7_srvq(9)-
process service procedures for a queue.
ss7_start_timer(9)-
start a timer safely.
ss7_stop_timer(9)-
stop a timer safely.
ss7_trylockq(9)-
try to lock a queue.
ss7_unbufcall(9)-
cancel a buffer callback.
ss7_unlockq(9)-
unlock a queue.
ss7_w_flush(9)-
process M_FLUSH(9) on the write side.

USAGE

The OpenSS7 compatibility functions provide convenience functions used by the OpenSS7 SS7 Stack and eventually placed in this OpenSS7 STREAMS compatibility module. These functions fall into two major groups:

1.
Buffer queue functions for taking msgb (9) structure message blocks and message block chains on and off private buffer queues.
2.
Queue functions for processing of put, service, timeout and buffer callbacks in a multi-processing environment. These functions replace large sections of common code across mutliple modules and drivers.

These functions are originally intended to be used internal to the OpenSS7 SS7 Stack. They may, however, be useful to others implementing modules and drivers.

RETURN

Most of these functions return zero (0) on success, or a positive number, and a negative error number on failure. See the individual function manual page for details.

ERRORS

Functions that return negative error numbers return error numbers defined under errno(3), but negated. See the individual function manual page for details.

CONTEXT

All of these functions are safe to use in any context.

MP-STREAMS

When used properly, all of these functions are MP-safe, regardless of calling context.

NOTICES

These are OpenSS7-specific functions: _OS7_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_OS7 or CONFIG_STREAMS_COMPAT_OS7_MODULE defined.

SEE ALSO

Compatibility functions: bufq_append(9), bufq_dequeue(9), bufq_dequeue_tail(9), bufq_freehead(9), bufq_head(9), bufq_init(9), bufq_insert(9), bufq_length(9), bufq_lock(9), bufq_purge(9), bufq_queue(9), bufq_queue_head(9), bufq_resupply(9), bufq_size(9), bufq_splice_head(9), bufq_splice_tail(9), bufq_supply(9), bufq_tail(9), bufq_unlink(9), bufq_unlock(9), freechunks(9), ss7_allocb(9), ss7_bufcall(9), ss7_bufpool_init(9), ss7_bufpool_release(9), ss7_bufpool_reserve(9), ss7_bufpool_term(9), ss7_bufsrv(9), ss7_copyb(9), ss7_copymsg(9), ss7_do_timeout(9), ss7_dupb(9), ss7_dupmsg(9), ss7_esballoc(9), ss7_esbbcall(9), ss7_fast_allocb(9), ss7_fast_allocb_bh(9), ss7_fast_freeb(9), ss7_fast_freeb_bh(9), ss7_fast_freemsg(9), ss7_fast_freemsg_bh(9), ss7_iput(9), ss7_isrv(9), ss7_oput(9), ss7_osrv(9), ss7_pullupmsg(9), ss7_putq(9), ss7_r_flush(9), ss7_srvq(9), ss7_start_timer(9), ss7_stop_timer(9), ss7_trylockq(9), ss7_unbufcall(9), ss7_unlockq(9), ss7_w_flush(9).

General: STREAMS(9).

BUGS

These functions have no known bugs. Behaviour is not explicitly validated. Behaviour is implicitly validated when modules and drivers using these functions are validated.

COMPATIBILITY

These functions are compatible with OpenSS7 with the following portability considerations:

---
These are OpenSS7-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 OpenSS7 for the purpose of porting OpenSS7 drivers to Linux.
---
These functions only provide functionality comparable to OpenSS7 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

OpenSS7 DDI documentation. Conformance is not explicitly verified. Conformance is verified implicitly when modules and drivers using these functions are verified.

HISTORY

Most of these functions first appeared in OpenSS7.

IDENTIFICATION

The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Sun, 25 Jun 2017 12:12:49 GMT.

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



Index

NAME
SYNOPSIS
OVERVIEW
DESCRIPTION
Specific Functions
USAGE
RETURN
ERRORS
CONTEXT
MP-STREAMS
NOTICES
SEE ALSO
BUGS
COMPATIBILITY
CONFORMANCE
HISTORY
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 12:12:49 GMT, June 25, 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:04 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.