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

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


MACCOMPAT

Section: The OpenSS7 Project DDI/DKI (9)
Updated: Tue, 22 Aug 2017 20:30:50 GMT
Index Return to Main Contents

NAME

maccompat - MacOT 1.5r2 STREAMS Compatibility

SYNOPSIS

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

OVERVIEW

The OpenSS7 Project provides a compatibility module, streams-maccompat.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 MacOT are also provided by the core streams.o kernel module of The OpenSS7 Project. Other MacOT®-specific functions are provided by the streams-maccompat.o compatibility kernel module.

Core Functions

Functions that are already available in The OpenSS7 Project 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
allocq(9)-
allocate a STREAMS queue pair
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
cmn_err(9)-
print a kernel command error
copyb(9)-
copy a STREAMS message block
copymsg(9)-
copy a STREAMS message
drv_priv(9)-
check if the current process is priviledged
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
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
freeq(9)-
deallocate a STREAMS queue pair
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
msgpullup(9)-
pull up bytes in a STREAMS message
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
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
putctl(9)-
put a control message on a STREAMS message queue
putnext(9)-
put a message on the downstream STREAMS message queue
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
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
qprocson(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
rmvb(9)-
remove a message block from a STREAMS message
rmvq(9)-
remove a message from a STREAMS message queue
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
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

MPS® Functions

MacOT® exposes a number of symbols from the underlying Mentat MPS® implementation that are also documented in the MacOT® documentation. STREAMS functions that are available to MacOT® in the The OpenSS7 Project MPS® compatibility module, streams-mpscompat, are as follows:

mi_allocq(9)-
allocate a STREAMS queue pair
mi_bcmp(9)-
compare byte strings
mi_bufcall(9)-
reliable alternative to bufcall(9)
mi_close_comm(9)-STREAMS common minor device close utility
mi_close_detached(9)-
release instance data from the STREAMS queue and perform close cleanup
mi_copy_done(9)-ioctl(2) complete
mi_copyin(9)-
copy data from a user buffer
mi_copyout(9)-
copy data from a user buffer
mi_copyout_alloc(9)-
allocate a buffer to be copied out using mi_copyout(9)
mi_copy_set_rval(9)-
set return value for input-output control
mi_copy_state(9)-
current state of the input-output control process
mi_detach(9)-
disassociate instance data from the STREAMS queue
mi_freeq(9)-
deallocate a STREAMS queue pair
mi_next_ptr(9)-STREAMS minor device list traversal
mi_offset_param(9)-
mi_offset_paramc(9)-
mi_open_comm(9)-STREAMS common minor device open utility
mi_open_detached(9)-STREAMS create detached instance data
mi_prev_ptr(9)-STREAMS minor device list traversal
mi_reallocb(9)-
reallocate a STREAMS message block
mi_reuse_proto(9)-
reuse a STREAMS protocol message block
mi_set_sth_hiwat(9)-
set the Stream head high water mark
mi_set_sth_lowat(9)-
set the Stream head low water mark
mi_set_sth_maxblk(9)-
set the Stream head maximum block size
mi_set_sth_wroff(9)-
set the Stream head write offset
mi_sprintf(9)-
print a formatted message to a buffer
mi_timer(9)-
start a STREAMS timer message
mi_timer_alloc(9)-
allocate a STREAMS timer message
mi_timer_cancel(9)-
cancel a STREAMS timer message
mi_timer_free(9)-
free a STREAMS timer message
mi_timer_q_switch(9)-
switch queues for a STREAMS timer message
mi_timer_valid(9)-
validate and dispose of a STREAMS timer message

Specific Functions

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

allocbi(9)-
specialised allocb(9)
esballoca(9)-
specialised esballoc(9)
mpnotify(9)-
assign notification callback to a STREAMS message
puthere(9)-
invoke the put procedure for a STREAMS driver or module with a STREAMS message
mps_become_writer(9)-
invoke a put procedure like call-out with exclusive access to a Stream
mps_intr_disable(9)-
disable interrupts
mps_intr_enable(9)-
enable interrupts

MPS® Transport Functions

MacOT® exposes a number of symbols from the underlying Mentat MPS® TCP/IP implementation that are also documented in the MacOT® documentation. These transport functions are not part of the The OpenSS7 Project package:

mi_tpi_ack_alloc(9)-
allocate a T_OK_ACK(7) or T_ERROR_ACK(7)
mi_tpi_conn_con(9)-
generate a T_CONN_CON(7)
mi_tpi_conn_ind(9)-
generate a T_CONN_IND(7)
mi_tpi_conn_req(9)-
generate a T_CONN_REQ(7)
mi_tpi_data_ind(9)-
generate a T_DATA_IND(7)
mi_tpi_data_req(9)-
generate a T_DATA_REQ(7)
mi_tpi_discon_ind(9)-
generate a T_DISCON_IND(7)
mi_tpi_discon_req(9)-
generate a T_DISCON_REQ(7)
mi_tpi_err_ack_alloc(9)-
allocate a T_ERROR_ACK(7)
mi_tpi_exdata_ind(9)-
generate a T_EXDATA_IND(7)
mi_tpi_exdata_req(9)-
generate a T_EXDATA_REQ(7)
mi_tpi_info_req(9)-
generate a T_INFO_REQ(7)
mi_tpi_ok_ack_alloc(9)-
allocate a T_OK_ACK(7)
mi_tpi_ordrel_ind(9)-
generate a T_ORDREL_IND(7)
mi_tpi_ordrel_req(9)-
generate a T_ORDREL_REQ(7)
mi_tpi_uderror_ind(9)-
generate a T_UDERROR_IND(7)
mi_tpi_unitdata_ind(9)-
generate a T_UNITDATA_IND(7)
mi_tpi_unitdata_req(9)-
generate a T_UNITDATA_REQ(7)

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, see the manual page for the individual function for detailed information.

NOTICES

_MAC_SOURCE must be defined before including DDI/DKI include files to expose MacOT®-specific symbols. To use MacOT®-specific functions, The OpenSS7 Project must also have been compiled with CONFIG_STREAMS_COMPAT_MAC or CONFIG_STREAMS_COMPAT_MAC_MODULE defined. When compiled with CONFIG_STREAMS_COMPAT_MAC defined, MacOT® compatibility will become part of the The OpenSS7 Project streams.o kernel module. When compiled with CONFIG_STREAMS_COMPAT_MAC_MODULE defined, MacOT® compatibility will be placed in a separate streams-maccompat.o kernel module that will demand load when any STREAMS driver or module that uses the MacOT®-specific functions loads.

IMPLEMENTATION

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

All MacOT®-specific functions are implemented with the exception of allocbi(9) and esballoca(9).

SEE ALSO

Core functions: adjmsg(9), allocb(9), allocq(9), backq(9), bcanput(9), bcanputnext(9), bufcall(9), canput(9), canputnext(9), cmn_err(9), copyb(9), copymsg(9), drv_priv(9), dupb(9), dupmsg(9), esballoc(9), esbbcall(9), flushband(9), flushq(9), freeb(9), freemsg(9), freeq(9), freezestr(9), getadmin(9), getmid(9), getq(9), insq(9), linkb(9), msgdsize(9), msgpullup(9), pullupmsg(9), put(9), putbq(9), putctl1(9), putctl2(9), putctl(9), putnext(9), putnextctl1(9), putnextctl(9), putq(9), qenable(9), qprocsoff(9), qprocson(9), qreply(9), qsize(9), rmvb(9), rmvq(9), strlog(9), strqget(9), strqset(9), testb(9), unbufcall(9), unfreezestr(9), unlinkb(9).

Compatibility functions: allocbi(9), esballoca(9), mpnotify(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).

Transport functions: mi_tpi_ack_alloc(9), mi_tpi_conn_con(9), mi_tpi_conn_ind(9), mi_tpi_conn_req(9), mi_tpi_data_ind(9), mi_tpi_data_req(9), mi_tpi_discon_ind(9), mi_tpi_discon_req(9), mi_tpi_err_ack_alloc(9), mi_tpi_exdata_ind(9), mi_tpi_exdata_req(9), mi_tpi_info_req(9), mi_tpi_ok_ack_alloc(9), mi_tpi_ordrel_ind(9), mi_tpi_ordrel_req(9), mi_tpi_uderror_ind(9), mi_tpi_unitdata_ind(9), mi_tpi_unitdata_req(9), mps_become_writer(9), mps_intr_disable(9), mps_intr_enable(9).

General: STREAMS(9).

BUGS

The MacOT® compatibility suite has no known bugs.

COMPATIBILITY

These functions are compatible with MacOT® with the following portability considerations:

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

See STREAMS(9) for additional compatibility considerations.

CONFORMANCE

MacOT® DDI documentation[2, 3].

HISTORY

Most of these functions first appeared in MacOT®; except functions with a name starting with mi_. Those starting with mi_ are MPS® functions dating back to pre-OSF/1 STREAMS 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]
Mac OS 9, Open Transport Reference, 2003, (Cupertino, California), Apple Computer, Inc., Apple. <http://developer.apple.com/macros/opentransport/>
[3]
Revision 1.5d2, Open Transport Module Developer Note, June 18, 1996, (Cupertino, California), Apple Computer, Inc., Apple. <http://developer.apple.com/macos/opentransport/>

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 Tue, 22 Aug 2017 20:30:50 GMT.

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



Index

NAME
SYNOPSIS
OVERVIEW
DESCRIPTION
Core Functions
MPS® Functions
Specific Functions
MPS® Transport 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: 20:30:50 GMT, August 22, 2017
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manpage of MACCOMPAT
Last modified: Mon, 28 Apr 2008 16:47:03 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.