mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
parent
7c96ca88c4
commit
a53beee034
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,7 +1,6 @@
|
||||
source/pidl/Makefile
|
||||
source/mkconfig.mk
|
||||
source/test-results
|
||||
source/lib/gencache/gencache.h
|
||||
source/lib/ldb/bin
|
||||
*.pc
|
||||
autom4te.cache
|
||||
|
@ -18,15 +18,11 @@ include tdr/config.mk
|
||||
include dbwrap/config.mk
|
||||
include crypto/config.mk
|
||||
|
||||
################################################
|
||||
# Start SUBSYSTEM LIBCOMPRESSION
|
||||
[SUBSYSTEM::LIBCOMPRESSION]
|
||||
OBJ_FILES = compression/mszip.o
|
||||
# End SUBSYSTEM LIBCOMPRESION
|
||||
################################################
|
||||
|
||||
[SUBSYSTEM::GENCACHE]
|
||||
PRIVATE_PROTO_HEADER = gencache/gencache.h
|
||||
PUBLIC_HEADERS = gencache/gencache.h
|
||||
OBJ_FILES = gencache/gencache.o
|
||||
PRIVATE_DEPENDENCIES = TDB_WRAP
|
||||
|
||||
|
94
source4/lib/gencache/gencache.h
Normal file
94
source4/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…
Reference in New Issue
Block a user