1 /******************************************************************************/
2 /* Key Value block in RAM */
7 #include <keyval_mem_store.h>
9 int kvpb_mem_erase(kvpb_block_t *store, void *base,int size)
11 memset(base,0xff,size);
15 int kvpb_mem_copy(kvpb_block_t *store, void *dst,const void *src,int len)
21 #ifndef KVPB_MINIMALIZED
22 kvpb_block_t *kvpb_store_create_ram(int size)
30 store = malloc(sizeof(*store));
34 memset(store, 0, sizeof(*store));
36 store->base = malloc(size*2);
37 if(store->base == NULL)
41 store->flags = KVPB_DESC_DOUBLE;
42 #ifndef KVPB_MINIMALIZED
43 store->erase = kvpb_mem_erase,
44 store->copy = kvpb_mem_copy;
45 #endif /* KVPB_MINIMALIZED */
47 kvpb_block_erase(store, store->base,store->size);
48 if(store->flags & KVPB_DESC_DOUBLE)
49 kvpb_block_erase(store, (uint8_t*)store->base+store->size,store->size);
51 res=kvpb_check(store,3);
63 #endif /* KVPB_MINIMALIZED */