00001
00002
00011
00012
00013
00014
00015 import <l4/dm_generic/types.h>
00016 import <l4/l4con/l4con_pslim.h>
00017
00019 library con
00020 {
00023 [error_function_server(switch_vc_on_timer)]
00024 interface if
00025 {
00042 long openqry([in] unsigned long sbuf1_size,
00043 [in] unsigned long sbuf2_size,
00044 [in] unsigned long sbuf3_size,
00045 [in] byte priority,
00046 [out] l4_threadid_t *vcid,
00047 [in] short vfbmode);
00048
00060 long screenshot([in] short vc_nr,
00061 [out] l4dm_dataspace_t *ds,
00062 [out] l4_uint32_t *xres,
00063 [out] l4_uint32_t *yres,
00064 [out] l4_uint32_t *bpp);
00065
00072 long close_all([in] l4_threadid_t client);
00073 };
00074
00078 [error_function_server(vc_error),
00079 init_rcvstring_server(vc_init_rcvstring)]
00080 interface vc
00081 {
00090 long smode([in] byte mode, [in] l4_threadid_t ev_handler);
00091
00099 long gmode([out] byte *mode,
00100 [out] unsigned long *sbuf_1size,
00101 [out] unsigned long *sbuf_2size,
00102 [out] unsigned long *sbuf_3size);
00103
00108 long share([in] l4_threadid_t client);
00109
00114 long revoke([in] l4_threadid_t client);
00115
00120 [allow_reply_only]
00121 long close();
00122
00131 long pslim_fill([in] l4con_pslim_rect_t rect,
00132 [in] l4con_pslim_color_t color);
00133
00144 long pslim_copy([in] l4con_pslim_rect_t rect,
00145 [in] short dx, [in] short dy);
00146
00160 long pslim_bmap([in] l4con_pslim_rect_t rect,
00161 [in] l4con_pslim_color_t fg_color,
00162 [in] l4con_pslim_color_t bg_color,
00163 [in, ref, size_is(bmap_size)] byte *bmap,
00164 [in] long bmap_size,
00165 [in] byte bmap_type);
00166
00176 long pslim_set([in] l4con_pslim_rect_t rect,
00177 [in, ref, size_is(pmap_size)] byte* pmap,
00178 [in] long pmap_size);
00179
00192 long pslim_cscs([in] l4con_pslim_rect_t rect,
00193 [in, ref, size_is(y_l)] unsigned char* y, [in] int y_l,
00194 [in, ref, size_is(u_l)] unsigned char* u, [in] int u_l,
00195 [in, ref, size_is(v_l)] unsigned char* v, [in] int v_l,
00196 [in] long yuv_type,
00197 [in] char scale);
00198
00224 long stream_cscs([in] l4con_pslim_rect_t rect_src,
00225 [in] l4con_pslim_rect_t rect_dst,
00226 [in] byte yuv_type,
00227 [out] fpage *buffer,
00228 [out] unsigned long *offs_y,
00229 [out] unsigned long *offs_u,
00230 [out] unsigned long *offs_v);
00231
00243 long graph_smode([in] byte g_mode);
00244
00259 long graph_gmode([out] byte *g_mode,
00260 [out] l4_uint32_t *xres,
00261 [out] l4_uint32_t *yres,
00262 [out] l4_uint32_t *bits_per_pixel,
00263 [out] l4_uint32_t *bytes_per_pixel,
00264 [out] l4_uint32_t *bytes_per_line,
00265 [out] l4_uint32_t *flags,
00266 [out] l4_uint32_t *xtxt,
00267 [out] l4_uint32_t *ytxt);
00268
00280 long graph_get_rgb([out] l4_uint32_t *red_offs,
00281 [out] l4_uint32_t *red_len,
00282 [out] l4_uint32_t *green_offs,
00283 [out] l4_uint32_t *green_len,
00284 [out] l4_uint32_t *blue_offs,
00285 [out] l4_uint32_t *blue_len);
00286
00294 long graph_mapfb([in] unsigned long fb_offset,
00295 [out] fpage *page,
00296 [out] unsigned long *page_offset);
00297
00306 long ev_sflt([in] unsigned long filter);
00307
00316 long ev_gflt([out] unsigned long *filter);
00317
00333 long puts([in, ref, size_is(len)] char* s,
00334 [in] int len,
00335 [in] short x,
00336 [in] short y,
00337 [in] l4con_pslim_color_t fg_color,
00338 [in] l4con_pslim_color_t bg_color);
00339
00353 long puts_scale([in, ref, size_is(len)] char* s,
00354 [in] int len,
00355 [in] short x,
00356 [in] short y,
00357 [in] l4con_pslim_color_t fg_color,
00358 [in] l4con_pslim_color_t bg_color,
00359 [in] short scale_x,
00360 [in] short scale_y);
00361
00372 long puts_attr([in, ref, size_is(strattr_size)] short* s,
00373 [in] int strattr_size,
00374 [in] short x,
00375 [in] short y);
00376
00388 long direct_setfb([in] l4dm_dataspace_t data_ds);
00389
00397 long direct_update([in] l4con_pslim_rect_t rect);
00398 };
00399 };
00400