agutil_api.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:4k
- /**************************************************************
- * Copyright (C) 2001 Alex Rozin, Optical Access
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation.
- *
- * ALEX ROZIN DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * ALEX ROZIN BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- ******************************************************************/
- #ifndef _agutil_api_h_included__
- #define _agutil_api_h_included__
- #include <string.h>
- #if 0 /* for debug */
- #warning MEMORY DEBUG VERSION
- void *dbg_f_AGMALLOC(size_t size);
- void dbg_f_AGFREE(void *ptr);
- char *dbg_f_AGSTRDUP(const char *s);
- void dbg_f_AG_MEM_REPORT(void);
- # define AGMALLOC(X) dbg_f_AGMALLOC(X)
- # define AGFREE(X) { dbg_f_AGFREE(X); X = NULL; }
- # define AGSTRDUP(X) dbg_f_AGSTRDUP(X)
- #else
- # define AGMALLOC(X) malloc(X)
- # define AGFREE(X) { free(X); X = NULL; }
- # define AGSTRDUP(X) strdup(X)
- #endif
- typedef struct {
- size_t length;
- oid objid[MAX_OID_LEN];
- } VAR_OID_T;
- void ag_trace(const char *format, ...);
- int AGUTIL_advance_index_name(struct variable *vp, oid * name,
- size_t * length, int exact);
- int AGUTIL_get_int_value(u_char * var_val, u_char var_val_type,
- size_t var_val_len, long min_value,
- long max_value, long *long_tmp);
- int AGUTIL_get_string_value(u_char * var_val,
- u_char var_val_type,
- size_t var_val_len,
- size_t buffer_max_size,
- u_char should_zero_limited,
- size_t * buffer_actual_size,
- char *buffer);
- int AGUTIL_get_oid_value(u_char * var_val, u_char var_val_type,
- size_t var_val_len,
- VAR_OID_T * data_source_ptr);
- u_long AGUTIL_sys_up_time(void);
- #if OPTICALL_ACESS
- #define ETH_STATS_T UID_PORT_STATISTICS_T
- #else
- typedef struct {
- u_int ifIndex;
- u_long octets;
- u_long packets;
- u_long bcast_pkts;
- u_long mcast_pkts;
- u_long crc_align;
- u_long undersize;
- u_long oversize;
- u_long fragments;
- u_long jabbers;
- u_long collisions;
- u_long pkts_64;
- u_long pkts_65_127;
- u_long pkts_128_255;
- u_long pkts_256_511;
- u_long pkts_512_1023;
- u_long pkts_1024_1518;
- } ETH_STATS_T;
- #endif
- void SYSTEM_get_eth_statistics(VAR_OID_T * data_source,
- ETH_STATS_T * where);
- #endif /* _agutil_api_h_included__ */