You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
568 B
22 lines
568 B
5 years ago
|
#ifndef LIGHTNING_COMMON_BIGSIZE_H
|
||
|
#define LIGHTNING_COMMON_BIGSIZE_H
|
||
|
#include "config.h"
|
||
|
#include <ccan/short_types/short_types.h>
|
||
|
#include <stddef.h>
|
||
|
|
||
|
/* typedef for clarity. */
|
||
|
typedef u64 bigsize_t;
|
||
|
|
||
|
#define BIGSIZE_MAX_LEN 9
|
||
|
|
||
|
/* Returns length of buf used. */
|
||
|
size_t bigsize_put(u8 buf[BIGSIZE_MAX_LEN], bigsize_t v);
|
||
|
|
||
|
/* Returns 0 on failure, otherwise length (<= max) used. */
|
||
|
size_t bigsize_get(const u8 *p, size_t max, bigsize_t *val);
|
||
|
|
||
|
/* How many bytes does it take to encode v? */
|
||
|
size_t bigsize_len(bigsize_t v);
|
||
|
|
||
|
#endif /* LIGHTNING_COMMON_BIGSIZE_H */
|