Files
Arquivotheca.Solaris-2.5/uts/sun/sys/gp1var.h
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

119 lines
3.3 KiB
C
Executable File

/*
* Copyright (c) 1985, 1987, by Sun Microsystems, Inc.
*/
#ifndef _SYS_GP1VAR_H
#define _SYS_GP1VAR_H
#pragma ident "@(#)gp1var.h 1.7 92/07/14 SMI" /* SunOS4.1.2 1.13 */
/*
* The same pixrect data structure is now used for both cg2
* and gp1 pixrects.
*/
#include <sys/fbio.h>
#include <sys/cg2var.h>
#include <sys/cg9var.h>
#ifdef __cplusplus
extern "C" {
#endif
struct gp1pr {
struct cg2fb *cgpr_va; /* backward source compatible */
caddr_t gp_shmem; /* pointer to shared memory */
int cgpr_fd; /* primary flag */
int cgpr_planes; /* color bit plane mask reg */
struct pr_pos cgpr_offset; /* pixrect offset */
short cg2_index; /* cg2 board index */
char minordev; /* true minor dev to stuff into GP */
int gbufflag; /* gbuffer flag */
int ioctl_fd; /* the fd to talk to the driver with */
int ncmd; /* length of cmdver array */
u_char *cmdver; /* version #'s for each command */
int flags; /* misc options */
int linebytes; /* bytes per line (pixel mode) */
int fbtype; /* which cg is bound */
union {
struct cg2pr cg2pr;
struct cg9_data cg9pr;
} cgpr;
};
#define gp1_d(pr) ((struct gp1pr *) (pr)->pr_data)
#define gp1_fbfrompr(pr) (gp1_d(pr)->cgpr.cg2pr.cgpr_va)
#define GP1_COPY_TO_CG2(gp_data, cg2_data) { \
(cg2_data)->gp_shmem = (gp_data)->gp_shmem; \
(cg2_data)->cg2_index = (gp_data)->cg2_index; \
(cg2_data)->gbufflag = (gp_data)->gbufflag; \
(cg2_data)->minordev = (gp_data)->minordev; \
(cg2_data)->cmdver = (gp_data)->cmdver; \
(cg2_data)->ncmd = (gp_data)->ncmd; \
(cg2_data)->ioctl_fd = (gp_data)->ioctl_fd; \
(cg2_data)->flags = (gp_data)->flags; \
}
#define GP1_COPY_FROM_CG2(cg2_data, gp_data) { \
(gp_data)->cgpr_fd = (cg2_data)->cgpr_fd; \
(gp_data)->cgpr_planes = (cg2_data)->cgpr_planes; \
(gp_data)->cgpr_offset = (cg2_data)->cgpr_offset; \
(gp_data)->cgpr_va = (cg2_data)->cgpr_va; \
(gp_data)->flags = (cg2_data)->flags; \
(gp_data)->linebytes = (cg2_data)->linebytes; \
}
#define GP1_COPY_TOTAL(srcdata, destdata) { \
(destdata)->gp_shmem = (srcdata)->gp_shmem; \
(destdata)->cgpr_fd = (srcdata)->cgpr_fd; \
(destdata)->cgpr_va = (srcdata)->cgpr_va; \
(destdata)->cgpr_planes = (srcdata)->cgpr_planes; \
(destdata)->cgpr_offset = (srcdata)->cgpr_offset; \
(destdata)->cg2_index = (srcdata)->cg2_index; \
(destdata)->minordev = (srcdata)->minordev; \
(destdata)->gbufflag = (srcdata)->gbufflag; \
(destdata)->ioctl_fd = (srcdata)->ioctl_fd; \
(destdata)->ncmd = (srcdata)->ncmd; \
(destdata)->cmdver = (srcdata)->cmdver; \
(destdata)->flags = (srcdata)->flags; \
(destdata)->linebytes = (srcdata)->linebytes; \
}
struct gp1_version {
u_char majrel;
u_char minrel;
u_char serialnum;
u_char flags;
};
#ifndef _KERNEL
Pixrect *gp1_make();
extern struct pixrectops gp1_ops;
int gp1_rop();
int gp1_vector();
int gp1_destroy();
int gp1_put();
int gp1_get();
int gp1_putattributes();
int gp1_putcolormap();
int gp1_getattributes();
int gp1_getcolormap();
int gp1_ioctl();
Pixrect *gp1_region();
int gp1_batchrop();
int gp1_stencil();
int gp1_polypoint();
#endif /* !_KERNEL */
#define GP1IO_SATTR _IOW(G, 101, struct fbgattr)
#define GP1IO_SCMAP _IO(G, 102)
#define GP_SHMEMSIZE 5
#ifdef __cplusplus
}
#endif
#endif /* _SYS_GP1VAR_H */