Loading...
Searching...
No Matches
goos.h
Go to the documentation of this file.
/*
* (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>
* economic rights: Technische Universität Dresden (Germany)
*
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include <l4/sys/compiler.h>
#include <l4/sys/types.h>
#include <l4/re/c/dataspace.h>
#include <l4/re/c/video/colors.h>
#include <l4/re/c/video/view.h>
enum l4re_video_goos_info_flags_t
{
F_l4re_video_goos_auto_refresh = 0x01,
F_l4re_video_goos_pointer = 0x02,
F_l4re_video_goos_dynamic_views = 0x04,
F_l4re_video_goos_dynamic_buffers = 0x08,
};
typedef struct
{
unsigned long width;
unsigned long height;
unsigned flags;
unsigned num_static_views;
unsigned num_static_buffers;
l4re_video_pixel_info_t pixel_info;
} l4re_video_goos_info_t;
typedef l4_cap_idx_t l4re_video_goos_t;
L4_BEGIN_DECLS
L4_CV int
l4re_video_goos_info(l4re_video_goos_t goos,
l4re_video_goos_info_t *ginfo) L4_NOTHROW;
L4_CV int
l4re_video_goos_refresh(l4re_video_goos_t goos, int x, int y, int w,
int h) L4_NOTHROW;
L4_CV int
l4re_video_goos_create_buffer(l4re_video_goos_t goos, unsigned long size,
l4_cap_idx_t buffer) L4_NOTHROW;
L4_CV int
l4re_video_goos_delete_buffer(l4re_video_goos_t goos, unsigned idx) L4_NOTHROW;
L4_CV int
l4re_video_goos_get_static_buffer(l4re_video_goos_t goos, unsigned idx,
l4_cap_idx_t buffer) L4_NOTHROW;
L4_CV int
l4re_video_goos_create_view(l4re_video_goos_t goos,
l4re_video_view_t *view) L4_NOTHROW;
L4_CV int
l4re_video_goos_delete_view(l4re_video_goos_t goos,
l4re_video_view_t *view) L4_NOTHROW;
L4_CV int
l4re_video_goos_get_view(l4re_video_goos_t goos, unsigned idx,
l4re_video_view_t *view) L4_NOTHROW;
L4_END_DECLS
colors.h
compiler.h
L4 compiler related defines.
dataspace.h
Data space C interface.
l4re_video_goos_info_flags_t
l4re_video_goos_info_flags_t
Flags of information on the goos.
Definition goos.h:30
l4re_video_goos_delete_buffer
int l4re_video_goos_delete_buffer(l4re_video_goos_t goos, unsigned idx) L4_NOTHROW
Delete a pixel buffer.
l4re_video_goos_refresh
int l4re_video_goos_refresh(l4re_video_goos_t goos, int x, int y, int w, int h) L4_NOTHROW
Flush a rectangle of pixels of the goos screen.
l4re_video_goos_t
l4_cap_idx_t l4re_video_goos_t
Goos object type.
Definition goos.h:55
l4re_video_goos_info
L4_BEGIN_DECLS int l4re_video_goos_info(l4re_video_goos_t goos, l4re_video_goos_info_t *ginfo) L4_NOTHROW
Get information on a goos.
l4re_video_goos_get_static_buffer
int l4re_video_goos_get_static_buffer(l4re_video_goos_t goos, unsigned idx, l4_cap_idx_t buffer) L4_NOTHROW
Get the data-space capability of the static pixel buffer.
l4re_video_goos_get_view
int l4re_video_goos_get_view(l4re_video_goos_t goos, unsigned idx, l4re_video_view_t *view) L4_NOTHROW
Get a view for the given index.
l4re_video_goos_create_view
int l4re_video_goos_create_view(l4re_video_goos_t goos, l4re_video_view_t *view) L4_NOTHROW
Create a new view (.
l4re_video_goos_delete_view
int l4re_video_goos_delete_view(l4re_video_goos_t goos, l4re_video_view_t *view) L4_NOTHROW
Delete a view.
l4re_video_goos_create_buffer
int l4re_video_goos_create_buffer(l4re_video_goos_t goos, unsigned long size, l4_cap_idx_t buffer) L4_NOTHROW
Create a new buffer (memory buffer) for pixel data.
F_l4re_video_goos_pointer
@ F_l4re_video_goos_pointer
We have a mouse pointer.
Definition goos.h:32
F_l4re_video_goos_dynamic_views
@ F_l4re_video_goos_dynamic_views
Supports dynamically allocated views.
Definition goos.h:33
F_l4re_video_goos_dynamic_buffers
@ F_l4re_video_goos_dynamic_buffers
Supports dynamically allocated buffers.
Definition goos.h:34
F_l4re_video_goos_auto_refresh
@ F_l4re_video_goos_auto_refresh
The graphics display is automatically refreshed.
Definition goos.h:31
l4_cap_idx_t
unsigned long l4_cap_idx_t
Capability selector type.
Definition types.h:336
L4_CV
#define L4_CV
Define calling convention.
Definition linkage.h:33
L4_NOTHROW
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition compiler.h:161
L4_BEGIN_DECLS
#define L4_BEGIN_DECLS
Start section with C types and functions.
Definition compiler.h:165
L4_END_DECLS
#define L4_END_DECLS
End section with C types and functions.
Definition compiler.h:166
types.h
Common L4 ABI Data Types.
l4re_video_goos_info_t
Goos information structure.
Definition goos.h:42
l4re_video_goos_info_t::pixel_info
l4re_video_pixel_info_t pixel_info
Pixel layout of the goos.
Definition goos.h:48
l4re_video_goos_info_t::height
unsigned long height
Height of the goos.
Definition goos.h:44
l4re_video_goos_info_t::width
unsigned long width
Width of the goos.
Definition goos.h:43
l4re_video_goos_info_t::num_static_views
unsigned num_static_views
Number of static views.
Definition goos.h:46
l4re_video_goos_info_t::flags
unsigned flags
Flags of the framebuffer, see l4re_video_goos_info_flags_t.
Definition goos.h:45
l4re_video_goos_info_t::num_static_buffers
unsigned num_static_buffers
Number of static buffers.
Definition goos.h:47
l4re_video_pixel_info_t
Pixel_info structure.
Definition colors.h:31
l4re_video_view_t
C representation of a goos view.
Definition view.h:69
view.h