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


MI_STRLOG

Section: The OpenSS7 Project DDI/DKI (9)
Updated: Mon, 21 Aug 2017 20:35:54 GMT
Index Return to Main Contents

NAME

mi_strlog - generate a STREAMS log message

SYNOPSIS

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

int mi_strlog(queue_t *q, char level, ushort flags, char *fmt, ...);
int mi_vstrlog(queue_t *q, char level, ushort flags, char *fmt, va_list args);

ARGUMENTS

q

specifies the read queue associated with the driver or module instance.
level
specifies the priority level.
flags
log flags specifying the severity and options associated with the STREAMS log.
fmt
provides the printf(3)-style format string.
...
provides the arguments for the printf(3)-style format string for mi_strlog().
args
provides the arguments for the printf(3)-style format string for mi_vstrlog().

mi_vstrlog() is a va_list version of mi_strlog().

INTERFACE

MPS®-specific DDI.

DESCRIPTION

mi_strlog() is an MPS®-specific interface to the STREAMS log(4) error and trace logger, see strlog(9). The q argument, when non-NULL, is used to look up the module identifier which is passed to vstrlog(9) in the mid argument. The sid argument passed to vstrlog(9) is always zero (0). The remaining arguments, level, flags, fmt, and args, are passed without modification to vstrlog(9).

USAGE

Although on some platforms mi_strlog() might support more format strings than are supported by strlog(9), this is not the case for The OpenSS7 Project. Therefore, mi_strlog() is equivalent to strlog(q->q_qinfo->qi_minfo->mi_idnum, 0, level, flags, fmt, ...). In fact, a macro defintiion to that effect would be better.

RETURN

When mi_strlog() succeeds, it returns true (1); when it fails, it returns false (0).

ERRORS

mi_strlog() fails under the same circumstances as strlog(9) (when the message has not been seen by all the readers).

CONTEXT

mi_strlog() can be called from any context, including user context, module procedures, callouts, callbacks, soft interrupts (tasklets and bottom halves), and interrupt service routines.

MP-STREAMS

mi_strlog() is MP-safe, however, see strlog(9).

NOTICES

mi_strlog() 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. The OpenSS7 Project 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

Some implementation of mi_strlog(9) perform complete formatting of the buffer and then pass the formatted output buffer to strlog(9). The purpose of this, I suppose, is that mi_iprintf() supports some printf(9) format strings that are not supported traditionally by strlog(9). The OpenSS7 Project, however, supports all format strings and neither needs to have the buffer preformatted, nor would it be very efficient. mi_strlog(9) on The OpenSS7 Project, therefore, passes the format string and arguments to vstrlog(9).

SEE ALSO

mpscompat(9), aixcompat(9), maccompat(9), STREAMS(9).

BUGS

mi_strlog() has no known bugs.

COMPATIBILITY

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

---
See strlog(9) for a detailed discussion on supported conversion specifiers.
---
mi_strlog() is an MPS®-specific function and should not be used by portable STREAMS drivers and modules. The more common strlog(9) function should be used in its stead.
---
mi_strlog() is provided for source level compatibility with MPS® for the purpose of porting MPS® drivers to Linux. Because internal structures and definitions for The OpenSS7 Project[1] differ from that of MPS®, binaries are incompatible.
---
mi_strlog() only provides functionality comparable to MPS® for use by STREAMS drivers and modules. Any and all functionality provided by mi_strlog() 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_strlog() first appeared in MPS®. mi_strlog() is a Mentat, Inc. function that goes all the way back to the pre-OSF/1 Mentat implementations. mi_strlog() appears in MacOT®[3] and AIX®[4]. An undocumented version of mi_strlog() appears in Solaris®.

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

The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Mon, 21 Aug 2017 20:35:54 GMT.

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



Index

NAME
SYNOPSIS
ARGUMENTS
INTERFACE
DESCRIPTION
USAGE
RETURN
ERRORS
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:35:54 GMT, August 21, 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.