18 lines
532 B
C
18 lines
532 B
C
#pragma once
|
|
#include <stddef.h>
|
|
#include <inttypes.h>
|
|
|
|
typedef struct {
|
|
int fd_data;
|
|
int fd_meta;
|
|
} yodqueue_t;
|
|
|
|
yodqueue_t yodqueue_init(void);
|
|
int yodqueue_open(yodqueue_t *yq, const char *fname, int oflag);
|
|
int yodqueue_openat(yodqueue_t *yq, int pfd, const char *fname, int oflag);
|
|
int yodqueue_fini(yodqueue_t *yq);
|
|
int yodqueue_append(yodqueue_t *yq, const void *data, size_t datalen);
|
|
uint32_t yodqueue_translate_pos(yodqueue_t *yq, uint32_t id);
|
|
int yodqueue_rlock(yodqueue_t *yq);
|
|
int yodqueue_unlock(yodqueue_t *yq);
|