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

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


MI_COPY_SET_RVAL

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

NAME

mi_copy_set_rval - set return value for input-output control

SYNOPSIS

#define _MPS_SOURCE
#include <sys/stream.h>
#include <sys/ddi.h>
#include <sys/mpsddi.h>

void mi_copy_set_rval(mblk_t *mp, int rval);

ARGUMENTS

mp

a pointer to the message block that contains the M_IOCTL(9) or M_IOCDATA(9) message being processed. This is the message that was passed to the write-side qi_putp(9) or qi_srvp(9) procedure within which mi_copy_set_rval() is invoked.
rval
the return value to set.

INTERFACE

MPS®-specific DDI.

DESCRIPTION

mi_copy_set_rval() is one of a set of helper functions that support transparent input-output controls (see ioctl(2s) and streamio(9)) that includes mi_copyin(9), mi_copyout(9), mi_copyout_alloc(9), mi_copy_done(9), MI_COPY_CASE(9), mi_copy_set_rval(9) and mi_copy_state(9).

mi_copy_set_rval() sets the return value from the ioctl(2s) call.

USAGE

mi_copy_set_rval() is only used in conjunction with the other mi_copy helper functions: mi_copyin(9), mi_copyout(9), mi_copyout_alloc(9), mi_copy_done(9), MI_COPY_CASE(9), mi_copy_set_rval() and mi_copy_state(9).

mi_copy_set_rval() is used for TRANSPARENT input output controls where the size of the data passed by the user is not known until the initial portion of the passed in data is copied in. For non-TRANSPARENT (I_STR) input output controls, this is not a problem, because the length of the passed in data is provided directly by the user (see streamio(7)).

RETURN

mi_copy_set_rval() returns void.

ERRORS

mi_copy_set_rval() fails when passed invalid pointers. When mi_copy_set_rval() fails, it panics the kernel.

EXAMPLE

See mi_copyin(9) and mi_copyout(9) for examples of the usage of mi_copy_set_rval().

CONTEXT

mi_copy_set_rval() can be called from any context; however, it is normally called from the STREAMS driver or module write-side queue qi_putp(9) or qi_srvp(9) procedure.

MP-STREAMS

mi_copy_set_rval() is MP-safe; however, it is the responsibility of the caller to ensure exclusive access to the passed in message blocks. This is normally the case when the function is called from the STREAMS driver or module write-side queue qi_putp(9) or qi_srvp(9) procedure.

NOTICES

mi_copy_set_rval() is an MPS®-specific function: _MPS_SOURCE, _AIX_SOURCE or _MAC_SOURCE must be defined before including DDI/DKI include files to expose this symbol. OpenSS7 STREAMS Compatibility must also have been compiled with CONFIG_STREAMS_COMPAT_MPS, CONFIG_STREAMS_COMPAT_MPS_MODULE, CONFIG_STREAMS_COMPAT_AIX, CONFIG_STREAMS_COMPAT_AIX_MODULE, CONFIG_STREAMS_COMPAT_MAC or CONFIG_STREAMS_COMPAT_MAC_MODULE defined.

IMPLEMENTATION

mi_copy_set_rval(9) simply sets the return value, ioc_rval member, in the iocblk(9) structure contained in the message block referenced by mp.

SEE ALSO

mi_copy_done(9), mi_copyin(9), mi_copyout(9), mi_copyout_alloc(9), mi_copy_state(9), MI_COPY_CASE(9), mpscompat(9), aixcompat(9), maccompat(9), STREAMS(9).

BUGS

mi_copy_set_rval() has no known bugs.

COMPATIBILITY

mi_copyin() is compatible with MPS®, AIX®, MacOT®, and Solaris®, with the following portability considerations:

---
mi_copy_set_rval() is an MPS®-specific function and should not be used by portable STREAMS drivers and modules. The more common message utility functions should be used in its stead.
---
mi_copy_set_rval() is 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[1] differ from that of MPS®, binaries are incompatible.
---
mi_copy_set_rval() only provides functionality comparable to MPS® for use by STREAMS drivers and modules. Any and all functionality provided by mi_copy_set_rval() in support of non-STREAMS devices are not supported.

See mpscompat(9), aixcompat(9), maccompat(9), and STREAMS(9) for additional compatibility considerations.

CONFORMANCE

MPS® DDI documentation, MacOT® DDI documentation[2, 3], AIX® documentation[4].

HISTORY

mi_copy_set_rval() first appeared in MPS®. mi_copy_set_rval() is a Mentat, Inc. function that goes all the way back to the pre-OSF/1 Mentat implementations. mi_copy_set_rval() appears in MacOT®[3] and AIX®[4]. An undocumented version of mi_copy_set_rval() appears in Solaris®.

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]
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/>
[4]
AIX® 5L Version 5.1, AIX Communications Programming Concepts, 2001, (Boulder, Colorado), Internatonal Business Machines Corp., IBM. <http://publibn.boulder.ibm.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
ARGUMENTS
INTERFACE
DESCRIPTION
USAGE
RETURN
ERRORS
EXAMPLE
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: 23:52:09 GMT, May 23, 2013
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manpage of MI_COPY_SET_RVAL
Last modified: Sat, 01 Nov 2008 10:42:03 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.