OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Sat, 01 Nov 2008 10:42:05 GMT
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manpage of SUNCOMPAT
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 SUNCOMPAT

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


SUNCOMPAT

Section: OpenSS7 STREAMS Compatibility DDI/DKI (9)
Updated: 2008-10-31
Index Return to Main Contents

NAME

suncompat - Solaris STREAMS Compatibility

SYNOPSIS

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

OVERVIEW

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

DESCRIPTION

Many of the functions that are provided by Solaris® are also provided by the core streams.o kernel module of OpenSS7 STREAMS Compatibility. Other Solaris®-specific functions are provided by the streams-suncompat.o compatibility kernel module.

Core Functions

Functions that are already available in Linux Fast STREAMS are as follows: adjmsg(9) allocb(9) ASSERT(9) backq(9) bcanput(9) bcanputnext(9) bcmp(9) bcopy(9) bufcall(9) bzero(9) canput(9) canputnext(9) cmn_err(9) copyb(9) copyin(9) copymsg(9) copyout(9) datamsg(9) delay(9) drv_getparm(9) drv_hztousec(9) drv_priv(9) drv_usectohz(9) drv_usecwait(9) dupb(9) dupmsg(9) enableok(9) esballoc(9) esbbcall(9) flushband(9) flushq(9) freeb(9) freemsg(9) freezestr(9) getmajor(9) getminor(9) getq(9) insq(9) kmem_alloc(9) kmem_free(9) kmem_zalloc(9) linkb(9) linkblk(9) makedevice(9) max(9) min(9) msgdsize(9) msgpullup(9) noenable(9) OTHERQ(9) pullupmsg(9) put(9) putbq(9) putctl1(9) putctl(9) putnext(9) putnextctl1(9) putnextctl(9) putq(9) qenable(9) qprocsoff(9) qprocson(9) qreply(9) qsize(9) RD(9) rmalloc(9) rmallocmap(9) rmallocmap_wait(9) rmalloc_wait(9) rmfree(9) rmfreemap(9) rmvb(9) rmvq(9) SAMESTR(9) strqget(9) strqset(9) testb(9) timeout(9) uiomove(9) unbufcall(9) unfreezestr(9) unlinkb(9) untimeout(9) WR(9)

Specific Functions

Functions that are available in the OpenSS7 STREAMS Compatibility Solaris® compatibility module, streams-suncompat.o, are as follows:

cv_broadcast(9)-

cv_destroy(9)-

cv_init(9)-

cv_signal(9)-

cv_timedwait(9)-

cv_timedwait_sig(9)-

cv_wait(9)-

cv_wait_sig(9)-

ddi_add_intr(9)-

ddi_add_softintr(9)-

ddi_binding_name(9)-

ddi_btop(9)-

ddi_btopr(9)-

ddi_check_acc_handle(9)-

ddi_check_dma_handle(9)-

ddi_copyin(9)-

ddi_copyout(9)-

ddi_create_minor_node(9)-

ddi_device_acc_attr(9)-

ddi_device_copy(9)-

ddi_device_zero(9)-

ddi_devid_compare(9)-

ddi_devid_free(9)-

ddi_devid_init(9)-

ddi_devid_register(9)-

ddi_devid_sizeof(9)-

ddi_devid_str_decode(9)-

ddi_devid_str_encode(9)-

ddi_devid_str_free(9)-

ddi_devid_unregister(9)-

ddi_devid_valid(9)-

ddi_dev_is_needed(9)-

ddi_dev_is_sid(9)-

ddi_devmap_segmap(9)-

ddi_dev_nintrs(9)-

ddi_dev_nregs(9)-

ddi_dev_regsize(9)-

ddi_dev_report_fault(9)-

ddi_driver_major(9)-

ddi_driver_name(9)-

ddi_enter_critical(9)-

ddi_exit_critical(9)-

ddi_ffs(9)-

ddi_fls(9)-

ddi_get16(9)-

ddi_get32(9)-

ddi_get64(9)-

ddi_get8(9)-

ddi_getb(9)-

ddi_get_cred(9)-

ddi_get_devstate(9)-

ddi_get_driver_private(9)-

ddi_get_iblock_cookie(9)-

ddi_getiminor(9)-

ddi_get_instance(9)-

ddi_get_kt_did(9)-

ddi_getl(9)-

ddi_get_lbolt(9)-

ddi_getll(9)-

ddi_getlongprop(9)-

ddi_getlongprop_buf(9)-

ddi_get_name(9)-

ddi_get_parent(9)-

ddi_get_pid(9)-

ddi_getprop(9)-

ddi_getproplen(9)-

ddi_get_soft_iblock_cookie(9)-

ddi_get_soft_state(9)-

ddi_get_time(9)-

ddi_getw(9)-

ddi_idevice_cookie(9)-

ddi_in_panic(9)-

ddi_intr_hilevel(9)-

ddi_iomin(9)-

ddi_log_sysevent(9)-

ddi_map_regs(9)-

ddi_mem_alloc(9)-

ddi_mem_free(9)-

ddi_node_name(9)-

ddi_ptob(9)-

ddi_remove_intr(9)-

ddi_remove_minor_node(9)-

ddi_remove_softintr(9)-

ddi_removing_power(9)-

ddi_report_dev(9)-

ddi_root_node(9)-

ddi_set_driver_private(9)-

ddi_slaveonly(9)-

ddi_soft_state(9)-

ddi_soft_state_fini(9)-

ddi_soft_state_free(9)-

ddi_soft_state_init(9)-

ddi_soft_state_zalloc(9)-

ddi_trigger_softintr(9)-

ddi_umem_alloc(9)-

ddi_umem_free(9)-

ddi_umem_iosetup(9)-

ddi_umem_lock(9)-

ddi_umem_unlock(9)-

ddi_unmap_regs(9)-

_fini(9)-

getinfo(9)-

identify(9)-

_info(9)-

_init(9)-

IOC_CONVERT_FROM(9)-

mod_info(9)-

mod_install(9)-

mod_remove(9)-

mutex(9)-

mutex_destroy(9)-

mutex_enter(9)-

mutex_exit(9)-

mutex_init(9)-

mutex_owned(9)-

mutex_tryenter(9)-

ptob(9)-

qbufcall(9)-

qtimeout(9)-

queclass(9)-

qunbufcall(9)-

quntimeout(9)-

qwait(9)-

qwait_sig(9)-

qwriter(9)-

rw_destroy(9)-

rw_downgrade(9)-

rw_enter(9)-

rw_exit(9)-

rw_init(9)-

rwlock(9)-

rw_read_locked(9)-

rw_tryenter(9)-

rw_tryupgrade(9)-

sema_destroy(9)-

sema_init(9)-

sema_p(9)-

semaphore(9)-

sema_p_sig(9)-

sema_tryp(9)-

sema_v(9)-

snprintf(9)-

sprintf(9)-

stoi(9)-

strcasecmp(9)-

strchr(9)-

strcmp(9)-

strcpy(9)-

strlen(9)-

strlog(9)-

strncasecmp(9)-

strncmp(9)-

strncpy(9)-

swab(9)-

MPS® Transport Functions

Solaris®
exposes a number of symbols from the underlying Mentat MPS® TCP/IP implementation that are also documented in the Solaris® 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 manual page for the individual function for detailed information.

NOTICES

These are Solaris®-specific functions: _SUN_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_SUN or CONFIG_STREAMS_COMPAT_SUN_MODULE defined. When compiled with CONFIG_STREAMS_COMPAT_SUN defined, Solaris® compatibility will become part of the OpenSS7 STREAMS Compatibility streams kernel module. When compiled with CONFIG_STREAMS_COMPAT_SUN_MODULE defined, Solaris® compatibility will be placed in a separate streams-suncompat kernel module that will demand load when any STREAMS driver or module that uses the Solaris®-specific functions loads.

IMPLEMENTATION

Core functions are implemented within the OpenSS7 STREAMS Compatibility framework. Solaris®-specific functions are implemented as described in the separate manual pages describing each facility.

SEE ALSO

Core functions:

Compatibility functions: cv_broadcast(9), cv_destroy(9), cv_init(9), cv_signal(9), cv_timedwait(9), cv_timedwait_sig(9), cv_wait(9), cv_wait_sig(9), ddi_add_intr(9), ddi_add_softintr(9), ddi_binding_name(9), ddi_btop(9), ddi_btopr(9), ddi_check_acc_handle(9), ddi_check_dma_handle(9), ddi_copyin(9), ddi_copyout(9), ddi_create_minor_node(9), ddi_device_copy(9), ddi_device_zero(9), ddi_devid_compare(9), ddi_devid_free(9), ddi_devid_init(9), ddi_devid_register(9), ddi_devid_sizeof(9), ddi_devid_str_decode(9), ddi_devid_str_encode(9), ddi_devid_str_free(9), ddi_devid_unregister(9), ddi_devid_valid(9), ddi_dev_is_needed(9), ddi_dev_is_sid(9), ddi_devmap_segmap(9), ddi_dev_nintrs(9), ddi_dev_nregs(9), ddi_dev_regsize(9), ddi_dev_report_fault(9), ddi_dma_addr_bind_handle(9), ddi_dma_addr_setup(9), ddi_dma_alloc_handle(9), ddi_dma_buf_bind_handle(9), ddi_dma_buf_setup(9), ddi_dma_burstsizes(9), ddi_dma_coff(9), ddi_dma_curwin(9), ddi_dma_devalign(9), ddi_dmae_1stparty(9), ddi_dmae(9), ddi_dmae_alloc(9), ddi_dmae_disable(9), ddi_dmae_enable(9), ddi_dmae_getattr(9), ddi_dmae_getcnt(9), ddi_dmae_getlim(9), ddi_dmae_prog(9), ddi_dmae_release(9), ddi_dmae_stop(9), ddi_dma_free(9), ddi_dma_free_handle(9), ddi_dma_get_attr(9), ddi_dma_getwin(9), ddi_dma_htoc(9), ddi_dma_mem_alloc(9), ddi_dma_mem_free(9), ddi_dma_movwin(9), ddi_dma_nextcookie(9), ddi_dma_nextseg(9), ddi_dma_nextwin(9), ddi_dma_numwin(9), ddi_dma_segtocookie(9), ddi_dma_set_sbus64(9), ddi_dma_setup(9), ddi_dma_sync(9), ddi_dma_unbind_handle(9), ddi_driver_major(9), ddi_driver_name(9), ddi_enter_critical(9), ddi_exit_critical(9), ddi_ffs(9), ddi_fls(9), ddi_get16(9), ddi_get32(9), ddi_get64(9), ddi_get8(9), ddi_getb(9), ddi_get_cred(9), ddi_get_devstate(9), ddi_get_driver_private(9), ddi_get_iblock_cookie(9), ddi_getiminor(9), ddi_get_instance(9), ddi_get_kt_did(9), ddi_getl(9), ddi_get_lbolt(9), ddi_getll(9), ddi_getlongprop(9), ddi_getlongprop_buf(9), ddi_get_name(9), ddi_get_parent(9), ddi_get_pid(9), ddi_getprop(9), ddi_getproplen(9), ddi_get_soft_iblock_cookie(9), ddi_get_soft_state(9), ddi_get_time(9), ddi_getw(9), ddi_in_panic(9), ddi_intr_hilevel(9), ddi_io_get16(9), ddi_io_get32(9), ddi_io_get64(9), ddi_io_get8(9), ddi_io_getb(9), ddi_io_getl(9), ddi_io_getw(9), ddi_iomin(9), ddi_iopb_alloc(9), ddi_iopb_free(9), ddi_io_put16(9), ddi_io_put32(9), ddi_io_put64(9), ddi_io_put8(9), ddi_io_putb(9), ddi_io_putl(9), ddi_io_putw(9), ddi_io_rep_get16(9), ddi_io_rep_get32(9), ddi_io_rep_get64(9), ddi_io_rep_get8(9), ddi_io_rep_getb(9), ddi_io_rep_getl(9), ddi_io_rep_getw(9), ddi_io_rep_put16(9), ddi_io_rep_put32(9), ddi_io_rep_put64(9), ddi_io_rep_put8(9), ddi_io_rep_putb(9), ddi_io_rep_putl(9), ddi_io_rep_putw(9), ddi_log_sysevent(9), ddi_mapdev(9), ddi_mapdev_intercept(9), ddi_mapdev_nointercept(9), ddi_map_regs(9), ddi_mem_alloc(9), ddi_mem_free(9), ddi_mem_get16(9), ddi_mem_get32(9), ddi_mem_get64(9), ddi_mem_get8(9), ddi_mem_getb(9), ddi_mem_getl(9), ddi_mem_getll(9), ddi_mem_getw(9), ddi_mem_put16(9), ddi_mem_put32(9), ddi_mem_put64(9), ddi_mem_put8(9), ddi_mem_putb(9), ddi_mem_putl(9), ddi_mem_putll(9), ddi_mem_putw(9), ddi_mem_rep_get16(9), ddi_mem_rep_get32(9), ddi_mem_rep_get64(9), ddi_mem_rep_get8(9), ddi_mem_rep_getb(9), ddi_mem_rep_getl(9), ddi_mem_rep_getll(9), ddi_mem_rep_getw(9), ddi_mem_rep_put16(9), ddi_mem_rep_put32(9), ddi_mem_rep_put64(9), ddi_mem_rep_put8(9), ddi_mem_rep_putb(9), ddi_mem_rep_putl(9), ddi_mem_rep_putll(9), ddi_mem_rep_putw(9), ddi_mmap_get_model(9), ddi_model_convert_from(9), ddi_node_name(9), ddi_peek16(9), ddi_peek32(9), ddi_peek64(9), ddi_peek8(9), ddi_peek(9), ddi_peekc(9), ddi_peekd(9), ddi_peekl(9), ddi_peeks(9), ddi_poke16(9), ddi_poke32(9), ddi_poke64(9), ddi_poke8(9), ddi_poke(9), ddi_pokec(9), ddi_poked(9), ddi_pokel(9), ddi_pokes(9), ddi_prop_create(9), ddi_prop_exists(9), ddi_prop_free(9), ddi_prop_get_int64(9), ddi_prop_get_int(9), ddi_prop_lookup(9), ddi_prop_lookup_byte_array(9), ddi_prop_lookup_int64_array(9), ddi_prop_lookup_int_array(9), ddi_prop_lookup_string(9), ddi_prop_lookup_string_array(9), ddi_prop_modify(9), ddi_prop_op(9), ddi_prop_remove(9), ddi_prop_remove_all(9), ddi_prop_undefine(9), ddi_prop_update(9), ddi_prop_update_byte_array(9), ddi_prop_update_int64(9), ddi_prop_update_int64_array(9), ddi_prop_update_int(9), ddi_prop_update_string(9), ddi_prop_update_string_array(9), ddi_ptob(9), ddi_put16(9), ddi_put32(9), ddi_put64(9), ddi_put8(9), ddi_putb(9), ddi_putl(9), ddi_putll(9), ddi_putw(9), ddi_regs_map_free(9), ddi_regs_map_setup(9), ddi_remove_intr(9), ddi_remove_minor_node(9), ddi_remove_softintr(9), ddi_removing_power(9), ddi_rep_get16(9), ddi_rep_get32(9), ddi_rep_get64(9), ddi_rep_get8(9), ddi_rep_getb(9), ddi_rep_getl(9), ddi_rep_getll(9), ddi_rep_getw(9), ddi_report_dev(9), ddi_rep_put16(9), ddi_rep_put32(9), ddi_rep_put64(9), ddi_rep_put8(9), ddi_rep_putb(9), ddi_rep_putl(9), ddi_rep_putll(9), ddi_rep_putw(9), ddi_root_node(9), ddi_segmap(9), ddi_segmap_setup(9), ddi_set_driver_private(9), ddi_slaveonly(9), ddi_soft_state(9), ddi_soft_state_fini(9), ddi_soft_state_free(9), ddi_soft_state_init(9), ddi_soft_state_zalloc(9), ddi_trigger_softintr(9), ddi_umem_alloc(9), ddi_umem_free(9), ddi_umem_lock(9), ddi_umem_unlock(9), ddi_unmap_regs(9), _fini(9), getinfo(9), identify(9), _info(9), _init(9), IOC_CONVERT_FROM(9), mod_info(9), mod_install(9), mod_remove(9), mutex(9), mutex_destroy(9), mutex_enter(9), mutex_exit(9), mutex_init(9), mutex_owned(9), mutex_tryenter(9), ptob(9), qbufcall(9), qtimeout(9), queclass(9), qunbufcall(9), quntimeout(9), qwait(9), qwait_sig(9), qwriter(9), rw_destroy(9), rw_downgrade(9), rw_enter(9), rw_exit(9), rw_init(9), rwlock(9), rw_read_locked(9), rw_tryenter(9), rw_tryupgrade(9), sema_destroy(9), sema_init(9), sema_p(9), semaphore(9), sema_p_sig(9), sema_tryp(9), sema_v(9), snprintf(9), sprintf(9), stoi(9), strcasecmp(9), strchr(9), strcmp(9), strcpy(9), strlen(9), strlog(9), strncasecmp(9), strncmp(9), strncpy(9), swab(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 Solaris® compatibility suite has no known bugs.

COMPATIBILITY

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

---
These are Solaris®-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 Solaris® for the purpose of porting Solaris® drivers to Linux. Because internal structures and definitions for OpenSS7 STREAMS Compatibility[1] differ from that of Solaris®, binaries are incompatible.
---
These functions only provide functionality comparable to Solaris® 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

Solaris® DDI documentation[2, 3].

HISTORY

Most of these functions first appeared in Solaris®. 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]
strcompat-0.9.2, STREAMS Compatibility Modules (strcompat) 0.9.2 Source Code, Brian Bidulock, ed., OpenSS7 Corporation. <http://www.openss7.org/>
[2]
Solaris® 8, Solaris 8 Docmentation, 2001, (Santa Clara, California), Sun Microsystems, Inc., Sun. <http://docs.sun.com/>
[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/>

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: 16:36:17 GMT, September 02, 2014
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manpage of SUNCOMPAT
Last modified: Sat, 01 Nov 2008 10:42:05 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.