1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
17 ****************************************************************************
18 ****************************************************************************/
20 #define __FIMG2D_H __FILE__
21 #define FIMG2D_MAX_PLANES 2
22 #define FIMG2D_IOCTL_MAGIC 'F'
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define FIMG2D_BITBLT_BLIT _IOWR(FIMG2D_IOCTL_MAGIC, 0, struct fimg2d_blit)
25 #define FIMG2D_BITBLT_SYNC _IOW(FIMG2D_IOCTL_MAGIC, 1, int)
26 #define FIMG2D_BITBLT_VERSION _IOR(FIMG2D_IOCTL_MAGIC, 2, struct fimg2d_version)
27 struct fimg2d_version
{
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
106 REPEAT_REFLECT
, REPEAT_MIRROR
= REPEAT_REFLECT
,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
116 enum scaling_factor
{
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 BLIT_OP_SOLID_FILL
= 0,
136 BLIT_OP_SRC
, BLIT_OP_SRC_COPY
= BLIT_OP_SRC
,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
140 BLIT_OP_DST_OVER
, BLIT_OP_OVER_REV
= BLIT_OP_DST_OVER
,
142 BLIT_OP_DST_IN
, BLIT_OP_IN_REV
= BLIT_OP_DST_IN
,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
145 BLIT_OP_DST_OUT
, BLIT_OP_OUT_REV
= BLIT_OP_DST_OUT
,
147 BLIT_OP_DST_ATOP
, BLIT_OP_ATOP_REV
= BLIT_OP_DST_ATOP
,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
156 BLIT_OP_DISJ_SRC_OVER
,
157 BLIT_OP_DISJ_DST_OVER
, BLIT_OP_SATURATE
= BLIT_OP_DISJ_DST_OVER
,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
160 BLIT_OP_DISJ_DST_IN
, BLIT_OP_DISJ_IN_REV
= BLIT_OP_DISJ_DST_IN
,
161 BLIT_OP_DISJ_SRC_OUT
,
162 BLIT_OP_DISJ_DST_OUT
, BLIT_OP_DISJ_OUT_REV
= BLIT_OP_DISJ_DST_OUT
,
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 BLIT_OP_DISJ_SRC_ATOP
,
165 BLIT_OP_DISJ_DST_ATOP
, BLIT_OP_DISJ_ATOP_REV
= BLIT_OP_DISJ_DST_ATOP
,
167 BLIT_OP_CONJ_SRC_OVER
,
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 BLIT_OP_CONJ_DST_OVER
, BLIT_OP_CONJ_OVER_REV
= BLIT_OP_CONJ_DST_OVER
,
171 BLIT_OP_CONJ_DST_IN
, BLIT_OP_CONJ_IN_REV
= BLIT_OP_CONJ_DST_IN
,
172 BLIT_OP_CONJ_SRC_OUT
,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 BLIT_OP_CONJ_DST_OUT
, BLIT_OP_CONJ_OUT_REV
= BLIT_OP_CONJ_DST_OUT
,
175 BLIT_OP_CONJ_SRC_ATOP
,
176 BLIT_OP_CONJ_DST_ATOP
, BLIT_OP_CONJ_ATOP_REV
= BLIT_OP_CONJ_DST_ATOP
,
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define MAX_FIMG2D_BLIT_OP (int)BLIT_OP_END
186 enum addr_space type
;
187 int fd
[FIMG2D_MAX_PLANES
];
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
197 struct fimg2d_scale
{
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
212 struct fimg2d_repeat
{
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
215 unsigned long pad_color
;
217 struct fimg2d_bluscr
{
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 enum bluescreen mode
;
220 unsigned long bs_color
;
221 unsigned long bg_color
;
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 struct fimg2d_image
{
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 enum pixel_order order
;
230 enum color_format fmt
;
231 struct fimg2d_addr addr
;
232 struct fimg2d_rect rect
;
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
235 struct fimg2d_param
{
236 unsigned long solid_color
;
237 unsigned char g_alpha
;
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
240 enum rotation rotate
;
241 enum premultiplied premult
;
242 struct fimg2d_scale scaling
;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 struct fimg2d_repeat repeat
;
245 struct fimg2d_bluscr bluscr
;
246 struct fimg2d_clip clipping
;
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
251 struct fimg2d_param param
;
252 struct fimg2d_image
*src
;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 struct fimg2d_image
*msk
;
255 struct fimg2d_image
*tmp
;
256 struct fimg2d_image
*dst
;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */