mirror of
https://github.com/samba-team/samba.git
synced 2025-03-11 16:58:40 +03:00
Add static header for gencache.
This commit is contained in:
parent
bc0fab89e3
commit
58c25657bf
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,7 +1,6 @@
|
|||||||
source/pidl/Makefile
|
source/pidl/Makefile
|
||||||
source/mkconfig.mk
|
source/mkconfig.mk
|
||||||
source/test-results
|
source/test-results
|
||||||
source/lib/gencache/gencache.h
|
|
||||||
source/lib/ldb/bin
|
source/lib/ldb/bin
|
||||||
*.pc
|
*.pc
|
||||||
autom4te.cache
|
autom4te.cache
|
||||||
|
@ -18,15 +18,11 @@ include tdr/config.mk
|
|||||||
include dbwrap/config.mk
|
include dbwrap/config.mk
|
||||||
include crypto/config.mk
|
include crypto/config.mk
|
||||||
|
|
||||||
################################################
|
|
||||||
# Start SUBSYSTEM LIBCOMPRESSION
|
|
||||||
[SUBSYSTEM::LIBCOMPRESSION]
|
[SUBSYSTEM::LIBCOMPRESSION]
|
||||||
OBJ_FILES = compression/mszip.o
|
OBJ_FILES = compression/mszip.o
|
||||||
# End SUBSYSTEM LIBCOMPRESION
|
|
||||||
################################################
|
|
||||||
|
|
||||||
[SUBSYSTEM::GENCACHE]
|
[SUBSYSTEM::GENCACHE]
|
||||||
PRIVATE_PROTO_HEADER = gencache/gencache.h
|
PUBLIC_HEADERS = gencache/gencache.h
|
||||||
OBJ_FILES = gencache/gencache.o
|
OBJ_FILES = gencache/gencache.o
|
||||||
PRIVATE_DEPENDENCIES = TDB_WRAP
|
PRIVATE_DEPENDENCIES = TDB_WRAP
|
||||||
|
|
||||||
|
94
source/lib/gencache/gencache.h
Normal file
94
source/lib/gencache/gencache.h
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
#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__ */
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user