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
MPSCOMPAT
Section: OpenSS7 STREAMS Compatibility DDI/DKI (9)
Updated: 2008-10-31
Index
Return to Main Contents
NAME
mpscompat
- MPS
STREAMS Compatibility
SYNOPSIS
#define _MPS_SOURCE
#include <sys/ddi.h>
OVERVIEW
OpenSS7 STREAMS Compatibility
provides a compatibility module,
streams-mpscompat.o,
that provides compatibility functions that smooth porting of drivers from the
Mentat Portable STREAMS
environment to
OpenSS7 STREAMS Compatibility.
Version of the
Mentat Portable STREAMS
environment, or at least
the MPS API for use by Mentat TCP/IP implementation,
appears in
AIX®[1],
MacOT®[2],
Solaris®[3],
VxWorks®[4],
and other
STREAMS
implementations containing
Mentat
TCP/IP implementation, either historically or currently.
Versions of these functions can also likely be found in
OSF/1®[5],
and
HP-UX®[6].
Any
STREAMS
implementation still using
Lachman
TCP/IP implementation will likely not have these functions.
DESCRIPTION
Many of the functions that are provided by
MPS®
are also provided by the core
streams.o and streams-svr4compat.o
kernel modules of
OpenSS7 STREAMS Compatibility.
Other
MPS®-specific
functions are provided by the
streams-mpscompat.o
compatibility kernel module.
Core Functions
Functions that are already available in
OpenSS7 STREAMS Compatibility
are as follows:
Specific Functions
Functions that are available in the
OpenSS7 STREAMS Compatibility
MPS®
compatibility module,
streams-mpscompat.o,
are as follows:
-
mi_alloc(9)-
allocate and free kernel memory without later regard to size
-
mi_allocq(9)-allocq(9)
replacement
-
mi_alloc_sleep(9)-kmem_alloc(9)
replacement
-
mi_attach(9)-
associate instance data with a STREAMS queue
-
mi_bcmp(9)-
compate two binary memory extents
-
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_close_free(9)-
free a STREAMS driver or module instance on close
-
mi_close_unlink(9)-
unlink a STREAMS driver or module instance from a Stream
-
mi_copy_done(9)-ioctl(2) complete
-
mi_copyin(9)-
copy data from a user buffer
-
mi_copyin_n(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_first_dev_ptr(9)-
obtain first device instance pointer
-
mi_first_ptr(9)-
obtain first instance pointer
-
mi_free(9)-kmem_free(9)
replacement
-
mi_freeq(9)-freeq(9)
replacement
-
mi_mpprintf(9)-
print a formatted string to a message buffer
-
mi_mpprintf_nr(9)-
continue to print a formatted string to a message buffer
-
mi_next_dev_ptr(9)-
obtain next device instance pointer
-
mi_next_ptr(9)-STREAMS minor device list traversal
-
mi_offset_param(9)-
obtain parameter location within STREAMS message block
-
mi_offset_paramc(9)-
obtain parameter location within STREAMS message block chain
-
mi_open_alloc(9)-
allocate a STREAMS driver or module instance
-
mi_open_alloc_sleep(9)-
allocate a STREAMS driver or module instance (may sleep)
-
mi_open_comm(9)-STREAMS common minor device open utility
-
mi_open_detached(9)-STREAMS create detached instance data
-
mi_open_link(9)-
link a STREAMS driver or modules instance on open
-
mi_prev_ptr(9)-STREAMS minor device list traversal
-
mi_timer_q_switch(9)-
switch STREAMS queues for a timer message
-
mi_reallocb(9)-
reallocate a STREAMS message block
-
mi_reuse_proto(9)-
reuse a STREAMS protocol message block
-
mi_set_sth_copyopt(9)-
set the STREAMS stream head copy options
-
mi_set_sth_hiwat(9)-
set the STREAMS stream head high water mark
-
mi_set_sth_lowat(9)-
set the STREAMS stream head low water mark
-
mi_set_sth_maxblk(9)-
set the STREAMS stream head maximum block size
-
mi_set_sth_wroff(9)-
set the STREAMS stream head write offset
-
mi_sprintf(9)-sprintf(3)
replacement.
-
mi_sprintf_putc(9)-
put a character in an sprintf buffer
-
mi_strcmp(9)-strcmp(3)
replacement
-
mi_strlen(9)-strlen(3)
replacement
-
mi_strlog(9)-strlog(9)
replacement
-
mi_strtol(9)-strtol(3)
replacement
-
mi_timer(9)-
process a STREAMS timer
-
mi_timer_alloc(9)-
allocate a STREAMS timer
-
mi_timer_cancel(9)-
cancel a STREAMS timer
-
mi_timer_free(9)-
free a STREAMS timer
-
mi_timer_move(9)-
move a STREAMS timer
-
mi_timer_q_switch(9)-
switch queues for STREAMS timer
-
mi_timer_stop(9)-
stop a STREAMS timer
-
mi_timer_valid(9)-
check a STREAMS timer
-
mi_zalloc(9)-kmem_zalloc(9)
replacement
-
mi_zalloc_sleep(9)-kmem_zalloc(9)
replacement
MPS® Transport Functions
MPS®
exposes a number of symbols from the underlying Mentat
MPS®
TCP/IP implementation that are also documented in the
MPS®
documentation.
These transport functions are
not
part of the
OpenSS7 STREAMS Compatibility
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 separate manual pages for each specific function.
NOTICES
These are
MPS®-specific
functions:
_MPS_SOURCE
must be defined before including DDI/DKI include files to expose these symbols.
OpenSS7 STREAMS Compatibility
must also have been compiled with
CONFIG_STREAMS_COMPAT_MPS
or
CONFIG_STREAMS_COMPAT_MPS_MODULE
defined.
When compiled with
CONFIG_STREAMS_COMPAT_MPS
defined,
MPS®
compatibility will become part of the
OpenSS7 STREAMS Compatibility
streams
kernel module.
When compiled with
CONFIG_STREAMS_COMPAT_MPS_MODULE
defined,
MPS®
compatibility will be placed in a separate
streams-mpscompat
kernel module that will demand load when any
STREAMS
driver or module that uses the
MPS®-specific
functions loads.
IMPLEMENTATION
Core functions are implemented within the
OpenSS7 STREAMS Compatibility
framework.
MPS®-specific
functions are implemented as described in the separate manual pages describing each facility.
All
MPS®-specific
functions are implemented with the exception of the
MPS®
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).
SEE ALSO
Core functions:
Compatibility functions:
mi_alloc(9),
mi_allocq(9),
mi_alloc_sleep(9),
mi_attach(9),
mi_bcmp(9),
mi_bufcall(9),
mi_close_comm(9),
mi_close_detached(9),
mi_close_free(9),
mi_close_unlink(9),
mi_copy_done(9),
mi_copyin(9),
mi_copyin_n(9),
mi_copyout(9),
mi_copyout_alloc(9),
mi_copy_set_rval(9),
mi_copy_state(9),
mi_detach(9),
mi_first_dev_ptr(9),
mi_first_ptr(9),
mi_free(9),
mi_freeq(9),
mi_mpprintf(9),
mi_mpprintf_nr(9),
mi_next_dev_ptr(9),
mi_next_ptr(9),
mi_offset_param(9),
mi_offset_paramc(9),
mi_open_alloc(9),
mi_open_alloc_sleep(9),
mi_open_comm(9),
mi_open_detached(9),
mi_open_link(9),
mi_prev_ptr(9),
mi_timer_q_switch(9),
mi_reallocb(9),
mi_reuse_proto(9),
mi_set_sth_copyopt(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_sprintf_putc(9),
mi_strcmp(9),
mi_strlen(9),
mi_strlog(9),
mi_strtol(9),
mi_timer(9),
mi_timer_alloc(9),
mi_timer_cancel(9),
mi_timer_free(9),
mi_timer_move(9),
mi_timer_stop(9),
mi_timer_valid(9),
mi_zalloc(9),
mi_zalloc_sleep(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).
General:
STREAMS(9).
BUGS
The
MPS®
compatibility suite has no known bugs.
COMPATIBILITY
These functions are compatible with
MPS®
with the following portability considerations:
- ---
- These are
MPS®-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
MPS®
for the purpose of porting
MPS®
drivers to
Linux.
Because internal structures and definitions for
OpenSS7 STREAMS Compatibility[7]
differ from that of
MPS®,
binaries are incompatible.
- ---
- These functions
only provide functionality comparable to
MPS®
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
MPS®
DDI documentation[8, 9].
HISTORY
Most of these functions
first appeared in
MPS®.
Functions with name starting with
mi_
are Mentat, Inc. functions that goe all the way back to the
pre-OSF/1
Mentat
implementations.
REFERENCES
- [1]
- AIX® 5L Version 5.1,
AIX STREAMS Programmers Guide, 2001, (Boulder, Colorado), Internatonal Business Machines Corp., IBM.
<http://publibn.boulder.ibm.com/>
- [2]
- Revision 1.5d2,
Open Transport Module Developer Note, June 18, 1996, (Cupertino, California), Apple Computer, Inc., Apple.
<http://developer.apple.com/macos/opentransport/>
- [3]
- Solaris® 8,
STREAMS Programming Guide, August 1999, (Palo Alto, California), Sun Microsystems, Inc., Sun.
[Part No: 805-7478-05]
<http://docs-pdf.sun.com/>
- [4]
- VxWorks® 5.4 Tornadotm II,
WindNet STREAMS for Tornado, Component Release Supplement, 1998, (Almeda, California), Wind River Systems, Inc., Wind River.
<http://www.windriver.com/>
- [5]
- 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/>
- [6]
- 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/>
- [7]
- strcompat-0.9.2,
STREAMS Compatibility Modules (strcompat) 0.9.2 Source Code, Brian Bidulock, ed., OpenSS7 Corporation.
<http://www.openss7.org/>
- [8]
- SVR 4 DDI/DKI,
UNIX® System V Release 4 Device Driver Interface/Driver-Kernel Interface (DDI/DKI) Reference Manual, 1990, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
- [9]
- SVR 4,
UNIX® System V Release 4 STREAMS Programmer's Guide, 1990, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
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
- Core 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: 15:31:17 GMT, May 18, 2013