File: ClntCfgPrefix.cpp

package info (click to toggle)
dibbler 1.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 13,352 kB
  • sloc: cpp: 60,323; ansic: 12,235; sh: 11,951; yacc: 3,418; lex: 969; makefile: 940; perl: 319; xml: 116; python: 74
file content (69 lines) | stat: -rw-r--r-- 1,612 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
 * Dibbler - a portable DHCPv6
 *
 * authors: Tomasz Mrugalski <thomson@klub.com.pl>
 *          Marek Senderski <msend@o2.pl>
 * changes: Krzysztof Wnuk <keczi@poczta.onet.pl>
 * released under GNU GPL v2 only licence
 *
 *
 */

#include <iostream>
#include <iomanip>
#include <limits.h>
#include "DHCPConst.h"
#include "ClntCfgPrefix.h"
#include "Logger.h"

SPtr<TIPv6Addr> TClntCfgPrefix::get() {
    return Prefix;
}

unsigned long TClntCfgPrefix::getValid() {
    return Valid;
}

unsigned long TClntCfgPrefix::getPref() {
    return Pref;
}


TClntCfgPrefix::TClntCfgPrefix(SPtr<TIPv6Addr> prefix, 
                               unsigned long valid, 
                               unsigned long pref, 
                               unsigned char len)
    :Prefix(prefix), Valid(valid), Pref(pref), PrefixLength(len)
{
}

TClntCfgPrefix::~TClntCfgPrefix() {

}

void TClntCfgPrefix::setOptions(SPtr<TClntParsGlobalOpt> opt) 
{
    this->Valid=opt->getValid();
    this->Pref=opt->getPref();
}

TClntCfgPrefix::TClntCfgPrefix() 
{
    this->Valid=UINT_MAX;
    this->Pref=UINT_MAX;
    Prefix = new TIPv6Addr();
    PrefixLength = 0;
}

TClntCfgPrefix::TClntCfgPrefix(SPtr<TIPv6Addr> prefix, 
                               unsigned char len)
    :Prefix(prefix), Valid(UINT_MAX), Pref(UINT_MAX), PrefixLength(len)
{
}

std::ostream& operator<<(std::ostream& out,TClntCfgPrefix& pref) {
    out << "<prefix length=\"" << (unsigned int)pref.PrefixLength << "\" preferred=\"" << pref.Pref 
	<< "\" valid=\"" << pref.Valid << "\">";
    out << *pref.Prefix << "</prefix>" << std::endl;	
    return out;
}