The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DOCSIS::ConfigFile::Syminfo - Symbolinfo for a DOCSIS config-file

VERSION

See DOCSIS::ConfigFile

SYNOPSIS

    use DOCSIS::ConfigFile::Syminfo;

    my @objs = DOCSIS::ConfigFile::Syminfo->from_id($ID);
    my $obj = DOCSIS::ConfigFile::Syminfo->from_code($CODE, $PCODE);

DESCRIPTION

This module holds many pre-defined DOCSIS 1.x and 2.0 TLVs. The definitions are used to translate between binary and something that is human readable. It also holds information to validate the data, to make sure not "garbage" is written to the config file. The names and information found in this module is "stolen" from the docsis project source code.

NOTE: DOCSIS 3.0 is also supported, since the main differences is in the physical layer and not the config file.

CLASS METHODS

add_symbol

    $class->add_symbol({
        id => $str,      # MaxRateDown
        code => $int,    # 2
        pcode => $int,   # 4
        func => $str,    # uint
        l_limit => $int, # 0
        u_limit => $int, # 52000000
        length => $int,  # 1
    });

This method can be used to globally add new DOCSIS symbols, unless not yet supported. See the source code for more examples. Please file a bug with the new symbol, so others can use it as well.

dump_symbol_tree

    $str = $self->dump_symbol_tree;

This method will return a dump of the symbol tree, similar to Data::Dumper.

Curious of the config tree which is supported by default? Run the command below, to see the syminfo tree:

    perl -e'print +(require DOCSIS::ConfigFile::Syminfo)->dump_symbol_tree'

from_id

    $self = $class->from_id($ID);
    $self = $class->from_id('BaselinePrivacy');

Returns one DOCSIS::ConfigFile::Syminfo objects, which might point to siblings.

from_code

    $self = $class->from_code($CODE, $PCODE);

Returns one DOCSIS::ConfigFile::Syminfo object.

undef_row

This method will be deprecated.

cmts_mic_codes

    @str = $class->cmts_mic_codes;

Returns a list of all the codes that defines the CMTS MIC.

byte_size

    $int = $class->byte_size($type);
    $int = $class->byte_size('short int');

Returns the number of bytes a type takes.

OBJECT METHODS

id

Returns the identifier. Returns "" on error.

code

Returns the DOCSIS code. Returns -1 on error.

pcode

Returns the DOCSIS parent code. Returns -1 on error.

func

Returns the name of the function to be used when decoding/encoding. Returns "" on error.

l_limit

Returns the lower limit numeric value. Returns -1 on error.

u_limit

Returns the upper limit numeric value. Returns -1 on error.

length

Tells how many bytes long the length is.

siblings

Used with from_id(): Gives multiple objects, with the same ID.

AUTHOR

BUGS

SUPPORT

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

See DOCSIS::ConfigFile