Exemplo n.º 1
0
int test_datastructure_rbtree_map(void)
{
	int ret = 0;
	rbtree_map_pos_t it,next,end;
	rbtree_map_t *map;
	allocator_t *allocator = allocator_get_default_alloc();
	pair_t *pair;
	struct rbtree_map_node *mnode;
	int key_len = 2;

	struct A t1 = {1,2};
	struct A t2 = {2,2};
	struct A t3 = {3,2};
	struct A t4 = {4,2};
	struct A t5 = {5,2};

	dbg_str(DBG_DETAIL,"rbtree allocator addr:%p",allocator);
	map = rbtree_map_create(allocator,0);

	rbtree_map_init(map,key_len,sizeof(struct A) + key_len,NULL); 

	dbg_str(DBG_DETAIL,"create_pair");
	pair = create_pair(key_len,sizeof(struct A));

	make_pair(pair,"44",&t4);
	rbtree_map_insert(map,pair->data);
	make_pair(pair,"33",&t3);
	rbtree_map_insert(map,pair->data);
	make_pair(pair,"22",&t2);
	rbtree_map_insert(map,pair->data);
	make_pair(pair,"11",&t1);
	rbtree_map_insert(map,pair->data);


	dbg_str(DBG_DETAIL,"foreach ordinal print");
	for(	rbtree_map_begin(map,&it),rbtree_map_pos_next(&it,&next); 
			!rbtree_map_pos_equal(&it,rbtree_map_end(map,&end));
			it = next,rbtree_map_pos_next(&it,&next))
	{
		mnode = rb_entry(it.rb_node_p,struct rbtree_map_node,node);
		dbg_buf(DBG_DETAIL,"key:",mnode->key,mnode->value_pos);
		print_A((struct A*)rbtree_map_pos_get_pointer(&it));
	}

	dbg_str(DBG_DETAIL,"search node key = 22");
	rbtree_map_search(map, (void *)"22",&it);
	print_A((struct A*)rbtree_map_pos_get_pointer(&it));

	/*
	 *dbg_str(DBG_DETAIL,"delte node key = 11");
	 *container_delete(map,&it);
	 */

	rbtree_map_destroy(map);
	allocator_destroy(allocator);
	dbg_str(DBG_DETAIL,"map addr =%p",map);

	return ret;
}
Exemplo n.º 2
0
void lab5()
{
	char *str = "a林能刚";

	dbg_str(DBG_DETAIL,"strlen =%d",strlen(str));
	dbg_str(DBG_DETAIL,"strlen =%s",str);

	dbg_buf(DBG_DETAIL,"buff:",str, strlen(str));

}
Exemplo n.º 3
0
static int process_task_callback(client_task_t *task)
{
	dbg_str(DBG_DETAIL,"process_task begin,client recv");
	/*
	 *user_t *user = task->client;
	 *void *opaque = user->opaque;
	 */
	dbg_buf(DBG_VIP,"task buffer:",task->buffer,task->buffer_len);
	dbg_str(DBG_DETAIL,"process_task end");
}
void print_info_list(proto_info_list_t *info_list)
{
    if(info_list == NULL)
        return;
    if(info_list->len_unit == 8) {
        if(info_list->len <= 4&&info_list->buf.data_p == NULL)
            /*
             *printk("name=%10s,byte_pos=%2d,bit_pos=%d,len=%2d,"
             *        "vlenth_flag=%d,vlenth_value_flag=%d,"
             *        "vlenth_value_assigned_flag=%d,value=0x%x,vl_index=%s\n",
             *        info_list->name, info_list->byte_pos,
             *        info_list->bit_pos, info_list->len,
             *        info_list->vlenth_flag, info_list->vlenth_value_flag,
             *        info_list->vlenth_value_assigned_flag, info_list->data,
             *        info_list->vlenth_index);
             */
            dbg_str(DBG_DETAIL,"%-10s->0x%x", info_list->name,info_list->data);
        else {
            /*
             *printk("name=%10s,byte_pos=%2d,bit_pos=%d,len=%2d,"
             *        "vlenth_flag=%d,vlenth_value_flag=%d,"
             *        "vlenth_value_assigned_flag=%d,vl_index=%s\n",
             *        info_list->name, info_list->byte_pos,
             *        info_list->bit_pos, info_list->len,
             *        info_list->vlenth_flag, info_list->vlenth_value_flag,
             *        info_list->vlenth_value_assigned_flag,
             *        info_list->vlenth_index);
             *if(info_list->buf.data_p != NULL)
             *    dbg_buf(DBG_DETAIL,"buf:",info_list->buf.data_p,info_list->len);
             */
            dbg_str(DBG_DETAIL,"%-10s", info_list->name);
            if(info_list->buf.data_p != NULL)
                dbg_buf(DBG_DETAIL,"buf:",info_list->buf.data_p,info_list->len);
        }

    } else {
        printk("name=%10s,byte_pos=%2d,bit_pos=%d,len=%2d,"
               "vlenth_flag=%d,vlenth_value_flag=%d,"
               "vlenth_value_assigned_flag=%d,value=0x%x,vl_index=%s\n",
               info_list->name, info_list->byte_pos,
               info_list->bit_pos, info_list->len,
               info_list->vlenth_flag, info_list->vlenth_value_flag,
               info_list->vlenth_value_assigned_flag,
               info_list->data, info_list->vlenth_index);
    }

}
Exemplo n.º 5
0
Arquivo: test.c Projeto: ifzz/libcdf
uint32_t test_key_cmp_func(void *key1,void *key2,uint32_t size)
{
	dbg_buf(DBG_CONTAINER_DETAIL,"cmp key1:",key1,size);
	dbg_buf(DBG_CONTAINER_DETAIL,"cmp key2:",key2,size);
	return memcmp(key1,key2,size);
}
Exemplo n.º 6
0
Arquivo: test.c Projeto: ifzz/libcdf
uint32_t test_hash_func(void *key,uint32_t key_size)
{
	uint16_t num = *(uint16_t *)key;
	dbg_buf(DBG_CONTAINER_DETAIL,"test hash func key:",key,key_size);
	return num % 10;
}
Exemplo n.º 7
0
void make_pair(pair_t *p,void *key,void *value)
{
	memcpy(p->data,key,p->key_len);
	memcpy(p->data + p->key_len,value,p->value_len);
	dbg_buf(DBG_CONTAINER_DETAIL,"make pair:",p->data,p->data_len);
}