Annotation of researchv9/X11/src/X.V11R1/server/include/extnsionst.h, revision 1.1.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.