#include "sr_kv.h"

#define SR_KEY_MAX_LEN     64   /*!<KEY字符串最大长度(含\0) */
#define SR_VALUE_MAX_LEN   255  /*!<VALUE最大长度(不含\0) */



int BspDbInit(void)
{
	int ret=-1;
	//int == 0 正常 != 0失败 
	ret =  luat_fskv_init();

	return (ret==0)?SR_OK:SR_FAIL;

}


int BspDbDeinit(void)
{
    //合宙平台没有
	return SR_OK;

}


int BspDbSetBlob(const char *key,uint8_t *value,uint32_t valueLen)
{
	int ret=-1;
	if(!key) return SR_INVALID;
	if(valueLen > SR_VALUE_MAX_LEN) return SR_NOMEM;

	//实际写入的长度 
	ret =luat_fskv_set(key, value, valueLen);

	
	return (ret>0)? ret:SR_FAIL;
}

int BspDbGetBlob(const char *key,uint8_t *value,uint32_t valueLen)
{	
	int ret=-1;
	
	if(!key) return SR_INVALID;
	
	//int > 0 实际读取的长度, <=0 失败 
	ret =  luat_fskv_get(key,value,valueLen);
	
	return (ret>0)? ret:SR_FAIL;	
}

int BspDbDelBlob(const char *key)
{	
	int ret=-1;
	
	if(!key) return SR_INVALID;
	
	//int == 0 正常 != 0失败 
	ret =  luat_fskv_del(key);
		
	return (ret==0)? SR_OK:SR_FAIL;	
}

int BspDbClear(void)
{	
	int ret=-1;

	//int == 0 正常 != 0失败 
	ret = luat_fskv_clear();

	return (ret==0)? SR_OK:SR_FAIL;	
}

