Documentation ¶
Index ¶
- Constants
- Variables
- func Partition(current_position, partition_size, slice_length int) bool
- func ToBigInt(value interface{}) *big.Int
- type Asn1BER
- type BitStringValue
- type GoSNMP
- func (x *GoSNMP) Connect() error
- func (x *GoSNMP) Get(oids []string) (result *SnmpPacket, err error)
- func (x *GoSNMP) GetBulk(oids []string, non_repeaters uint8, max_repetitions uint8) (result *SnmpPacket, err error)
- func (x *GoSNMP) GetNext(oids []string) (result *SnmpPacket, err error)
- func (x *GoSNMP) Set(pdus []SnmpPDU) (result *SnmpPacket, err error)
- type Logger
- type PDUType
- type SnmpPDU
- type SnmpPacket
- type SnmpVersion
- type VarBind
- type Variable
Constants ¶
const ( EndOfContents Asn1BER = 0x00 Boolean = 0x01 Integer = 0x02 BitString = 0x03 OctetString = 0x04 Null = 0x05 ObjectIdentifier = 0x06 ObjectDescription = 0x07 IpAddress = 0x40 Counter32 = 0x41 Gauge32 = 0x42 TimeTicks = 0x43 Opaque = 0x44 NsapAddress = 0x45 Counter64 = 0x46 Uinteger32 = 0x47 NoSuchObject = 0x80 NoSuchInstance = 0x81 )
const ( Sequence PDUType = 0x30 GetRequest PDUType = 0xa0 GetNextRequest = 0xa1 GetResponse = 0xa2 SetRequest = 0xa3 Trap = 0xa4 GetBulkRequest = 0xa5 )
const MAX_OIDS = 60
MAX_OIDS is the maximum number of oids allowed in a Get()
Variables ¶
Functions ¶
func Partition ¶ added in v1.2.0
Partition - returns true when dividing a slice into partition_size lengths, including last partition which may be smaller than partition_size. This is useful when you have a large array of OIDs to run Get() on. See the tests for example usage.
For example for a slice of 8 items to be broken into partitions of length 3, Partition returns true for the current_position having the following values:
0 1 2 3 4 5 6 7
T T T
func ToBigInt ¶
ToBigInt converts SnmpPDU.Value to big.Int, or returns a zero big.Int for non int-like types (eg strings).
This is a convenience function to make working with SnmpPDU's easier - it reduces the need for type assertions. A big.Int is convenient, as SNMP can return int32, uint32, and uint64.
Types ¶
type BitStringValue ¶
type BitStringValue struct { Bytes []byte // bits packed into bytes. BitLength int // length in bits. }
BitStringValue is the structure to use when you want an ASN.1 BIT STRING type. A bit string is padded up to the nearest byte in memory and the number of valid bits is recorded. Padding bits will be zero.
func (BitStringValue) At ¶
func (b BitStringValue) At(i int) int
At returns the bit at the given index. If the index is out of range it returns false.
func (BitStringValue) RightAlign ¶
func (b BitStringValue) RightAlign() []byte
RightAlign returns a slice where the padding bits are at the beginning. The slice may share memory with the BitString.
type GoSNMP ¶
type GoSNMP struct { // Target is an ipv4 address Target string // Port is a udp port Port uint16 // Community is an SNMP Community string Community string // Version is an SNMP Version Version SnmpVersion // Timeout is the timeout for the SNMP Query Timeout time.Duration // Conn is net connection to use, typically establised using GoSNMP.Connect() Conn net.Conn // Logger is the GoSNMP.Logger to use for debugging. If nil, debugging // output will be discarded (/dev/null). For verbose logging to stdout: // x.Logger = log.New(os.Stdout, "", 0) Logger Logger }
func (*GoSNMP) Get ¶
func (x *GoSNMP) Get(oids []string) (result *SnmpPacket, err error)
Send an SNMP GET request
func (*GoSNMP) GetBulk ¶ added in v1.2.0
func (x *GoSNMP) GetBulk(oids []string, non_repeaters uint8, max_repetitions uint8) (result *SnmpPacket, err error)
send an SNMP GETBULK request
type Logger ¶ added in v1.2.0
type Logger interface { Print(v ...interface{}) Printf(format string, v ...interface{}) }
type SnmpPDU ¶
type SnmpPDU struct { // Name is an oid in string format eg "1.3.6.1.4.9.27" Name string // The type of the value eg Integer Type Asn1BER // The value to be set by the SNMP set Value interface{} }
SnmpPDU will be used when doing SNMP Set's
type SnmpPacket ¶
type SnmpVersion ¶
type SnmpVersion uint8
const ( Version1 SnmpVersion = 0x0 Version2c SnmpVersion = 0x1 )
func (SnmpVersion) String ¶
func (s SnmpVersion) String() string