📄 gencache.h
字号:
#ifndef __LIB_GENCACHE_GENCACHE_H__#define __LIB_GENCACHE_GENCACHE_H__/** * Cache initialisation function. Opens cache tdb file or creates * it if does not exist. * * @return true on successful initialisation of the cache or * false on failure **/bool gencache_init(struct loadparm_context *lp_ctx);/** * Cache shutdown function. Closes opened cache tdb file. * * @return true on successful closing the cache or * false on failure during cache shutdown **/bool gencache_shutdown(void);/** * Set an entry in the cache file. If there's no such * one, then add it. * * @param keystr string that represents a key of this entry * @param value text representation value being cached * @param timeout time when the value is expired * * @retval true when entry is successfuly stored * @retval false on failure **/bool gencache_set(const char *keystr, const char *value, time_t timeout);/** * Set existing entry to the cache file. * * @param keystr string that represents a key of this entry * @param valstr text representation value being cached * @param timeout time when the value is expired * * @retval true when entry is successfuly set * @retval false on failure **/bool gencache_set_only(const char *keystr, const char *valstr, time_t timeout);/** * Delete one entry from the cache file. * * @param keystr string that represents a key of this entry * * @retval true upon successful deletion * @retval false in case of failure **/bool gencache_del(const char *keystr);/** * Get existing entry from the cache file. * * @param keystr string that represents a key of this entry * @param valstr buffer that is allocated and filled with the entry value * buffer's disposing must be done outside * @param timeout pointer to a time_t that is filled with entry's * timeout * * @retval true when entry is successfuly fetched * @retval false for failure **/bool gencache_get(const char *keystr, char **valstr, time_t *timeout);/** * Iterate through all entries which key matches to specified pattern * * @param fn pointer to the function that will be supplied with each single * matching cache entry (key, value and timeout) as an arguments * @param data void pointer to an arbitrary data that is passed directly to the fn * function on each call * @param keystr_pattern pattern the existing entries' keys are matched to * **/void gencache_iterate(void (*fn)(const char* key, const char *value, time_t timeout, void* dptr), void* data, const char* keystr_pattern);/******************************************************************** lock a key********************************************************************/int gencache_lock_entry( const char *key );/******************************************************************** unlock a key********************************************************************/void gencache_unlock_entry( const char *key );#endif /* __LIB_GENCACHE_GENCACHE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -