aboutsummaryrefslogtreecommitdiff
path: root/stdlib/bytes.h
blob: 62b266e72730f5db27b25735419eebf1aeb36432 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once

// An unsigned byte datatype

#include <stdbool.h>
#include <stdint.h>

#include "types.h"
#include "util.h"

#define Byte_t uint8_t
#define Byte(b) ((Byte_t)(b))

PUREFUNC Text_t Byte$as_text(const Byte_t *b, bool colorize, const TypeInfo_t *type);
Byte_t Byte$random(Byte_t min, Byte_t max);

extern const Byte_t Byte$min;
extern const Byte_t Byte$max;

extern const TypeInfo_t Byte$info;

typedef struct {
    Byte_t value;
    bool is_null:1;
} OptionalByte_t;

#define NULL_BYTE ((OptionalByte_t){.is_null=true})

// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0