MPD
Main Page
Data Structures
Files
File List
Globals
src
fifo_buffer.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2003-2011 The Music Player Daemon Project
3
* http://www.musicpd.org
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* - Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the
15
* distribution.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
20
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
21
* FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
22
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28
* OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
41
#ifndef MPD_FIFO_BUFFER_H
42
#define MPD_FIFO_BUFFER_H
43
44
#include <stdbool.h>
45
#include <stddef.h>
46
47
struct
fifo_buffer;
48
56
struct
fifo_buffer *
57
fifo_buffer_new
(
size_t
size);
58
68
struct
fifo_buffer *
69
fifo_buffer_realloc
(
struct
fifo_buffer *buffer,
size_t
new_size);
70
74
void
75
fifo_buffer_free
(
struct
fifo_buffer *buffer);
76
81
size_t
82
fifo_buffer_capacity
(
const
struct
fifo_buffer *buffer);
83
87
size_t
88
fifo_buffer_available
(
const
struct
fifo_buffer *buffer);
89
95
void
96
fifo_buffer_clear
(
struct
fifo_buffer *buffer);
97
107
const
void
*
108
fifo_buffer_read
(
const
struct
fifo_buffer *buffer,
size_t
*length_r);
109
116
void
117
fifo_buffer_consume
(
struct
fifo_buffer *buffer,
size_t
length);
118
129
void
*
130
fifo_buffer_write
(
struct
fifo_buffer *buffer,
size_t
*max_length_r);
131
138
void
139
fifo_buffer_append
(
struct
fifo_buffer *buffer,
size_t
length);
140
144
bool
145
fifo_buffer_is_empty
(
struct
fifo_buffer *buffer);
146
150
bool
151
fifo_buffer_is_full
(
struct
fifo_buffer *buffer);
152
153
#endif
Generated on Sun Aug 12 2012 21:58:00 for MPD by
1.8.2