Annotation of researchv9/X11/src/X.V11R1/server/include/extnsionst.h, revision 1.1

1.1     ! root        1: /* $Header: extnsionst.h,v 1.4 87/08/31 19:58:18 toddb Exp $ */
        !             2: /***********************************************************
        !             3: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
        !             4: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
        !             5: 
        !             6:                         All Rights Reserved
        !             7: 
        !             8: Permission to use, copy, modify, and distribute this software and its 
        !             9: documentation for any purpose and without fee is hereby granted, 
        !            10: provided that the above copyright notice appear in all copies and that
        !            11: both that copyright notice and this permission notice appear in 
        !            12: supporting documentation, and that the names of Digital or MIT not be
        !            13: used in advertising or publicity pertaining to distribution of the
        !            14: software without specific, written prior permission.  
        !            15: 
        !            16: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
        !            17: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
        !            18: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
        !            19: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
        !            20: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
        !            22: SOFTWARE.
        !            23: 
        !            24: ******************************************************************/
        !            25: #ifndef EXTENSIONSTRUCT_H
        !            26: #define EXTENSIONSTRUCT_H 
        !            27: #include "extension.h"
        !            28: typedef struct _ExtensionEntry {
        !            29:     int index;
        !            30:     void (* CloseDown)();      /* called at server shutdown */
        !            31:     char *name;               /* extension name */
        !            32:     int base;                 /* base request number */
        !            33:     int eventBase;            
        !            34:     int eventLast;
        !            35:     int errorBase;
        !            36:     int errorLast;
        !            37:     pointer extPrivate;
        !            38: } ExtensionEntry;
        !            39: 
        !            40: typedef void (* ExtensionLookupProc)();
        !            41: 
        !            42: typedef struct _ProcEntry {
        !            43:     char *name;
        !            44:     ExtensionLookupProc proc;
        !            45: } ProcEntryRec, *ProcEntryPtr;
        !            46: 
        !            47: typedef struct _ScreenProcEntry {
        !            48:     int num;
        !            49:     ProcEntryPtr procList;
        !            50: } ScreenProcEntry;
        !            51: 
        !            52: #define    InsertGCI(pGC, pGCI, order, pPrevGCI)    \
        !            53:           order(pGC,pGCI,pPrevGCI)
        !            54: 
        !            55: #define GCI_FIRST(pGC,pGCI,dummy)\
        !            56:     {                                      \
        !            57:     pGCI->pNextGCInterest = pGC->pNextGCInterest;\
        !            58:     pGCI->pLastGCInterest = (GCInterestPtr)&pGC->pNextGCInterest; \
        !            59:     pGC->pNextGCInterest->pLastGCInterest = pGCI; \
        !            60:     pGC->pNextGCInterest=pGCI;             \
        !            61:     }                                      
        !            62: 
        !            63: #define GCI_MIDDLE(pGC,pGCI,pPrevGCI)\
        !            64:     {                                      \
        !            65:     pGCI->pNextGCInterest = pPrevGCI->pNextGCInterest;\
        !            66:     pGCI->pLastGCInterest = (GCInterestPtr)&pPrevGCI->pNextGCInterest; \
        !            67:     pPrevGCI->pNextGCInterest->pLastGCInterest = pGCI; \
        !            68:     pPrevGCI->pNextGCInterest=pGCI;                \
        !            69:     }
        !            70: 
        !            71: #define GCI_LAST(pGC,pGCI,dummy)\
        !            72:     {                                      \
        !            73:     pGCI->pNextGCInterest = (GCInterestPtr)&pGC->pNextGCInterest;\
        !            74:     pGCI->pLastGCInterest = pGC->pLastGCInterest;\
        !            75:     pGC->pLastGCInterest->pNextGCInterest = pGCI;\
        !            76:     pGC->pLastGCInterest=pGCI;              \
        !            77:     }
        !            78: 
        !            79: #define RemoveGCI(pGCI) \
        !            80:        pGCI->pNextGCInterest->pLastGCInterest = pGCI->pLastGCInterest;\
        !            81:        pGCI->pLastGCInterest->pNextGCInterest = pGCI->pNextGCInterest;\
        !            82:        pGCI->pNextGCInterest = 0;\
        !            83:        pGCI->pLastGCInterest = 0;
        !            84: 
        !            85: #define    SetGCVector(pGC, VectorElement, NewRoutineAddress, Atom)    \
        !            86:     pGC->VectorElement = NewRoutineAddress;
        !            87: 
        !            88: #define    GetGCValue(pGC, GCElement)    (pGC->GCElement)
        !            89: 
        !            90: extern void InitExtensions();
        !            91: extern int ProcQueryExtension();
        !            92: extern int ProcListExtensions();
        !            93: extern ExtensionEntry *AddExtension();
        !            94: extern ExtensionLookupProc LookupProc();
        !            95: extern void RegisterProc();
        !            96: extern void RegisterScreenProc();
        !            97: 
        !            98: /*  List of extension procs go here */
        !            99: 
        !           100: #endif /* EXTENSIONSTRUCT_H */

unix.superglobalmegacorp.com

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