Skip to content

ReclaimSoftware/RSVarint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Variable-length integer codecs

Build Status

All the writing functions increment the offset by the size of the encoded varint.

void RSVarintWrite(uint32_t n, uint8_t *data, uint32_t *offset);
void RSVarintWrite64(uint64_t n, uint8_t *data, uint32_t *offset);
void RSVarintSignedWrite(int32_t value, uint8_t *data, uint32_t *offset);
void RSVarintSignedWrite64(int64_t value, uint8_t *data, uint32_t *offset);

uint32_t RSVarintRead(uint8_t *data, uint32_t *offset);
uint64_t RSVarintRead64(uint8_t *data, uint32_t *offset);
int32_t RSVarintSignedRead(uint8_t *data, uint32_t *offset);
int64_t RSVarintSignedRead64(uint8_t *data, uint32_t *offset);

int RSVarintFread64(FILE *file, uint64_t *value);
int RSVarintSignedFread64(FILE *file, int64_t *value);
uint64_t RSVarintBitcoinRead64(uint8_t *data, uint32_t *offset);

About

Variable-length integer encodings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published