/usr/include/directfb-internal/misc/conf.h is in libdirectfb-dev 1.7.7-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | /*
(c) Copyright 2012-2013 DirectFB integrated media GmbH
(c) Copyright 2001-2013 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __CONF_H__
#define __CONF_H__
#include <signal.h>
#include <directfb.h>
#include <fusion/types.h>
#include <fusion/vector.h>
#include <core/coredefs.h>
typedef struct {
bool init;
DFBDisplayLayerConfig config;
DFBColor src_key;
int src_key_index;
struct {
DFBDisplayLayerBackgroundMode mode;
DFBColor color;
int color_index;
char *filename;
} background;
DFBWindowStackingClass stacking;
DFBColor *palette;
bool palette_set;
int rotate;
} DFBConfigLayer;
typedef enum {
DCWF_NONE = 0x00000000,
DCWF_CREATE_SURFACE = 0x00000001,
DCWF_CREATE_WINDOW = 0x00000002,
DCWF_ALLOCATE_BUFFER = 0x00000010,
DCWF_ALL = 0x00000013
} DFBConfigWarnFlags;
typedef struct
{
bool mouse_motion_compression; /* use motion compression? */
char *mouse_protocol; /* mouse protocol */
char *mouse_source; /* mouse source device name */
bool mouse_gpm_source; /* mouse source is gpm? */
int window_policy; /* swapping policy for the
surface of a window */
int buffer_mode; /* default buffer mode for
primary layer */
bool pollvsync_after;
bool pollvsync_none;
bool software_only; /* disable hardware acceleration */
bool hardware_only; /* disable software fallbacks */
bool mmx; /* mmx support */
bool banner; /* startup banner */
bool force_windowed; /* prohibit exclusive modes */
bool deinit_check;
bool vt_switch; /* allocate a new VT */
int vt_num; /* number of TTY to use or -1
if the default */
bool kd_graphics; /* put terminal into graphics
mode */
DFBScreenEncoderTVStandards matrox_tv_std; /* Matrox TV standard */
int matrox_cable; /* Matrox cable type */
bool matrox_sgram; /* Use Matrox SGRAM features */
bool matrox_crtc2; /* Experimental CRTC2 stuff */
bool sync; /* Do sync() in core_init() */
bool vt_switching; /* Allow VT switching by
pressing Ctrl+Alt+<F?> */
char *fb_device; /* Used framebuffer device,
e.g. "/dev/fb0" */
struct {
int bus; /* PCI Bus */
int dev; /* PCI Device */
int func; /* PCI Function */
} pci;
bool lefty; /* Left handed mouse, swaps
left/right mouse buttons */
bool no_cursor; /* Never create a cursor */
bool translucent_windows; /* Allow translucent
windows */
struct {
int width; /* primary layer width */
int height; /* primary layer height */
int depth; /* primary layer depth */
DFBSurfacePixelFormat format; /* primary layer format */
} mode;
struct {
int width; /* scaled window width */
int height; /* scaled window height */
} scaled;
int videoram_limit; /* limit amount of video
memory used by DirectFB */
char *screenshot_dir; /* dump screen content into
this directory */
char *system; /* FBDev, SDL, etc. */
bool capslock_meta; /* map CapsLock -> Meta */
bool block_all_signals; /* block all signals */
int session; /* select multi app world */
int primary_layer; /* select alternative primary
display layer */
bool force_desktop; /* Desktop background is
the primary surface. */
bool linux_input_ir_only; /* Ignore non-IR devices. */
struct {
char *host; /* Remote host to connect to. */
int port; /* Remote port number. */
} remote;
char *wm; /* Window manager to use. */
bool vt; /* Use VT stuff at all? */
bool decorations; /* Enable window decorations. */
DFBSurfacePixelFormat font_format; /* Preferred font format. */
char *h3600_device; /* H3600 Touchscreen Device */
char *mut_device; /* MuTouch Device */
char *penmount_device; /* PenMount Device */
char *zytronic_device; /* Zytronic Device */
char *elo_device; /* elo Device */
int unichrome_revision; /* Unichrome hardware
revision number override */
bool dma; /* Enable DMA */
int agp; /* AGP mode */
int agpmem_limit; /* Limit of AGP memory
used by DirectFB */
bool i8xx_overlay_pipe_b; /* video overlay output via pixel pipe B */
bool primary_only; /* tell application only about primary layer */
bool thrifty_surface_buffers; /* don't keep system instance while video instance is alive */
bool surface_sentinel;
DFBConfigLayer layers[MAX_LAYERS];
DFBConfigLayer *config_layer;
DFBSurfaceRenderOptions render_options; /* default render options */
bool startstop; /* Issue StartDrawing/StopDrawing to driver */
unsigned long video_phys; /* Physical base address of video memory */
unsigned int video_length; /* Size of video memory */
unsigned long mmio_phys; /* Physical base address of MMIO area */
unsigned int mmio_length; /* Size of MMIO area */
int accelerator; /* Accelerator ID */
bool font_premult; /* Use premultiplied data in case of ARGB glyph images */
FusionVector linux_input_devices;
FusionVector tslib_devices;
bool thread_block_signals; /* Call direct_signals_block_all() in direct_thread_main() startup. */
bool linux_input_grab; /* Grab input devices. */
bool autoflip_window; /* If primary surface is non-flipping, but windowed, flip automatically. */
bool software_warn; /* Show warnings when doing/dropping software operations. */
int surface_shmpool_size; /* Set the size of the shared memory pool used for
shared system memory surfaces. */
unsigned int system_surface_align_base; /* If GPU supports system memory, byte alignment for system
surface's base address (must be a positive power of two
that is four or greater), or zero for no alignment. */
unsigned int system_surface_align_pitch; /* If GPU supports system memory, byte alignment for system
surface's pitch (must be a positive power of two), or
zero for no alignment. */
bool no_cursor_updates; /* Never show the cursor etc. */
struct {
DFBConfigWarnFlags flags; /* Warn on various actions as window/surface creation. */
struct {
DFBDimension min_size;
} create_surface;
struct {
DFBDimension min_size;
} allocate_buffer;
} warn;
int keep_accumulators; /* Free accumulators above this limit */
bool software_trace;
unsigned int max_axis_rate;
bool cursor_automation;
bool wm_fullscreen_updates;
int max_font_rows;
int max_font_row_width;
bool core_sighandler;
bool linux_input_force; /* use linux-input with all system modules */
u64 resource_id;
bool no_singleton;
bool x11_borderless;
DFBPoint x11_position;
bool gfx_emit_early;
bool flip_notify;
char *resource_manager;
u32 input_hub_qid;
unsigned long font_resource_id;
unsigned int flip_notify_max_latency;
DFBWindowCursorFlags default_cursor_flags;
bool discard_repeat_events;
DFBSurfaceID primary_id; /* id for primary surface */
bool layers_clear;
FusionCallExecFlags call_nodirect;
u32 input_hub_service_qid;
bool cursor_videoonly;
u64 cursor_resource_id;
bool task_manager;
unsigned int software_cores;
DFBSurfacePixelFormat image_format;
bool linux_input_touch_abs;
bool surface_clear;
unsigned int graphics_state_call_limit;
bool always_flush_callbuffer;
unsigned int layers_fps;
bool single_window;
long long screen_frame_interval;
unsigned int gfxcard_stats;
unsigned int max_render_tasks;
long long max_frame_advance;
bool ownership_check;
bool force_frametime;
} DFBConfig;
extern DFBConfig DIRECTFB_API *dfb_config;
/*
* Allocate Config struct, fill with defaults and parse command line options
* for overrides. Options identified as DirectFB options are stripped out
* of the array.
*/
DFBResult DIRECTFB_API dfb_config_init( int *argc, char *(*argv[]) );
/*
* Read configuration options from file. Called by config_init().
*
* Returns DFB_IO if config file could not be opened.
* Returns DFB_UNSUPPORTED if file contains an invalid option.
* Returns DFB_INVARG if an invalid option assignment is done,
* e.g. "--desktop-buffer-mode=somethingwrong".
*/
DFBResult DIRECTFB_API dfb_config_read( const char *filename );
/*
* Set indiviual option. Used by config_init(), config_read() and
* DirectFBSetOption()
*/
DFBResult DIRECTFB_API dfb_config_set( const char *name, const char *value );
const char DIRECTFB_API *dfb_config_usage( void );
DFBSurfacePixelFormat DIRECTFB_API dfb_config_parse_pixelformat( const char *format );
#endif
|