AM263Px MCU+ SDK: simpledb.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Macros | Typedefs | Functions
simpledb.h File Reference

Go to the source code of this file.

## Data Structures
struct | simpledb_keydata_t
struct | key_range_t

## Macros
#define | MAX_NUM_DBLIST 20
#define | SIMPLEDB_FLAG_CREATE (1u<<0u)
| put data into the db. More...
#define | SIMPLEDB_FLAG_APPEND (1u<<1u)
#define | SIMPLEDB_FORWARD 1
| get key or value in the range More...
#define | SIMPLEDB_BACKWARD -1
#define | SIMPLEDB_NOMOVE 0

## Typedefs
typedef struct simpledb_data | simpledb_data_t
typedef struct simpledb_range | simpledb_range_t

## Functions
simpledb_data_t * | simpledb_open (const char *pfname)
| open the db. if pfname is set, the config(rw) data is restored from the file. More...
void | simpledb_close (simpledb_data_t *sdbd)
| close the db. if pfname is set at the open, the config(rw) data is saved. More...
int | simpledb_lock (simpledb_data_t *sdbd)
| lock / unlock the entire DB. More...
void | simpledb_unlock (simpledb_data_t *sdbd)
int | simpledb_savedata (simpledb_data_t *sdbd, key_range_t **keyranges)
| save data to a file More...
int | simpledb_put (simpledb_data_t *sdbd, simpledb_keydata_t *kd, void *value, uint32_t vlen, uint8_t flags)
int | simpledb_get (simpledb_data_t *sdbd, simpledb_keydata_t *kd, void **value, uint32_t *vlen)
| get data from the db More...
int | simpledb_get_release (simpledb_data_t *sdbd, simpledb_keydata_t *kd)
int | simpledb_del (simpledb_data_t *sdbd, simpledb_keydata_t *kd)
| delete the key item. need to be unlocked status. More...
simpledb_range_t * | simpledb_get_range (simpledb_data_t *sdbd, key_range_t *krange)
| get datarange pointer which the keys are between (key1, key2) More...
void | simpledb_get_range_release (simpledb_data_t *sdbd, simpledb_range_t *rangedp)
int | simpledb_get_from_range (simpledb_data_t *sdbd, simpledb_range_t *rangedp, void **kdata, uint32_t *ksize, void **vdata, uint32_t *vsize, int direction)
void | simpledb_move_top_range (simpledb_data_t *sdbd, simpledb_range_t *rangedp)
void | simpledb_move_bottom_range (simpledb_data_t *sdbd, simpledb_range_t *rangedp)
int | simpledb_move_in_range (simpledb_data_t *sdbd, simpledb_range_t *rangedp, int direction)
int | simpledb_del_in_range (simpledb_data_t *sdbd, simpledb_range_t *rangedp, int direction)
int | simpledb_wait_release (simpledb_data_t *sdbd, int toutms)

## Macro Definition Documentation

## ◆ MAX_NUM_DBLIST

#define MAX_NUM_DBLIST 20

## ◆ SIMPLEDB_FLAG_CREATE

#define SIMPLEDB_FLAG_CREATE (1u<<0u)

put data into the db.

Note
  if it has CREATE flag, a new item is added. if it has APPEND flag, data is added at the bottom when the key exist

## ◆ SIMPLEDB_FLAG_APPEND

#define SIMPLEDB_FLAG_APPEND (1u<<1u)

## ◆ SIMPLEDB_FORWARD

#define SIMPLEDB_FORWARD 1

get key or value in the range

Note
  directon set pointer move, 1:forward, 0:stay, -1:backward

## ◆ SIMPLEDB_BACKWARD

#define SIMPLEDB_BACKWARD -1

## ◆ SIMPLEDB_NOMOVE

#define SIMPLEDB_NOMOVE 0

## Typedef Documentation

## ◆ simpledb_data_t

typedef struct simpledb_data simpledb_data_t

## ◆ simpledb_range_t

typedef struct simpledb_range simpledb_range_t

## Function Documentation

## ◆ simpledb_open()

simpledb_data_t* simpledb_open | ( | const char * | pfname | ) |

open the db. if pfname is set, the config(rw) data is restored from the file.

## ◆ simpledb_close()

void simpledb_close | ( | simpledb_data_t * | sdbd | ) |

close the db. if pfname is set at the open, the config(rw) data is saved.

## ◆ simpledb_lock()

int simpledb_lock | ( | simpledb_data_t * | sdbd | ) |

lock / unlock the entire DB.

Note
  these calls must be paired in a short time. during locked time, keep sdbd->dbmutex locked

## ◆ simpledb_unlock()

void simpledb_unlock | ( | simpledb_data_t * | sdbd | ) |

## ◆ simpledb_savedata()

int simpledb_savedata | ( | simpledb_data_t * | sdbd,
|  | key_range_t ** | keyranges
| ) |  |

save data to a file

Note
  keyranges must be terminated by NULL

## ◆ simpledb_put()

int simpledb_put | ( | simpledb_data_t * | sdbd,
|  | simpledb_keydata_t * | kd,
|  | void * | value,
|  | uint32_t | vlen,
|  | uint8_t | flags
| ) |  |

## ◆ simpledb_get()

int simpledb_get | ( | simpledb_data_t * | sdbd,
|  | simpledb_keydata_t * | kd,
|  | void ** | value,
|  | uint32_t * | vlen
| ) |  |

get data from the db

Note
  untill simpledb_get_release is called, the item becomes readonly.

## ◆ simpledb_get_release()

int simpledb_get_release | ( | simpledb_data_t * | sdbd,
|  | simpledb_keydata_t * | kd
| ) |  |

## ◆ simpledb_del()

int simpledb_del | ( | simpledb_data_t * | sdbd,
|  | simpledb_keydata_t * | kd
| ) |  |

delete the key item. need to be unlocked status.

## ◆ simpledb_get_range()

simpledb_range_t* simpledb_get_range | ( | simpledb_data_t * | sdbd,
|  | key_range_t * | krange
| ) |  |

get datarange pointer which the keys are between (key1, key2)

Note
  untill 'simpledb_keylist_release' is called, all items in the range are locked and become readonly

## ◆ simpledb_get_range_release()

void simpledb_get_range_release | ( | simpledb_data_t * | sdbd,
|  | simpledb_range_t * | rangedp
| ) |  |

## ◆ simpledb_get_from_range()

int simpledb_get_from_range | ( | simpledb_data_t * | sdbd,
|  | simpledb_range_t * | rangedp,
|  | void ** | kdata,
|  | uint32_t * | ksize,
|  | void ** | vdata,
|  | uint32_t * | vsize,
|  | int | direction
| ) |  |

## ◆ simpledb_move_top_range()

void simpledb_move_top_range | ( | simpledb_data_t * | sdbd,
|  | simpledb_range_t * | rangedp
| ) |  |

## ◆ simpledb_move_bottom_range()

void simpledb_move_bottom_range | ( | simpledb_data_t * | sdbd,
|  | simpledb_range_t * | rangedp
| ) |  |

## ◆ simpledb_move_in_range()

int simpledb_move_in_range | ( | simpledb_data_t * | sdbd,
|  | simpledb_range_t * | rangedp,
|  | int | direction
| ) |  |

## ◆ simpledb_del_in_range()

int simpledb_del_in_range | ( | simpledb_data_t * | sdbd,
|  | simpledb_range_t * | rangedp,
|  | int | direction
| ) |  |

## ◆ simpledb_wait_release()

int simpledb_wait_release | ( | simpledb_data_t * | sdbd,
|  | int | toutms
| ) |  |