libosmocore
0.6.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
#ifndef OSMO_WQUEUE_H
24
#define OSMO_WQUEUE_H
25
33
#include <
osmocom/core/select.h
>
34
#include <
osmocom/core/msgb.h
>
35
37
struct
osmo_wqueue
{
39
struct
osmo_fd
bfd
;
41
unsigned
int
max_length
;
43
unsigned
int
current_length
;
44
46
struct
llist_head
msg_queue
;
47
49
int (*
read_cb
)(
struct
osmo_fd
*
fd
);
51
int (*
write_cb
)(
struct
osmo_fd
*
fd
,
struct
msgb
*msg);
53
int (*
except_cb
)(
struct
osmo_fd
*
fd
);
54
};
55
56
void
osmo_wqueue_init
(
struct
osmo_wqueue
*queue,
int
max_length);
57
void
osmo_wqueue_clear
(
struct
osmo_wqueue
*queue);
58
int
osmo_wqueue_enqueue
(
struct
osmo_wqueue
*queue,
struct
msgb
*
data
);
59
int
osmo_wqueue_bfd_cb
(
struct
osmo_fd
*
fd
,
unsigned
int
what);
60
63
#endif
include
osmocom
core
write_queue.h
Generated on Fri Aug 23 2013 20:51:42 for libosmocore by
1.8.1.2