]> git.saurik.com Git - redis.git/blobdiff - ziplist.h
change delete function to accept a direction argument, so "p" can be properly updated
[redis.git] / ziplist.h
index 4b2d1c937314b85fa1e4ca2352b771a719bb5782..08035dd5e317f931b5025808212869e30e1273f2 100644 (file)
--- a/ziplist.h
+++ b/ziplist.h
@@ -2,11 +2,15 @@
 #define ZIPLIST_TAIL 1
 
 unsigned char *ziplistNew(void);
 #define ZIPLIST_TAIL 1
 
 unsigned char *ziplistNew(void);
-unsigned char *ziplistPush(unsigned char *zl, unsigned char *entry, unsigned int elen, int where);
+unsigned char *ziplistPush(unsigned char *zl, char *s, unsigned int slen, int where);
 unsigned char *ziplistPop(unsigned char *zl, sds *target, int where);
 unsigned char *ziplistPop(unsigned char *zl, sds *target, int where);
-unsigned char *ziplistIndex(unsigned char *zl, unsigned int index);
+unsigned char *ziplistIndex(unsigned char *zl, int index);
 unsigned char *ziplistNext(unsigned char *p);
 unsigned char *ziplistNext(unsigned char *p);
-unsigned int ziplistGet(unsigned char *p, unsigned char **e, unsigned int *elen, long long *v);
-unsigned char *ziplistDelete(unsigned char *zl, unsigned char **p);
+unsigned char *ziplistPrev(unsigned char *p);
+unsigned int ziplistGet(unsigned char *p, char **sstr, unsigned int *slen, long long *sval);
+unsigned char *ziplistInsert(unsigned char *zl, unsigned char *p, char *s, unsigned int slen);
+unsigned char *ziplistDelete(unsigned char *zl, unsigned char **p, int direction);
 unsigned char *ziplistDeleteRange(unsigned char *zl, unsigned int index, unsigned int num);
 unsigned char *ziplistDeleteRange(unsigned char *zl, unsigned int index, unsigned int num);
-unsigned int ziplistCompare(unsigned char *p, unsigned char *entry, unsigned int elen);
\ No newline at end of file
+unsigned int ziplistCompare(unsigned char *p, char *entry, unsigned int elen);
+unsigned int ziplistLen(unsigned char *zl);
+unsigned int ziplistSize(unsigned char *zl);