OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Sat, 01 Nov 2008 10:41:55 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


FREEMSG

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

NAME

freemsg - frees a STREAMS message

SYNOPSIS

#include <sys/stream.h>

void freemsg(mblk_t *mp);

ARGUMENTS

mp

the message to free.

INTERFACE

STREAMS.

DESCRIPTION

freemsg() frees the STREAMS(4) message pointed to by mp and the associated message blocks, data blocks and data buffers.

Freeing the message blocks of the message might or might not result in the deallocation of the message blocks, data blocks or data buffers, depending upon the internal implementation, the binding of message blocks to data blocks and whether the buffers are internal or external buffers.

For external data buffers that are to be freed, the function will be called with the arg provided previously to a esballoc(9) call.

RETURN

freemsg() returns void.

ERRORS

If the block pointer, bp, passed to freeb() is NULL, then freeb() will silently fail.

CONTEXT

freemsg() 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

freemsg() is MP-safe. It is the caller's responsibility to ensure that it has the last remaining reference to the message blocks in the passed in message.

IMPLEMENTATION

freemsg() is implemented with a looping call to freeb(9), following along the b_cont pointer of each message block in the message block chain beginning with the passed in message block, mp.

See freeb(9) for more information.

SEE ALSO

allocb(9), esballoc(9) and freeb(9).

BUGS

freemsg() has no known bugs.

COMPATIBILITY

freemsg() is compatible with SVR 4.2 MP DDI/DKI[1], and implementations based on SVR 4[2] with the following portability considerations:

---
See freeb(9) for additional compatibility information.
---
In addition, LiS[3] uses a free list to hold freed message blocks and data blocks. It is particularly inefficient for cache performance to do this. LiS[3] should use kernel memory caches instead and should free the message blocks and data blocks when they are no longer used to allow existing cache slots to be reused. Bypassing the kernel memory allocation and deallocation mechanisms by using a free list results in poorer performance than might be expected by those that do not understand kernel memory caching mechanisms.
---
Binary compatibility is not guaranteed.

See STREAMS(9) for additional compatibility information.

CONFORMANCE

SVR 4.2 MP DDI/DKI[1].

HISTORY

freemsg() appears as part of SVR 4.0 STREAMS[4].

freemsg() appeared first in SVR 3[5].

REFERENCES

[1]
USL DDI/DKI, Device Driver Interface/Driver-Kernel Interface (DDI/DKI) Reference Manual for Intel Processors, 1992, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
[2]
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.
[3]
LIS 2.18, Linux STREAMS (LiS) 2.18.6 Source Code, Brian Bidulock, ed., OpenSS7 Corporation. <http://www.openss7.org/>
[4]
SVR 4, UNIX® System V Release 4 STREAMS Programmer's Guide, 1990, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
[5]
SVR 3, UNIX® System V Release 3 STREAMS Programmer's Guide, (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


Linux Fast-STREAMS: Package streams version 0.9.2.4 released 2008-10-31.

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



Index

NAME
SYNOPSIS
ARGUMENTS
INTERFACE
DESCRIPTION
RETURN
ERRORS
CONTEXT
MP-STREAMS
IMPLEMENTATION
SEE ALSO
BUGS
COMPATIBILITY
CONFORMANCE
HISTORY
REFERENCES
TRADEMARKS
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 19:58:27 GMT, May 17, 2013
OpenSS7
SS7 for the
Common Man
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> Man Pages -> Manual Page
Last modified: Sat, 01 Nov 2008 10:41:55 GMT
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.