*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> hp300/grf (4)              



NAME    [Toc]    [Back]

     grf - HP graphics frame buffer device interface

SYNOPSIS    [Toc]    [Back]

     grf* at dvbox?
     grf* at gbox?
     grf* at hyper?
     grf* at rbox?
     grf* at topcat?

     ite* at grf?

DESCRIPTION    [Toc]    [Back]

     This is a generic description of the frame buffer device interface.

     The  devices  to which this applies are the 98544, 98545 and
98547 Topcat
     graphics cards (also known as HP300H  devices),  the  98548,
98549 and 98550
     Catseye graphics cards, the A1416A Kathmandu graphics cards,
the 98700
     Gatorbox graphics box, the 98720 Renaissance  graphics  box,
the 98730
     DaVinci  graphics  box,  and  the  A1096A  Hyperion graphics

     The basic programming of the grf? devices  involves  opening
the device
     file,  mapping  the  control  registers and frame buffer addresses into user
     space, and then manipulating the device as  the  application
requires.  The
     address mapping is controlled by an ioctl(2) call to map the
device into
     user space, and an unmap call when finished.

     The ioctls supported by OpenBSD are:

     GRFIOCGINFO  Get Graphics Info

                  Get info about device, setting the  entries  in
the grfinfo
                  structure, as defined in <machine/grfioctl.h>:

                  struct  grfinfo {
                          int      gd_id;          /* HP-UX identifier */
                          caddr_t gd_regaddr;     /* control registers physaddr */
                          int     gd_regsize;     /* control registers size */
                          caddr_t gd_fbaddr;      /* frame buffer
physaddr */
                          int     gd_fbsize;      /* frame buffer
size */
                          short   gd_colors;       /*  number  of
colors */
                          short    gd_planes;       /*  number of
planes */
                  /* new stuff */
                          int     gd_fbwidth;     /* frame buffer
width */
                          int     gd_fbheight;    /* frame buffer
height */
                          int      gd_dwidth;       /*  displayed
part width */
                          int      gd_dheight;      /*  displayed
part height */
                          int     gd_pad[6];      /*  for  future
expansion */

     GRFIOCON     Graphics On

                  Turn  graphics  on by enabling CRT output.  The
screen will
                  come on, displaying whatever is  in  the  frame
buffer, using
                  whatever colormap is in place.

     GRFIOCOFF    Graphics Off

                  Turn  graphics  off  by disabling output to the
CRT.  The frame
                  buffer contents are not affected.

     GRFIOCMAP    Map Device to user space

                  Map  in  control  registers  and  frame  buffer
space.  Once the
                  device  file is mapped, the frame buffer memory
and registers
                  are accessible.

     GRFIOCUNMAP  Unmap Device

                  Unmap control registers and frame buffer space.

FILES    [Toc]    [Back]

     /dev/grf?  OpenBSD interface special files

EXAMPLES    [Toc]    [Back]

     This  short  code  fragment  is  an  example of opening some
graphics device
     and mapping in the control and frame buffer space:

     #define GRF_DEV <some_graphics_device>  /* /dev/grfN */

     struct fbstruct *regs;  /*  fbstruct = gboxfb, rboxfb,  etc.
     u_char *Addr, frame_buffer;
     struct grfinfo gi;
     int disp_fd;

     disp_fd = open(GRF_DEV, O_WRONLY);
     if (ioctl(disp_fd, GRFIOCGINFO, &gi) < 0) return -1;
     ioctl(disp_fd, GRFIOCON, 0);

     if (ioctl(disp_fd, GRFIOCMAP, &Addr) < 0) {
             ioctl(disp_fd, GRFIOCOFF, 0);
             return -1;
     regs  = (fbstruct *)Addr;               /* Control Registers
     frame_buffer = (u_char  *)Addr  +  gi.gd_regsize;  /*  Frame
buffer mem */

DIAGNOSTICS    [Toc]    [Back]

     None under OpenBSD.

     HP-UX  The CE.utilities/Crtadjust programs, running in HP-UX
     mode, can be used for each specific device.

SEE ALSO    [Toc]    [Back]

     ioctl(2), cons(4), dvbox(4), gbox(4), hil(4), hyper(4),  intro(4), ite(4),
     rbox(4), topcat(4)

OpenBSD      3.6                           June      9,      1993
[ Back ]
 Similar pages
Name OS Title
vgafb OpenBSD VGA frame buffer
cgthree OpenBSD 8-bit color frame buffer
cgthree OpenBSD 8-bit color frame buffer
cgfour OpenBSD 8-bit color frame buffer
cgeight OpenBSD 24-bit color frame buffer
bwtwo OpenBSD monochromatic frame buffer
bwtwo OpenBSD monochromatic frame buffer
cgtwo OpenBSD 8-bit color frame buffer
cgsix OpenBSD accelerated 8-bit color frame buffer
glcopypixels IRIX copy pixels in the frame buffer
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service