1 /**
2  * \file
3  * \brief Framebuffer utility functionality.
4  */
5 /*
6  * (c) 2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>
7  *     economic rights: Technische Universität Dresden (Germany)
8  *
9  * This file is part of TUD:OS and distributed under the terms of the
10  * GNU General Public License 2.
11  * Please see the COPYING-GPL-2 file for details.
12  *
13  * As a special exception, you may use this file as part of a free software
14  * library without restriction.  Specifically, if other files instantiate
15  * templates or use macros or inline functions from this file, or you compile
16  * this file and link it with other files to produce an executable, this
17  * file does not by itself cause the resulting executable to be covered by
18  * the GNU General Public License.  This exception does not however
19  * invalidate any other reasons why the executable file might be covered by
20  * the GNU General Public License.
21  */
22 #pragma once
23 
24 #include <l4/sys/compiler.h>
25 #include <l4/re/c/video/goos.h>
26 #include <l4/sys/err.h>
27 #include <l4/re/c/dataspace.h>
28 
29 EXTERN_C_BEGIN
30 
31 typedef struct
32 {
33   unsigned long _obj_buf[6];
34 } l4re_util_video_goos_fb_t;
35 
36 L4_CV int
37 l4re_util_video_goos_fb_setup_name(l4re_util_video_goos_fb_t *goosfb,
38                                    char const *name) L4_NOTHROW;
39 
40 L4_CV void
41 l4re_util_video_goos_fb_destroy(l4re_util_video_goos_fb_t *goosfb) L4_NOTHROW;
42 
43 L4_CV int
44 l4re_util_video_goos_fb_view_info(l4re_util_video_goos_fb_t *goosfb,
45                                   l4re_video_view_info_t *info) L4_NOTHROW;
46 
47 L4_CV void *
48 l4re_util_video_goos_fb_attach_buffer(l4re_util_video_goos_fb_t *goosfb) L4_NOTHROW;
49 
50 L4_CV int
51 l4re_util_video_goos_fb_refresh(l4re_util_video_goos_fb_t *goosfb,
52                                 int x, int y, int w, int h) L4_NOTHROW;
53 
54 L4_CV l4re_ds_t
55 l4re_util_video_goos_fb_buffer(l4re_util_video_goos_fb_t *goosfb) L4_NOTHROW;
56 
57 L4_CV l4_cap_idx_t
58 l4re_util_video_goos_fb_goos(l4re_util_video_goos_fb_t *goosfb) L4_NOTHROW;
59 
60 EXTERN_C_END
61