libosmocore
0.9.3
Osmocom core library
Main Page
Modules
Data Structures
Files
File List
Globals
write_queue.h
Go to the documentation of this file.
1
/* Generic write queue implementation */
2
/*
3
* (C) 2010 by Holger Hans Peter Freyther
4
* (C) 2010 by On-Waves
5
*
6
* All Rights Reserved
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License along
19
* with this program; if not, write to the Free Software Foundation, Inc.,
20
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
*
22
*/
23
#pragma once
24
32
#include <
osmocom/core/select.h
>
33
#include <
osmocom/core/msgb.h
>
34
36
struct
osmo_wqueue
{
38
struct
osmo_fd
bfd
;
40
unsigned
int
max_length
;
42
unsigned
int
current_length
;
43
45
struct
llist_head
msg_queue
;
46
48
int (*
read_cb
)(
struct
osmo_fd
*
fd
);
50
int (*
write_cb
)(
struct
osmo_fd
*
fd
,
struct
msgb
*msg);
52
int (*
except_cb
)(
struct
osmo_fd
*
fd
);
53
};
54
55
void
osmo_wqueue_init
(
struct
osmo_wqueue
*queue,
int
max_length);
56
void
osmo_wqueue_clear
(
struct
osmo_wqueue
*queue);
57
int
osmo_wqueue_enqueue
(
struct
osmo_wqueue
*queue,
struct
msgb
*
data
);
58
int
osmo_wqueue_bfd_cb
(
struct
osmo_fd
*
fd
,
unsigned
int
what);
59
include
osmocom
core
write_queue.h
Generated on Mon Jan 18 2016 13:17:40 for libosmocore by
1.8.1.2