C++程序  |  263行  |  8.33 KB

/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef __FIMG2D_H
#define __FIMG2D_H __FILE__
#define FIMG2D_MAX_PLANES 2
#define FIMG2D_IOCTL_MAGIC 'F'
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define FIMG2D_BITBLT_BLIT _IOWR(FIMG2D_IOCTL_MAGIC, 0, struct fimg2d_blit)
#define FIMG2D_BITBLT_SYNC _IOW(FIMG2D_IOCTL_MAGIC, 1, int)
#define FIMG2D_BITBLT_VERSION _IOR(FIMG2D_IOCTL_MAGIC, 2, struct fimg2d_version)
struct fimg2d_version {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 unsigned int hw;
 unsigned int sw;
};
enum blit_sync {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_SYNC,
 BLIT_ASYNC,
};
enum addr_space {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 ADDR_NONE = 0,
 ADDR_DMA_BUF,
};
enum pixel_order {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 AX_RGB = 0,
 RGB_AX,
 AX_BGR,
 BGR_AX,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 ARGB_ORDER_END,
 P1_CRY1CBY0,
 P1_CBY1CRY0,
 P1_Y1CRY0CB,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 P1_Y1CBY0CR,
 P1_ORDER_END,
 P2_CRCB,
 P2_CBCR,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 P2_ORDER_END,
};
enum color_format {
 CF_XRGB_8888 = 0,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 CF_ARGB_8888,
 CF_RGB_565,
 CF_XRGB_1555,
 CF_ARGB_1555,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 CF_XRGB_4444,
 CF_ARGB_4444,
 CF_RGB_888,
 CF_YCBCR_444,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 CF_YCBCR_422,
 CF_YCBCR_420,
 CF_A8,
 CF_L8,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 SRC_DST_FORMAT_END,
 CF_MSK_1BIT,
 CF_MSK_4BIT,
 CF_MSK_8BIT,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 CF_MSK_16BIT_565,
 CF_MSK_16BIT_1555,
 CF_MSK_16BIT_4444,
 CF_MSK_32BIT_8888,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 MSK_FORMAT_END,
};
enum rotation {
 ORIGIN,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 ROT_90,
 ROT_180,
 ROT_270,
 XFLIP,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 YFLIP,
};
enum repeat {
 NO_REPEAT = 0,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 REPEAT_NORMAL,
 REPEAT_PAD,
 REPEAT_REFLECT, REPEAT_MIRROR = REPEAT_REFLECT,
 REPEAT_CLAMP,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
enum scaling {
 NO_SCALING,
 SCALING_NEAREST,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 SCALING_BILINEAR,
};
enum scaling_factor {
 SCALING_PIXELS,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 SCALING_RATIO,
};
enum premultiplied {
 PREMULTIPLIED,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 NON_PREMULTIPLIED,
};
enum bluescreen {
 OPAQUE,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 TRANSP,
 BLUSCR,
};
enum blit_op {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_SOLID_FILL = 0,
 BLIT_OP_CLR,
 BLIT_OP_SRC, BLIT_OP_SRC_COPY = BLIT_OP_SRC,
 BLIT_OP_DST,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_SRC_OVER,
 BLIT_OP_DST_OVER, BLIT_OP_OVER_REV = BLIT_OP_DST_OVER,
 BLIT_OP_SRC_IN,
 BLIT_OP_DST_IN, BLIT_OP_IN_REV = BLIT_OP_DST_IN,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_SRC_OUT,
 BLIT_OP_DST_OUT, BLIT_OP_OUT_REV = BLIT_OP_DST_OUT,
 BLIT_OP_SRC_ATOP,
 BLIT_OP_DST_ATOP, BLIT_OP_ATOP_REV = BLIT_OP_DST_ATOP,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_XOR,
 BLIT_OP_ADD,
 BLIT_OP_MULTIPLY,
 BLIT_OP_SCREEN,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_DARKEN,
 BLIT_OP_LIGHTEN,
 BLIT_OP_DISJ_SRC_OVER,
 BLIT_OP_DISJ_DST_OVER, BLIT_OP_SATURATE = BLIT_OP_DISJ_DST_OVER,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_DISJ_SRC_IN,
 BLIT_OP_DISJ_DST_IN, BLIT_OP_DISJ_IN_REV = BLIT_OP_DISJ_DST_IN,
 BLIT_OP_DISJ_SRC_OUT,
 BLIT_OP_DISJ_DST_OUT, BLIT_OP_DISJ_OUT_REV = BLIT_OP_DISJ_DST_OUT,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_DISJ_SRC_ATOP,
 BLIT_OP_DISJ_DST_ATOP, BLIT_OP_DISJ_ATOP_REV = BLIT_OP_DISJ_DST_ATOP,
 BLIT_OP_DISJ_XOR,
 BLIT_OP_CONJ_SRC_OVER,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_CONJ_DST_OVER, BLIT_OP_CONJ_OVER_REV = BLIT_OP_CONJ_DST_OVER,
 BLIT_OP_CONJ_SRC_IN,
 BLIT_OP_CONJ_DST_IN, BLIT_OP_CONJ_IN_REV = BLIT_OP_CONJ_DST_IN,
 BLIT_OP_CONJ_SRC_OUT,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_CONJ_DST_OUT, BLIT_OP_CONJ_OUT_REV = BLIT_OP_CONJ_DST_OUT,
 BLIT_OP_CONJ_SRC_ATOP,
 BLIT_OP_CONJ_DST_ATOP, BLIT_OP_CONJ_ATOP_REV = BLIT_OP_CONJ_DST_ATOP,
 BLIT_OP_CONJ_XOR,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 BLIT_OP_USER_COEFF,
 BLIT_OP_USER_SRC_GA,
 BLIT_OP_END,
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define MAX_FIMG2D_BLIT_OP (int)BLIT_OP_END
struct fimg2d_addr {
 enum addr_space type;
 int fd[FIMG2D_MAX_PLANES];
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
struct fimg2d_rect {
 int x1;
 int y1;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 int x2;
 int y2;
};
struct fimg2d_scale {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum scaling mode;
 int src_w, src_h;
 int dst_w, dst_h;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct fimg2d_clip {
 __u32 enable;
 int x1;
 int y1;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 int x2;
 int y2;
};
struct fimg2d_repeat {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum repeat mode;
 unsigned long pad_color;
};
struct fimg2d_bluscr {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum bluescreen mode;
 unsigned long bs_color;
 unsigned long bg_color;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct fimg2d_image {
 int width;
 int height;
 int stride;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum pixel_order order;
 enum color_format fmt;
 struct fimg2d_addr addr;
 struct fimg2d_rect rect;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
struct fimg2d_param {
 unsigned long solid_color;
 unsigned char g_alpha;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 __u32 dither;
 enum rotation rotate;
 enum premultiplied premult;
 struct fimg2d_scale scaling;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fimg2d_repeat repeat;
 struct fimg2d_bluscr bluscr;
 struct fimg2d_clip clipping;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct fimg2d_blit {
 enum blit_op op;
 struct fimg2d_param param;
 struct fimg2d_image *src;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fimg2d_image *msk;
 struct fimg2d_image *tmp;
 struct fimg2d_image *dst;
 enum blit_sync sync;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 unsigned int seq_no;
};
#endif