01: /*_############################################################################
02: _##
03: _## SNMP4J - SecurityParameters.java
04: _##
05: _## Copyright (C) 2003-2008 Frank Fock and Jochen Katz (SNMP4J.org)
06: _##
07: _## Licensed under the Apache License, Version 2.0 (the "License");
08: _## you may not use this file except in compliance with the License.
09: _## You may obtain a copy of the License at
10: _##
11: _## http://www.apache.org/licenses/LICENSE-2.0
12: _##
13: _## Unless required by applicable law or agreed to in writing, software
14: _## distributed under the License is distributed on an "AS IS" BASIS,
15: _## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: _## See the License for the specific language governing permissions and
17: _## limitations under the License.
18: _##
19: _##########################################################################*/
20:
21: package org.snmp4j.security;
22:
23: import org.snmp4j.asn1.BERSerializable;
24:
25: /**
26: * The <code>SecurityParameters</code> interface represents the security
27: * parameters in a SNMPv3 message.
28: *
29: * @author Frank Fock
30: * @version 1.0
31: */
32: public interface SecurityParameters extends BERSerializable {
33:
34: /**
35: * Gets the byte position of the first byte (counted from zero) of the
36: * security parameters in the whole message.
37: * @return
38: * the position of the first byte (counted from zero) of the security
39: * parameters in the whole SNMP message. -1 is returned, when the position
40: * is unknown (not set).
41: */
42: int getSecurityParametersPosition();
43:
44: /**
45: * Sets the position of the first byte (counted from zero) of the security
46: * parameters in the whole SNMP message.
47: * @param pos
48: * an integer value >= 0.
49: */
50: void setSecurityParametersPosition(int pos);
51:
52: /**
53: * Gets the maximum length of the BER encoded representation of this
54: * <code>SecurityParameters</code> instance.
55: * @param securityLevel
56: * the security level to be used.
57: * @return
58: * the maximum BER encoded length in bytes.
59: */
60: int getBERMaxLength(int securityLevel);
61: }
|