1/*
2	Copyright 1999, Be Incorporated.   All Rights Reserved.
3	This file may be used under the terms of the Be Sample Code License.
4*/
5
6#if !defined(GENERIC_H)
7#define GENERIC_H
8
9#include <Accelerant.h>
10#include "video_overlay.h"
11
12status_t INIT_ACCELERANT(int fd);
13ssize_t ACCELERANT_CLONE_INFO_SIZE(void);
14void GET_ACCELERANT_CLONE_INFO(void *data);
15status_t CLONE_ACCELERANT(void *data);
16void UNINIT_ACCELERANT(void);
17status_t GET_ACCELERANT_DEVICE_INFO(accelerant_device_info *adi);
18sem_id ACCELERANT_RETRACE_SEMAPHORE(void);
19
20uint32 ACCELERANT_MODE_COUNT(void);
21status_t GET_MODE_LIST(display_mode *dm);
22status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, const display_mode *high);
23status_t SET_DISPLAY_MODE(display_mode *mode_to_set);
24status_t GET_DISPLAY_MODE(display_mode *current_mode);
25status_t GET_FRAME_BUFFER_CONFIG(frame_buffer_config *a_frame_buffer);
26status_t GET_PIXEL_CLOCK_LIMITS(display_mode *dm, uint32 *low, uint32 *high);
27status_t MOVE_DISPLAY(uint16 h_display_start, uint16 v_display_start);
28status_t GET_TIMING_CONSTRAINTS(display_timing_constraints *dtc);
29void SET_INDEXED_COLORS(uint count, uint8 first, uint8 *color_data, uint32 flags);
30
31uint32 DPMS_CAPABILITIES(void);
32uint32 DPMS_MODE(void);
33status_t SET_DPMS_MODE(uint32 dpms_flags);
34
35status_t SET_CURSOR_SHAPE(uint16 width, uint16 height, uint16 hot_x, uint16 hot_y, uint8 *andMask, uint8 *xorMask);
36void MOVE_CURSOR(uint16 x, uint16 y);
37void SHOW_CURSOR(bool is_visible);
38
39uint32 ACCELERANT_ENGINE_COUNT(void);
40status_t ACQUIRE_ENGINE(uint32 capabilities, uint32 max_wait, sync_token *st, engine_token **et);
41status_t RELEASE_ENGINE(engine_token *et, sync_token *st);
42void WAIT_ENGINE_IDLE(void);
43status_t GET_SYNC_TOKEN(engine_token *et, sync_token *st);
44status_t SYNC_TO_TOKEN(sync_token *st);
45
46/* video_overlay */
47uint32 OVERLAY_COUNT(const display_mode *dm);
48const uint32 *OVERLAY_SUPPORTED_SPACES(const display_mode *dm);
49uint32 OVERLAY_SUPPORTED_FEATURES(uint32 a_color_space);
50const overlay_buffer *ALLOCATE_OVERLAY_BUFFER(color_space cs, uint16 width, uint16 height);
51status_t RELEASE_OVERLAY_BUFFER(const overlay_buffer *ob);
52status_t GET_OVERLAY_CONSTRAINTS(const display_mode *dm, const overlay_buffer *ob, overlay_constraints *oc);
53overlay_token ALLOCATE_OVERLAY(void);
54status_t RELEASE_OVERLAY(overlay_token ot);
55status_t CONFIGURE_OVERLAY(overlay_token ot, const overlay_buffer *ob, const overlay_window *ow, const overlay_view *ov);
56
57status_t create_mode_list(void);
58
59#endif
60