chiark
/
gitweb
/
~ianmdlvl
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
test-example: Provide a fuzzer for the slip decoder
[secnet.git]
/
util.h
diff --git
a/util.h
b/util.h
index 816c05621571262924460c46ed3358819ecd051e..5866e5784481376e9c2897ecabdb16b5c1f9c818 100644
(file)
--- a/
util.h
+++ b/
util.h
@@
-29,6
+29,11
@@
extern void *buf_prepend(struct buffer_if *buf, int32_t amount);
extern void *buf_unappend(struct buffer_if *buf, int32_t amount);
extern void *buf_unprepend(struct buffer_if *buf, int32_t amount);
extern void *buf_unappend(struct buffer_if *buf, int32_t amount);
extern void *buf_unprepend(struct buffer_if *buf, int32_t amount);
+static inline int32_t buf_remaining_space(const struct buffer_if *buf)
+{
+ return (buf->base + buf->alloclen) - (buf->start + buf->size);
+}
+
extern void buffer_readonly_view(struct buffer_if *n, const void*, int32_t len);
extern void buffer_readonly_clone(struct buffer_if *n, const struct buffer_if*);
/* Caller must only use unappend, unprepend et al. on n.
extern void buffer_readonly_view(struct buffer_if *n, const void*, int32_t len);
extern void buffer_readonly_clone(struct buffer_if *n, const struct buffer_if*);
/* Caller must only use unappend, unprepend et al. on n.
@@
-51,4
+56,12
@@
extern void send_nak(const struct comm_addr *dest, uint32_t our_index,
extern int consttime_memeq(const void *s1, const void *s2, size_t n);
extern int consttime_memeq(const void *s1, const void *s2, size_t n);
+#define MINMAX(ae,be,op) ({ \
+ typeof((ae)) a=(ae); \
+ typeof((be)) b=(be); \
+ a op b ? a : b; \
+ })
+#define MAX(a,b) MINMAX((a),(b),>)
+#define MIN(a,b) MINMAX((a),(b),<)
+
#endif /* util_h */
#endif /* util_h */