store.c

来自「蓝牙SPP软件源代码」· C语言 代码 · 共 41 行

C
41
字号
/* 
   Persistent store logic shared between spp_master and spp_slave
*/

#include "store.h"
#include "config.h"

#include <panic.h>
#include <ps.h>

BD_ADDR_T far_addr;

/* Manipulate far_addr, keeping it in step with the copy in Persistent Store */

void write_far_addr(void)
{ (void) PanicZero(PsStore(PSKEY_FAR_ADDR, &far_addr, sizeof(far_addr))); }

void clear_far_addr(void)
{
    memset(&far_addr, 0, sizeof(far_addr));
    (void) PsStore(PSKEY_FAR_ADDR, 0, 0);
}

void read_far_addr(void)
{
    if(PsRetrieve(PSKEY_FAR_ADDR, &far_addr, sizeof(far_addr)) != sizeof(far_addr))
        clear_far_addr();
}

uint16 know_far_addr(void)
{ return far_addr.lap || far_addr.nap || far_addr.uap; }

uint16 read_link_key(uint8 key[SIZE_LINK_KEY])
{ return PsRetrieve(PSKEY_LINK_KEY, key, SIZE_LINK_KEY) == SIZE_LINK_KEY; }

void write_link_key(const uint8 key[SIZE_LINK_KEY])
{ (void) PanicZero(PsStore(PSKEY_LINK_KEY, key, SIZE_LINK_KEY)); }

void clear_link_key(void)
{ (void) PsStore(PSKEY_LINK_KEY, 0, 0); }

⌨️ 快捷键说明

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