diff options
| author | Author Name <[email protected]> | 2023-07-07 12:20:59 +0930 |
|---|---|---|
| committer | David Rowe <[email protected]> | 2023-07-07 12:29:06 +0930 |
| commit | ac7c48b4dee99d4c772f133d70d8d1b38262fcd2 (patch) | |
| tree | a2d0ace57a9c0e2e5b611c4987f6fed1b38b81e7 /src/codec2_fifo.h | |
shallow zip-file copy from codec2 e9d726bf20
Diffstat (limited to 'src/codec2_fifo.h')
| -rw-r--r-- | src/codec2_fifo.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/codec2_fifo.h b/src/codec2_fifo.h new file mode 100644 index 0000000..57e3b96 --- /dev/null +++ b/src/codec2_fifo.h @@ -0,0 +1,57 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2_fifo.h + AUTHOR......: David Rowe + DATE CREATED: Oct 15 2012 + + A FIFO design useful in gluing the FDMDV modem and codec together in + integrated applications. + + The name codec2_fifo.h is used to make it unique when "make + installed". + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. 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 Lesser General Public License + along with this program; if not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __FIFO__ +#define __FIFO__ + +#ifdef __cplusplus +extern "C" { +#endif + +struct FIFO; + +struct FIFO *codec2_fifo_create(int nshort); +struct FIFO *codec2_fifo_create_buf(int nshort, short* buf); +void codec2_fifo_destroy(struct FIFO *fifo); +int codec2_fifo_write(struct FIFO *fifo, short data[], int n); +int codec2_fifo_read(struct FIFO *fifo, short data[], int n); + +/* Return the number of bytes stored in the FIFO */ +int codec2_fifo_used(const struct FIFO * const fifo); + +/* Return the space available in the FIFO */ +int codec2_fifo_free(const struct FIFO * const fifo); + +#ifdef __cplusplus +} +#endif + +#endif |
