libisdn
Q.921 Statistics, iterator-based

Defines

#define Q921StatsCounterForeach(name)   for (const struct Q921StatsCounter * name = Q921StatsCounterFirst(); name; name = Q921StatsCounterNext(name))

Functions

Q921_API struct Q921StatsCounterQ921StatsCounterFirst (void)
Q921_API struct Q921StatsCounterQ921StatsCounterNext (const struct Q921StatsCounter *cur)
Q921_API unsigned int Q921StatsCounterValue (const L2TRUNK trunk, const struct Q921StatsCounter *counter, const int tei)
 Retrieve current value of specified statistic event counter of one TEI, or the sum of the counters of all TEIs.
Q921_API int Q921StatsCounterID (const struct Q921StatsCounter *counter)
Q921_API const char * Q921StatsCounterName (const struct Q921StatsCounter *counter)
Q921_API const char * Q921StatsCounterDescription (const struct Q921StatsCounter *counter)
Q921_API int Q921StatsCounterIsGlobal (const struct Q921StatsCounter *counter)
Q921_API int Q921StatsCounterIsError (const struct Q921StatsCounter *counter)
Q921_API int Q921StatsCounterIsAvailable (const L2TRUNK trunk, const struct Q921StatsCounter *counter)

Detailed Description

Counter iteration API


Define Documentation

Iterate over all counter

Parameters:
[in]nameName of local counter variable
 Q921StatsCounterForeach(cur) {
        printf("Counter '%s' on tei %d has value %u\n",
                Q921StatsCounterName(cur),
                tei,
                Q921StatsCounterValue(q921_trunk, cur, tei));
 }
Author:
Stefan Knoblich <s.knoblich@axsentis.de>

Definition at line 557 of file Q921.h.


Function Documentation

Q921_API const char* Q921StatsCounterDescription ( const struct Q921StatsCounter counter)

Get Description of current counter

Parameters:
[in]counterCounter
Returns:
description on success, NULL on error
Author:
Stefan Knoblich <s.knoblich@axsentis.de>
Q921_API struct Q921StatsCounter* Q921StatsCounterFirst ( void  ) [read]
Q921_API int Q921StatsCounterID ( const struct Q921StatsCounter counter)

Get ID of current counter

Parameters:
[in]counterCounter
Returns:
id on success Q931_STATS_NONE on error
Author:
Stefan Knoblich <s.knoblich@axsentis.de>
Q921_API int Q921StatsCounterIsAvailable ( const L2TRUNK  trunk,
const struct Q921StatsCounter counter 
)

Is current counter available (in this mode)

Parameters:
[in]trunkQ.921 trunk, needed for configuration details
[in]counterCounter
Returns:
0 on false or error, 1 on true
Author:
Stefan Knoblich <s.knoblich@axsentis.de>
Q921_API int Q921StatsCounterIsError ( const struct Q921StatsCounter counter)

Does current counter indicate an error condition

Parameters:
[in]counterCounter
Returns:
0 on false or error, 1 on true
Author:
Stefan Knoblich <s.knoblich@axsentis.de>
Q921_API int Q921StatsCounterIsGlobal ( const struct Q921StatsCounter counter)

Is current counter shared between multiple TEIs (= global)

Parameters:
[in]counterCounter
Returns:
0 on false or error, 1 on true
Author:
Stefan Knoblich <s.knoblich@axsentis.de>
Q921_API const char* Q921StatsCounterName ( const struct Q921StatsCounter counter)

Get Name of current counter

Parameters:
[in]counterCounter
Returns:
name on success, NULL on error
Author:
Stefan Knoblich <s.knoblich@axsentis.de>
Q921_API struct Q921StatsCounter* Q921StatsCounterNext ( const struct Q921StatsCounter cur) [read]
Q921_API unsigned int Q921StatsCounterValue ( const L2TRUNK  trunk,
const struct Q921StatsCounter counter,
const int  tei 
)

Retrieve current value of specified statistic event counter of one TEI, or the sum of the counters of all TEIs.

Q921StatsCounterValue

Parameters:
[in]trunkpointer to Q.921 data struct
[in]counterCounter
[in]teiTEI of link: 0 for trunk, Q921_TEI_BCAST for sum of all counters, TEI of link otherwise
Returns:
counter value or 0 on error
Author:
Stefan Knoblich <s.knoblich@axsentis.de>