diff options
| author | Richard Nyberg <rnyberg@murmeldjur.se> | 2006-09-12 08:55:53 +0000 |
|---|---|---|
| committer | Richard Nyberg <rnyberg@murmeldjur.se> | 2006-09-12 08:55:53 +0000 |
| commit | a27913a47d81b61ca176d927cd5d43e64c11def9 (patch) | |
| tree | daa26e6403546def7278da11aa8f4cf2eaa26b5b /misc/subr.h | |
| parent | 203d4148e404e0ddc6babbe25646420359dd4b11 (diff) | |
| download | btpd-a27913a47d81b61ca176d927cd5d43e64c11def9.tar.gz btpd-a27913a47d81b61ca176d927cd5d43e64c11def9.zip | |
Add functions for conversions between binary data and ascii hex.
Add function for reading a whole file. Enable printf format checking for some functions.
Diffstat (limited to 'misc/subr.h')
| -rw-r--r-- | misc/subr.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/misc/subr.h b/misc/subr.h index 9260ed9..bf30433 100644 --- a/misc/subr.h +++ b/misc/subr.h @@ -5,14 +5,18 @@ #include <stdarg.h> #define min(x, y) ((x) <= (y) ? (x) : (y)) +#define SHAHEXSIZE 41 int set_nonblocking(int fd); int set_blocking(int fd); int mkdirs(char *path); +__attribute__((format (printf, 3, 0))) int vaopen(int *resfd, int flags, const char *fmt, va_list ap); +__attribute__((format (printf, 3, 4))) int vopen(int *resfd, int flags, const char *fmt, ...); +__attribute__((format (printf, 3, 4))) int vfopen(FILE **ret, const char *mode, const char *fmt, ...); int vfsync(const char *fmt, ...); @@ -20,10 +24,17 @@ void set_bit(uint8_t *bits, unsigned long index); int has_bit(const uint8_t *bits, unsigned long index); void clear_bit(uint8_t *bits, unsigned long index); +char *bin2hex(const uint8_t *bin, char *hex, size_t bsize); +uint8_t *hex2bin(const char *hex, uint8_t *bin, size_t bsize); +uint8_t hex2i(char c); +int ishex(char *str); + long rand_between(long min, long max); int read_fully(int fd, void *buf, size_t len); int write_fully(int fd, const void *buf, size_t len); +__attribute__((format (printf, 3, 4))) +int read_whole_file(void **out, size_t *size, const char *fmt, ...); char *find_btpd_dir(void); |