⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_binary_array.c

📁 snmp up 2
💻 C
字号:
#include <net-snmp/net-snmp-config.h>#if HAVE_IO_H#include <io.h>#endif#include <stdio.h>#if HAVE_STDLIB_H#include <stdlib.h>#endif#if HAVE_MALLOC_H#include <malloc.h>#endif#include <sys/types.h>#if HAVE_STRING_H#include <string.h>#else#include <strings.h>#endif#include <net-snmp/net-snmp-includes.h>#include <net-snmp/types.h>#include <net-snmp/library/snmp_api.h>#include <net-snmp/library/container.h>#include <net-snmp/library/container_binary_array.h>#include <net-snmp/library/tools.h>#include <net-snmp/library/snmp_assert.h>voidprint_obj(netsnmp_index *i, void *v){    printf("item %p = %ld\n", i, i->oids[0]);}#define TEST_SIZE 7intmain(int argc, char**argv){    oid o1 = 1;    oid o2 = 2;    oid o3 = 6;    oid o4 = 8;    oid o5 = 9;    oid ox = 7;    oid oy = 10;    netsnmp_index i1,i2,i3,i4,i5,ix,iy, *ip;    netsnmp_index *a[TEST_SIZE] = { &i1, &i2, &i3, &ix, &i4, &i5, &iy };    netsnmp_container *c = netsnmp_container_get_binary_array();    int i;    c->compare = netsnmp_compare_netsnmp_index;        i1.oids = &o1;    i2.oids = &o2;    i3.oids = &o3;    i4.oids = &o4;    i5.oids = &o5;    ix.oids = &ox;    iy.oids = &oy;    i1.len = i2.len = i3.len = i4.len = i5.len = ix.len = iy.len = 1;    printf("Creating container...\n");    printf("Inserting data...\n");    CONTAINER_INSERT(c,&i4);    CONTAINER_INSERT(c,&i2);    CONTAINER_INSERT(c,&i3);    CONTAINER_INSERT(c,&i1);    CONTAINER_INSERT(c,&i5);    printf("For each...\n");    CONTAINER_FOR_EACH(c, print_obj, NULL);    printf("Done.\n");    ip = CONTAINER_FIRST(c);    printf("Find first = %p %ld\n",ip, ip->oids[0]);    while( ip ) {        ip = CONTAINER_NEXT(c,ip);        if(ip)            printf("Find next = %p %ld\n",ip, ip->oids[0]);    }    for( i=0; i < TEST_SIZE; ++i) {        ip = CONTAINER_FIND(c,a[i]);        printf("Find %ld = %p %ld\n", a[i]->oids[0], ip, ip ? ip->oids[0] : 0);        ip = CONTAINER_NEXT(c,a[i]);        printf("Next %ld = %p %ld\n", a[i]->oids[0], ip, ip ? ip->oids[0] : 0);    }    printf("Done.\n");    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -