]> git.saurik.com Git - redis.git/blob - src/intset.h
Marginally more robust glibc version test for sync_file_range detection.
[redis.git] / src / intset.h
1 #ifndef __INTSET_H
2 #define __INTSET_H
3 #include <stdint.h>
4
5 typedef struct intset {
6 uint32_t encoding;
7 uint32_t length;
8 int8_t contents[];
9 } intset;
10
11 intset *intsetNew(void);
12 intset *intsetAdd(intset *is, int64_t value, uint8_t *success);
13 intset *intsetRemove(intset *is, int64_t value, int *success);
14 uint8_t intsetFind(intset *is, int64_t value);
15 int64_t intsetRandom(intset *is);
16 uint8_t intsetGet(intset *is, uint32_t pos, int64_t *value);
17 uint32_t intsetLen(intset *is);
18 size_t intsetBlobLen(intset *is);
19
20 #endif // __INTSET_H