Annotation of 43BSD/contrib/X/libqvss/ddxpacket.c, revision 1.1.1.1

1.1       root        1: /* packet.c    Routines to allocate, free, and use packets
                      2:  *
                      3:  *     OpenDisplay             Open it
                      4:  *     InitDisplay             Download it
                      5:  *     DisplayDead             Check if dead
                      6:  *     Allocate_space          Allocate some temporary storage
                      7:  *     Deallocate_space        Flush space of unsent packet
                      8:  *
                      9:  */
                     10: 
                     11: 
                     12: #include <stdio.h>
                     13: #include <fcntl.h>
                     14: #include <errno.h>
                     15: #include <sys/types.h>
                     16: #include <sys/ioctl.h>
                     17: #include "ddxqvss.h"
                     18: #include <vaxuba/qvioctl.h>
                     19: 
                     20: vsIoAddr *VSAddr;
                     21: vsEvent *VSEvent;
                     22: int VSqMax;
                     23: 
                     24: BITMAP pbm;            /* the actual screen memory    */
                     25: BITMAP vbm;            /* the size of the root window */
                     26: caddr_t ltable[YSIZE]; /* line address table          */
                     27: 
                     28: int vsdev = -1;
                     29: extern int errno;
                     30: 
                     31: /* Open the display */
                     32: 
                     33: /*ARGSUSED*/
                     34: OpenDisplay (vsNumber)
                     35:        char *vsNumber;
                     36: {
                     37:        char vsname[10];
                     38: 
                     39:        return(vsdev = open ("/dev/mouse", O_RDWR|O_NDELAY));
                     40: }
                     41: 
                     42: /* Do qvss specific initialization */
                     43: 
                     44: InitDisplay (info)
                     45:        register DEVICE *info;
                     46: {
                     47:        register int i;
                     48:        if (ioctl(vsdev,QIOCADDR,&VSAddr) == -1) return(-1);
                     49:        if (ioctl(vsdev,QIOCINIT,0) == -1) return(-1);
                     50:        VSEvent = VSAddr->ibuff;
                     51:        VSqMax = VSAddr->iqsize - 1;
                     52:        vbm.data = VSAddr->bitmap;
                     53:        vbm.width = VSAddr->max_x;
                     54:        vbm.height = VSAddr->max_y;
                     55:        pbm.data = VSAddr->bitmap;
                     56:        pbm.width = 1024;
                     57:        pbm.height = VSAddr->max_y;
                     58:        for(i = 0; i < YSIZE; i++)  ltable[i] = VSAddr->bitmap + (i * XSIZE);
                     59:        info->id = XDEV_QVSS;
                     60:        info->width = vbm.width;
                     61:        info->height = vbm.height;
                     62:        info->planes = 1;
                     63:        info->entries = 0;
                     64:        info->mouse = &VSAddr->mouse;
                     65:        info->mbox  = &VSAddr->mbox;
                     66:        info->queue = (vsEventQueue *) &VSAddr->ibuff;
                     67:        return (0);
                     68: }
                     69: 
                     70: /* Check if display is dead */
                     71: 
                     72: DisplayDead ()
                     73: {
                     74:        return(0);
                     75: }
                     76: 
                     77: /* the presumption here is that only one Allocate_space call is made/request */
                     78: 
                     79: #define ABUFSIZE 3072
                     80: static char ABuffer[3072];     /* random size buffer for allocate space */
                     81: caddr_t AllocateSpace (size)
                     82:        register int size;
                     83: {
                     84:        if (size < ABUFSIZE) return(ABuffer);
                     85:        errno = ENOMEM;
                     86:        return (NULL);
                     87: }
                     88: 
                     89: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.