ARM: tizen_tm1_defconfig: Enable missing features related with CGROUPS
[profile/mobile/platform/kernel/linux-3.10-sc7730.git] / kernel / swap / buffer / buffer_description.h
1 /**
2  * @file buffer/buffer_description.h
3  * @author Alexander Aksenov <a.aksenov@samsung.com>
4  *
5  * @section LICENSE
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20  *
21  * @section COPYRIGHT
22  *
23  * Copyright (C) Samsung Electronics, 2013
24  *
25  * @section DESCRIPTION
26  *
27  * swap_subbuffer structure represents one buffers subbufer
28  */
29
30 #ifndef __BUFFER_DESCRIPTION_H__
31 #define __BUFFER_DESCRIPTION_H__
32
33 #include "data_types.h"
34
35 /**
36  * @struct swap_subbuffer
37  * @brief This structures are combined in array which represents the SWAP buffer.
38  * @var swap_subbuffer::next_in_queue
39  * Pointer to the next swap_subbufer in queue
40  * @var swap_subbuffer::full_buffer_part
41  * Currently occupied subbuffers size
42  * @var swap_subbuffer::data_buffer
43  * Pointer to subbuffers data itself of type swap_subbuffer_ptr
44  * @var swap_subbuffer::buffer_sync
45  * Subbuffers sync primitive
46  */
47 struct swap_subbuffer {
48         /* Pointer to the next subbuffer in queue */
49         struct swap_subbuffer *next_in_queue;
50         /* Size of the filled part of a subbuffer */
51         size_t full_buffer_part;
52         /* Pointer to data buffer */
53         swap_subbuffer_ptr data_buffer;
54         /* Buffer rw sync */
55         struct sync_t buffer_sync;
56 };
57
58 #endif /* __BUFFER_DESCRIPTION_H__ */