Annotation of researchv10no/libj/jerq.h, revision 1.1.1.1

1.1       root        1: #define        DADDR           ((unsigned short *)(0x500000)) /* display base address/4 */
                      2: #define        YMOUSE          ((short *)(0x400000))
                      3: #define        XMOUSE          ((short *)(0x400002))
                      4: #define        WORDSHIFT       5
                      5: #define        WORDSIZE        32
                      6: #define        WORDMASK        (WORDSIZE-1)
                      7: #define        ONES            0xFFFFFFFF
                      8: #define        FIRSTBIT        ((unsigned)0x80000000)
                      9: #define        LASTBIT         ((unsigned)0x1)
                     10: #define        XMAX            800
                     11: #define        YMAX            1024
                     12: 
                     13: #define TGROW  1
                     14: #define TMOVE  0
                     15: 
                     16: typedef int    Word;           /* 32 bits */
                     17: 
                     18: typedef unsigned int   UWord;  /* 32 bits */
                     19: 
                     20: typedef struct Point {
                     21:        short   x;
                     22:        short   y;
                     23: } Point;
                     24: 
                     25: typedef struct Rectangle {
                     26:        Point origin;
                     27:        Point corner;
                     28: } Rectangle;
                     29: 
                     30: #ifdef lint
                     31: extern Point           Pt();
                     32: extern Rectangle       Rect();
                     33: extern Rectangle       Rpt();
                     34: #else
                     35: #define        Pt(x, y)        ((((short)(y))<<16)|((unsigned short)(x)))
                     36: #define        Rect(x1, y1, x2, y2)    Pt(x1, y1), Pt(x2, y2)
                     37: #define        Rpt(p1, p2)             (p1), (p2)
                     38: #endif
                     39: 
                     40: typedef struct Bitmap {
                     41:        int jname;              /* symbolic name agreed on by host and terminal */
                     42:        Rectangle rect;         /* rectangle in data area, local coords */
                     43: } Bitmap;
                     44: 
                     45: typedef struct Menu{
                     46:        char    **item;                 /* string array, ending with 0 */
                     47:        char    *(*generator)();        /* used if item == 0 */
                     48: } Menu;
                     49: 
                     50: typedef struct Texture32 {
                     51:        Word bits[32];
                     52: } Texture32;
                     53: 
                     54: typedef struct Texture {
                     55:        short   bits[16];
                     56: } Texture;
                     57: 
                     58: typedef struct Mouse {
                     59:        Point   xy;
                     60:        short   buttons;
                     61: } Mouse;
                     62: 
                     63: 
                     64: extern Mouse mouseQ[];
                     65: extern int Qnum;
                     66: 
                     67: typedef struct Fontchar
                     68: {
                     69:        short x;                /* left edge of bits */
                     70:        unsigned char top;      /* first non-zero scan-line */
                     71:        unsigned char bottom;   /* last non-zero scan-line */
                     72:        char left;              /* offset of baseline */
                     73:        unsigned char width;    /* width of baseline */
                     74:        short junk;             /* there are two bytes of junk in the DMD files */
                     75: } Fontchar;
                     76: 
                     77: typedef struct Font
                     78: {
                     79:        short n;                /* number of chars in font */
                     80:        char height;            /* height of bitmap */
                     81:        char ascent;            /* top of bitmap to baseline */
                     82:        long unused;            /* in case we think of more stuff */
                     83:        Fontchar info[1];               /* n+1 character descriptors */
                     84: } Font;
                     85: 
                     86: extern Font *getfont();                /* takes the font name char *name */
                     87: extern Font *fntab[];
                     88: #define        defont  (*fntab[0])
                     89: 
                     90: extern int mousebuttons();
                     91: extern Point mousexy();
                     92: #define button(i)              (mousebuttons()&(8>>i))
                     93: #define button1()              (mousebuttons()&4)
                     94: #define button2()              (mousebuttons()&2)
                     95: #define button3()              (mousebuttons()&1)
                     96: #define button12()             (mousebuttons()&6)
                     97: #define button13()             (mousebuttons()&5)
                     98: #define button23()             (mousebuttons()&3)
                     99: #define button123()            (mousebuttons()&7)
                    100: 
                    101: Rectangle getrectb(), getrect();
                    102: #define getrect1()             getrectb(4)
                    103: #define getrect2()             getrectb(2)
                    104: #define getrect3()             getrectb(1)
                    105: #define getrect12()            getrectb(6)
                    106: #define getrect13()            getrectb(5)
                    107: #define getrect23()            getrectb(3)
                    108: #define getrect123()           getrectb(7)
                    109: 
                    110: #define        muldiv(a,b,c)   ((long)((a)*((long)b)/(c)))
                    111: 
                    112: extern Word topbits[], botbits[];      /* now full 32 bit words */
                    113: extern Rectangle Jrect;
                    114: extern Rectangle Drect;
                    115: extern Bitmap BMT[];
                    116: #define        display BMT[0]
                    117: 
                    118: typedef int    Code;
                    119: #define        F_STORE ((Code) 0)      /* target = source */
                    120: #define        F_OR    ((Code) 1)      /* target |= source */
                    121: #define        F_CLR   ((Code) 2)      /* target &= ~source */
                    122: #define        F_XOR   ((Code) 3)      /* target ^= source */
                    123: Point add(), sub(), mul(), div(), jstring(), string();
                    124: Rectangle rsubp(), raddp(), inset();
                    125: Bitmap *balloc();
                    126: Texture *cursswitch();
                    127: Point trackarc(), trackbox(), trackcircle();
                    128: Point trackdisc(), trackelarc(), trackeldisc();
                    129: Point trackellipse(), trackline(), trackrect();
                    130: Point trackstring();
                    131: 
                    132: #ifndef NULL
                    133: #define        NULL    ((char *)0)
                    134: #endif
                    135: 
                    136: #define        KBD     1
                    137: #define        SEND    2
                    138: #define        MOUSE   4
                    139: #define        RCV     8
                    140: #define        CPU     16
                    141: #define ALARM  32
                    142: 
                    143: /* states */
                    144: #define        RUN             1       /* ready to be scheduled */
                    145: #define        BUSY            2       /* active */
                    146: #define        BLOCKED         4       /* blocked by user with ^S */
                    147: #define        USER            8       /* a user-68ld'd process */
                    148: #define        KBDLOCAL        16      /* has requested the KBD */
                    149: #define        MOUSELOCAL      32      /* has requested the MOUSE */
                    150: #define        GOTMOUSE        64      /* currently owns MOUSE */
                    151: #define        WAKEUP          128     /* tell CONTROL to issue setrun(p) */
                    152: #define        MOVED           256     /* layer got moved */
                    153: #define        UNBLOCKED       512     /* Has been unblocked */
                    154: #define        ZOMBIE          1024    /* proc died horribly; waiting for debugger */
                    155: #define        RESHAPED        2048    /* layer got reshaped */
                    156: #define        ZOMBOOT         4096    /* put in ZOMBIE state after booting */
                    157: #define        ALARMREQD       8192    /* has requested an alarm */    
                    158: 

unix.superglobalmegacorp.com

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