mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-16 21:28:33 +03:00
As reported in https://osmocom.org/issues/4335, there appear to be some cards / use cases in which the 512 byte sized ringbuffer is insufficient. As we do have free RAM available, we can easily increase the buffer size, despite not entirely knowing yet why it needs to be *that* large. Change-Id: Ie713d614ec5b334e9058d5d430e4bb660f5b8b69 Closes: OS#4335
40 lines
1.3 KiB
C
40 lines
1.3 KiB
C
/* Ring buffer
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
|
|
*/
|
|
#ifndef SIMTRACE_RINGBUF_H
|
|
#define SIMTRACE_RINGBUF_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <sys/types.h>
|
|
|
|
#define RING_BUFLEN 1024
|
|
|
|
typedef struct ringbuf {
|
|
uint8_t buf[RING_BUFLEN];
|
|
size_t ird;
|
|
size_t iwr;
|
|
} ringbuf;
|
|
|
|
void rbuf_reset(volatile ringbuf * rb);
|
|
uint8_t rbuf_read(volatile ringbuf * rb);
|
|
uint8_t rbuf_peek(volatile ringbuf * rb);
|
|
int rbuf_write(volatile ringbuf * rb, uint8_t item);
|
|
bool rbuf_is_empty(volatile ringbuf * rb);
|
|
bool rbuf_is_full(volatile ringbuf * rb);
|
|
|
|
#endif /* end of include guard: SIMTRACE_RINGBUF_H */
|