Files
BPI-CM9-Linux/aml-comp/kernel/aml-6.12/common_drivers/drivers/audiobridge/ringbuffer.h
T

27 lines
783 B
C
Raw Normal View History

2026-08-13 11:28:40 +08:00
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2023 Amlogic, Inc. All rights reserved.
*/
#ifndef _USER_RING_BUFFER_H
#define _USER_RING_BUFFER_H
struct ring_buffer {
void *buffer;
u32 size;
u32 in;
u32 out;
u8 go_empty;
};
struct ring_buffer *ring_buffer_init(u32 size);
int ring_buffer_release(struct ring_buffer *ring_buf);
u32 ring_buffer_len(const struct ring_buffer *ring_buf);
u32 ring_buffer_used_len(const struct ring_buffer *ring_buf);
u32 ring_buffer_free_len(const struct ring_buffer *ring_buf);
u32 no_thread_safe_ring_buffer_get(struct ring_buffer *ring_buf, void *buffer, u32 size);
u32 no_thread_safe_ring_buffer_put(struct ring_buffer *ring_buf, void *buffer, u32 size);
u32 ring_buffer_go_empty(struct ring_buffer *ring_buf);
#endif