SS7Label Class Reference

SS7 Routing Label. More...

#include <yatesig.h>

List of all members.

Public Member Functions

 SS7Label ()
 SS7Label (const SS7Label &original)
 SS7Label (const SS7Label &original, unsigned char sls, unsigned char spare=0)
 SS7Label (SS7PointCode::Type type, const SS7PointCode &dpc, const SS7PointCode &opc, unsigned char sls, unsigned char spare=0)
 SS7Label (SS7PointCode::Type type, unsigned int dpc, unsigned int opc, unsigned char sls, unsigned char spare=0)
 SS7Label (SS7PointCode::Type type, const SS7MSU &msu)
void assign (SS7PointCode::Type type, const SS7PointCode &dpc, const SS7PointCode &opc, unsigned char sls, unsigned char spare=0)
void assign (SS7PointCode::Type type, unsigned int dpc, unsigned int opc, unsigned char sls, unsigned char spare=0)
bool assign (SS7PointCode::Type type, const SS7MSU &msu)
bool assign (SS7PointCode::Type type, const unsigned char *src, int len=-1)
bool store (unsigned char *dest) const
bool compatible (SS7PointCode::Type type) const
SS7PointCode::Type type () const
const SS7PointCodedpc () const
SS7PointCodedpc ()
const SS7PointCodeopc () const
SS7PointCodeopc ()
unsigned char sls () const
void setSls (unsigned char sls)
unsigned char spare () const
void setSpare (unsigned char spare)
unsigned int length () const
unsigned char size () const

Static Public Member Functions

static unsigned int length (SS7PointCode::Type type)
static unsigned char size (SS7PointCode::Type type)


Detailed Description

SS7 Routing Label.

A SS7 Layer 3 routing label, both ANSI and ITU capable


Constructor & Destructor Documentation

SS7Label (  ) 

Constructor of an empty, invalid label

SS7Label ( const SS7Label original  ) 

Copy constructor

Parameters:
original Label to copy

SS7Label ( const SS7Label original,
unsigned char  sls,
unsigned char  spare = 0 
)

Swapping constructor, puts SPC into DPC and the other way around

Parameters:
original Label to swap
sls Signalling Link Selection
spare Spare bits

SS7Label ( SS7PointCode::Type  type,
const SS7PointCode dpc,
const SS7PointCode opc,
unsigned char  sls,
unsigned char  spare = 0 
)

Constructor from label components

Parameters:
type Type of point code used to pack the label
dpc Destination Point Code
opc Originating Point Code
sls Signalling Link Selection
spare Spare bits

SS7Label ( SS7PointCode::Type  type,
unsigned int  dpc,
unsigned int  opc,
unsigned char  sls,
unsigned char  spare = 0 
)

Constructor from packed label components

Parameters:
type Type of point code used to pack the label
dpc Destination Point Code
opc Originating Point Code
sls Signalling Link Selection
spare Spare bits

SS7Label ( SS7PointCode::Type  type,
const SS7MSU msu 
)

Constructor from type and received MSU

Parameters:
type Type of point code to use to decode the MSU
msu A received MSU to be parsed


Member Function Documentation

void assign ( SS7PointCode::Type  type,
const SS7PointCode dpc,
const SS7PointCode opc,
unsigned char  sls,
unsigned char  spare = 0 
)

Assignment from label components

Parameters:
type Type of point code used to pack the label
dpc Destination Point Code
opc Originating Point Code
sls Signalling Link Selection
spare Spare bits

Referenced by SS7ISUP::setLabel().

void assign ( SS7PointCode::Type  type,
unsigned int  dpc,
unsigned int  opc,
unsigned char  sls,
unsigned char  spare = 0 
)

Assignment from packed label components

Parameters:
type Type of point code used to pack the label
dpc Destination Point Code
opc Originating Point Code
sls Signalling Link Selection
spare Spare bits

bool assign ( SS7PointCode::Type  type,
const SS7MSU msu 
)

Assignment from type and received MSU

Parameters:
type Type of point code to use to decode the MSU
msu A received MSU to be parsed
Returns:
True if the assignment succeeded

bool assign ( SS7PointCode::Type  type,
const unsigned char *  src,
int  len = -1 
)

Assignment from a packed memory block

Parameters:
type Type of the point codes in memory block
src Pointer to packed label in memory
len Length of data, negative to not check validity
Returns:
True if success, false if invalid type or memory area

bool store ( unsigned char *  dest  )  const

Pack and store the label in a memory location

Parameters:
dest Location to store the label info, must be at least length() long
Returns:
True on success, false if type is invalid

bool compatible ( SS7PointCode::Type  type  )  const

Check if the label is compatible with another packing type

Returns:
True if the DLC, SLC and SLS fit in the new packing format

SS7PointCode::Type type (  )  const [inline]

Get the type (SS7 dialect) of the routing label

Returns:
Dialect of the routing label as enumeration

const SS7PointCode& dpc (  )  const [inline]

Get the Destination Code Point inside the label

Returns:
Reference of the destination code point

SS7PointCode& dpc (  )  [inline]

Get a writable reference to the Destination Code Point inside the label

Returns:
Reference of the destination code point

const SS7PointCode& opc (  )  const [inline]

Get the Originating Code Point inside the label

Returns:
Reference of the source code point

SS7PointCode& opc (  )  [inline]

Get a writable reference to the Originating Code Point inside the label

Returns:
Reference of the originating code point

unsigned char sls (  )  const [inline]

Get the Signalling Link Selection inside the label

Returns:
Value of the SLS field

void setSls ( unsigned char  sls  )  [inline]

Set the Signalling Link Selection inside the label

Parameters:
sls New value of the SLS/SLC field

unsigned char spare (  )  const [inline]

Get the spare bits inside the label

Returns:
Value of the bits not included in DPC, OPC, or SLS

void setSpare ( unsigned char  spare  )  [inline]

Set the spare bits inside the label

Parameters:
spare New value of the spare bits

unsigned int length (  )  const [inline]

Get the length (in bytes) of this routing label

Returns:
Number of bytes required to represent the label, zero if unknown

Referenced by SS7MSU::getData().

static unsigned int length ( SS7PointCode::Type  type  )  [static]

Get the length (in bytes) of a packed routing label according to its type

Parameters:
type Type of the packing
Returns:
Number of bytes required to represent the label, zero if unknown

unsigned char size (  )  const [inline]

Get the size (in bits) of this routing label except the spare bits

Returns:
Number of bits required to represent this label, zero if unknown

static unsigned char size ( SS7PointCode::Type  type  )  [static]

Get the size (in bits) of a packed routing label according to its type

Parameters:
type Type of the packing
Returns:
Number of bits required to represent the label, zero if unknown


The documentation for this class was generated from the following file:

Generated on Mon Aug 11 16:17:54 2008 for Yate by  doxygen 1.5.6