2 * Copyright (c) 2003 University of Murcia. All rights reserved.
\r
3 * --------------------------------------------------------------
\r
4 * For more information, please see <http://www.umu.euro6ix.org/>.
\r
7 package org.umu.cops.stack;
\r
9 import java.net.UnknownHostException;
\r
12 * COPS IPv6 Interface
\r
14 * @version COPSIpv6Interface.java, v 1.00 2003
\r
17 public abstract class COPSIpv6Interface extends COPSInterface {
\r
20 * Method isIpv6Address
\r
25 public boolean isIpv6Address() {
\r
30 * Method setIpAddress
\r
32 * @param hostName a String
\r
34 * @throws UnknownHostException
\r
37 public void setIpAddress(String hostName) throws UnknownHostException {
\r
38 _addr.setIpAddress(hostName);
\r
46 * @throws UnknownHostException
\r
49 public String getIpName() throws UnknownHostException {
\r
50 return (_addr.getIpName());
\r
54 * Returns size in number of octects, including header
\r
59 public short getDataLength() {
\r
60 //Add the size of the header also
\r
61 return (_objHdr.getDataLength());
\r
64 protected COPSIpv6Interface(COPSObjHeader hdr) {
\r
66 // _objHdr.setCType((byte) 2);
\r
67 _objHdr.setDataLength((short) (_addr.getDataLength() + 4));
\r
70 protected COPSIpv6Interface(byte[] dataPtr) {
\r
71 _objHdr = COPSObjHeader.parse(dataPtr);
\r
72 _objHdr.parse(dataPtr);
\r
73 // _objHdr.checkDataLength();
\r
75 byte[] buf = new byte[4];
\r
76 System.arraycopy(dataPtr,4,buf,0,16);
\r
80 _ifindex |= ((int) dataPtr[20]) << 24;
\r
81 _ifindex |= ((int) dataPtr[21]) << 16;
\r
82 _ifindex |= ((int) dataPtr[22]) << 8;
\r
83 _ifindex |= ((int) dataPtr[23]) & 0xFF;
\r
85 _objHdr.setDataLength((short) (_addr.getDataLength() + 4));
\r
88 private COPSObjHeader _objHdr;
\r
89 private COPSIpv6Address _addr;
\r
90 private int _ifindex;
\r