1/*
2 *  printByteBuffer.h
3 *  byteutils
4 *
5 */
6
7#include <stdint.h>
8#include <stdlib.h>
9#include <stdio.h>
10#include <string.h>
11
12#ifndef _BYTEBUFFER_H_
13#define _BYTEBUFFER_H_
14
15typedef struct byte_buf {
16    size_t  len;
17    uint8_t  *bytes;
18} byteBufferStruct, *byteBuffer;
19
20void printByteBuffer(byteBuffer bb, char *name);
21
22void printBytes(uint8_t *buff, size_t len, char *name);
23
24byteBuffer
25mallocByteBuffer(size_t len);
26
27byteBuffer
28hexStringToBytes(const char *inhex);
29
30byteBuffer
31hexStringToBytesWithSpaces(char *inhex, int breaks);
32
33static inline byteBuffer
34hexStringToBytesIfNotNULL(char *inhex) {
35    if(inhex) return hexStringToBytes(inhex);
36    return NULL;
37}
38
39char
40*bytesToHexStringWithSpaces(byteBuffer bb, int breaks);
41
42byteBuffer
43bytesToBytes(void *bytes, size_t len);
44
45int
46bytesAreEqual(byteBuffer b1, byteBuffer b2);
47
48char
49*bytesToHexString(byteBuffer bytes);
50
51byteBuffer
52genRandomByteBuffer(size_t minSize, size_t maxSize);
53
54size_t
55genRandomSize(size_t minSize, size_t maxSize);
56
57#endif /* _BYTEBUFFER_H_ */
58