diff options
Diffstat (limited to 'src/listpack.h')
-rw-r--r-- | src/listpack.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/listpack.h b/src/listpack.h index 57bd4ecf3..535513ac2 100644 --- a/src/listpack.h +++ b/src/listpack.h @@ -57,6 +57,8 @@ typedef struct { unsigned char *lpNew(size_t capacity); void lpFree(unsigned char *lp); unsigned char* lpShrinkToFit(unsigned char *lp); +unsigned char *lpInsertString(unsigned char *lp, unsigned char *s, uint32_t slen, + unsigned char *p, int where, unsigned char **newp); unsigned char *lpPrepend(unsigned char *lp, unsigned char *s, uint32_t slen); unsigned char *lpPrependInteger(unsigned char *lp, long long lval); unsigned char *lpAppend(unsigned char *lp, unsigned char *s, uint32_t slen); @@ -64,6 +66,8 @@ unsigned char *lpAppendInteger(unsigned char *lp, long long lval); unsigned char *lpReplace(unsigned char *lp, unsigned char **p, unsigned char *s, uint32_t slen); unsigned char *lpReplaceInteger(unsigned char *lp, unsigned char **p, long long lval); unsigned char *lpDelete(unsigned char *lp, unsigned char *p, unsigned char **newp); +unsigned char *lpDeleteRangeWithEntry(unsigned char *lp, unsigned char **p, unsigned long num); +unsigned char *lpDeleteRange(unsigned char *lp, long index, unsigned long num); unsigned long lpLength(unsigned char *lp); unsigned char *lpGet(unsigned char *p, int64_t *count, unsigned char *intbuf); unsigned char *lpGetValue(unsigned char *p, unsigned int *slen, long long *lval); @@ -74,7 +78,7 @@ unsigned char *lpNext(unsigned char *lp, unsigned char *p); unsigned char *lpPrev(unsigned char *lp, unsigned char *p); size_t lpBytes(unsigned char *lp); unsigned char *lpSeek(unsigned char *lp, long index); -typedef int (*listpackValidateEntryCB)(unsigned char *p, void *userdata); +typedef int (*listpackValidateEntryCB)(unsigned char *p, unsigned int head_count, void *userdata); int lpValidateIntegrity(unsigned char *lp, size_t size, int deep, listpackValidateEntryCB entry_cb, void *cb_userdata); unsigned char *lpValidateFirst(unsigned char *lp); |