00001 #ifndef INT64_INCLUDED 00002 #define INT64_INCLUDED 00003 00004 #ifdef __cplusplus 00005 extern "C" { 00006 #endif 00007 00008 typedef struct counter64 U64; 00009 00010 #define I64CHARSZ 21 00011 00012 void divBy10(U64, U64 *, unsigned int *); 00013 void multBy10(U64, U64 *); 00014 void incrByU16(U64 *, unsigned int); 00015 void incrByU32(U64 *, unsigned int); 00016 void zeroU64(U64 *); 00017 int isZeroU64(const U64 *); 00018 void printU64(char *, const U64 *); 00019 void printI64(char *, const U64 *); 00020 int read64(U64 *, const char *); 00021 void u64Subtract(const U64 * pu64one, const U64 * pu64two, 00022 U64 * pu64out); 00023 void u64Incr(U64 * pu64out, const U64 * pu64one); 00024 void u64UpdateCounter(U64 * pu64out, const U64 * pu64one, 00025 const U64 * pu64two); 00026 void u64Copy(U64 * pu64one, const U64 * pu64two); 00027 00028 int netsnmp_c64_check_for_32bit_wrap(U64 *old_val, U64 *new_val, 00029 int adjust); 00030 int netsnmp_c64_check32_and_update(struct counter64 *prev_val, 00031 struct counter64 *new_val, 00032 struct counter64 *old_prev_val, 00033 int *need_wrap_check); 00034 00035 #ifdef __cplusplus 00036 } 00037 #endif 00038 #endif