ctr64.h
资源名称:hp_snmp3.zip [点击查看]
上传用户:czjinwang
上传日期:2007-01-12
资源大小:2484k
文件大小:5k
源码类别:
SNMP编程
开发平台:
Visual C++
- /*===================================================================
- Copyright (c) 1999
- Hewlett-Packard Company
- ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
- Permission to use, copy, modify, distribute and/or sell this software
- and/or its documentation is hereby granted without fee. User agrees
- to display the above copyright notice and this license notice in all
- copies of the software and any documentation of the software. User
- agrees to assume all liability for the use of the software; Hewlett-Packard
- makes no representations about the suitability of this software for any
- purpose. It is provided "AS-IS without warranty of any kind,either express
- or implied. User hereby grants a royalty-free license to any and all
- derivatives based upon this software code base.
- SNMP++ C O U N T E R 6 4 . H
- COUNTER64 CLASSES DEFINITION
- VERSION:
- 2.8
- RCS INFO:
- $Header: ctr64.h,v 1.17 96/09/11 14:01:23 hmgr Exp $
- DESIGN:
- Peter E Mellquist
- AUTHOR:
- Peter E Mellquist
- LANGUAGE:
- ANSI C++
- OPERATING SYSTEMS:
- MS-Windows Win32
- BSD UNIX
- DESCRIPTION:
- SNMP Counter64 class definition.
- =====================================================================*/
- #ifndef _CTR64
- #define _CTR64
- #include "smival.h"
- #define CTR64OUTBUF 30 // maximum ascii string for a 64-bit ctr
- //---------[ 64 bit Counter Class ]--------------------------------
- // Counter64 Class encapsulates two unsigned integers into a
- // a single entity. This type has is available in SNMPv2 but
- // may be used anywhere where needed.
- //
- class DLLOPT Counter64: public SnmpSyntax
- {
- protected:
- char output_buffer[CTR64OUTBUF];
- public:
- // convert a Counter 64 to a long double
- long double c64_to_ld( Counter64 &c64);
- // convert a long double to a Counter64
- Counter64 ld_to_c64( long double ld);
- // constructor, no values
- Counter64( void);
- // constructor with values
- Counter64( unsigned long hiparm, unsigned long loparm);
- // constructor with only one arg, defaults to lower
- Counter64( unsigned long loparm);
- // copy constructor
- Counter64( const Counter64 &ctr64);
- // destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden)
- ~Counter64();
- // syntax type
- SmiUINT32 get_syntax();
- // return the high part
- unsigned long int high() const;
- // return the low part
- unsigned long int low() const;
- // set the high part
- void set_high( const unsigned long int h);
- // set the low part
- void set_low( const unsigned long int l);
- //------[ overloaded assignment ]-------------------
- // assign a Counter64 to a Counter64
- Counter64& operator=( const Counter64 &ctr64);
- // assign a ul to a ctr64, clears the high part
- // and assugns the low part
- Counter64& operator=( const unsigned long int i);
- //------[ overloaded addition ]---------------------
- // add two Counter64s
- Counter64 operator+( const Counter64 &c);
- // add a unsigned long and a Counter64
- DLLOPT friend Counter64 operator+( unsigned long ul, const Counter64 &c64);
- //------[ overloaded subtraction ]------------------
- // subtract two Counter64s
- Counter64 operator-( const Counter64 &c);
- // subtract a unsigned long and a Counter64
- DLLOPT friend Counter64 operator-( unsigned long ul, const Counter64 &c64);
- //-------[ overloaded multiply ]---------------------
- // multiply two Counter64s
- Counter64 operator*( const Counter64 &c);
- // multiply a unsigned long and a Counter64
- DLLOPT friend Counter64 operator*( unsigned long ul, const Counter64 &c64);
- //-------[ overloaded division ]---------------------
- // divide two Counter64s
- Counter64 operator/( const Counter64 &c);
- // divide a unsigned long and a Counter64
- DLLOPT friend Counter64 operator/( unsigned long ul, const Counter64 &c64);
- //-------[ overloaded equivlence test ]--------------
- DLLOPT friend int operator==( Counter64 &lhs, Counter64 &rhs);
- //-------[ overloaded not equal test ]----------------
- DLLOPT friend int operator!=( Counter64 &lhs, Counter64 &rhs);
- //--------[ overloaded less than ]--------------------
- DLLOPT friend int operator<( Counter64 &lhs, Counter64 &rhs);
- //---------[ overloaded less than or equal ]----------
- DLLOPT friend int operator<=( Counter64 &lhs, Counter64 &rhs);
- //---------[ overloaded greater than ]----------------
- DLLOPT friend int operator>( Counter64 &lhs, Counter64 &rhs);
- //----------[ overloaded greater than or equal ]------
- DLLOPT friend int operator>=( Counter64 &lhs, Counter64 &rhs);
- // get a printable ASCII value
- char *get_printable();
- // create a new instance of this Value
- SnmpSyntax *clone() const;
- // copy an instance of this Value
- SnmpSyntax& operator=( SnmpSyntax &val);
- // general validity test, always true
- int valid() const;
- };
- #endif