~ruther/stm32h747i-disco-usb-image-viewer

ref: cb4fa519d2c542d36e961a7982e079cc5e6eb00b stm32h747i-disco-usb-image-viewer/include/queue.h -rw-r--r-- 522 bytes
cb4fa519 — Rutherther fix: ensure register access are inline 4 months ago
                                                                                
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
#include <stdint.h>
#include <stdbool.h>

#ifndef QUEUE_H
#define QUEUE_H

typedef struct {
  uint16_t curr_read_ptr;
  uint16_t curr_write_ptr;

  uint16_t element_size;

  uint16_t length;
  uint16_t space;

  uint8_t elements[0];
} queue_t;

queue_t* queue_malloc(uint16_t element_size, uint16_t length);
void queue_init(queue_t* queue, uint16_t element_size, uint16_t length);
bool queue_enqueue(queue_t* queue, void* element);
void* queue_dequeue(queue_t* queue);
void* queue_peek(queue_t* queue);

#endif // QUEUE_H
Do not follow this link