Annotation of researchv10dc/630/include/object.h, revision 1.1

1.1     ! root        1: /*       Copyright (c) 1987 AT&T   */
        !             2: /*       All Rights Reserved       */
        !             3: 
        !             4: /*       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T   */
        !             5: /*       The copyright notice above does not evidence any      */
        !             6: /*       actual or intended publication of such source code.   */
        !             7: 
        !             8: #include <sccsid.h>
        !             9: HVERSION(object, @(#)object.h  1.1.1.5 (5/12/87));
        !            10: 
        !            11: typedef struct Cache {
        !            12:        struct Obj *fobj;       /* first object in the cache */
        !            13:        struct Obj *lobj;       /* last object in the cache */
        !            14:        long num;               /* number of objects in the cache */
        !            15:        int cindex;             /* cache index */
        !            16:        long ftf;               /* for the future */
        !            17: } Cache;
        !            18: 
        !            19: typedef struct Obj {
        !            20:        char *name;                     /* key name of object */
        !            21:        int type;                       /* type of object*/
        !            22:        int cindex;                     /* index of the cache the object resides */
        !            23:        long ftf;                       /* for the future */
        !            24:        struct Obj_user *user;          /* list of processes using this object */
        !            25:        struct Obj *next;               /* links to next object in the cache */
        !            26: 
        !            27:        union { 
        !            28:                struct Appl *cappl;     /* cached applications */
        !            29:                struct Font *cfont;     /* cached fonts */
        !            30:                struct Netw *cnetw;     /* not defined yet */
        !            31:                struct Msg  *cmsg;      /* not defined yet */
        !            32:                struct Fln  *cfln;      /* not defined yet */
        !            33:                struct Usr1 *cusr1;     /* user 1 cache */
        !            34:                struct Usr2 *cusr2;     /* user 2 cache */
        !            35:                struct Usr3 *cusr3;     /* user 3 cache */
        !            36:        } info;
        !            37: } Obj;
        !            38: 
        !            39: typedef struct Obj_user {
        !            40:        struct Proc *proc;              /* process requesting the object */
        !            41:        struct Obj_user *next;          /* next process */
        !            42: } Obj_user;
        !            43:        
        !            44: 
        !            45: typedef struct Appl {
        !            46:        long status;            /* status of the Appl object */
        !            47: 
        !            48:        char *text;             /* executing code */
        !            49:        char *data;             /* data section */
        !            50:        char *bss;              /* bss section */
        !            51:        int argc;               /* number of arguments */
        !            52:        char **argv;            /* strings of arguments */
        !            53:        unsigned long stksize;  /* stack size */
        !            54:        unsigned long progid;   /* programming environment ID (not used) */
        !            55:        Rectangle rect;         /* default window size of application */
        !            56: 
        !            57:        char *caption;          /* text for this item as appeared in More menu */
        !            58:        struct Tmenu *next;     /* submenu from this item */
        !            59:         struct Bitmap *icon;   /* icon for this item */
        !            60:        void (*update)();       /* update for menu generation */
        !            61:        void (*exec)();         /* execute this after item is selected */
        !            62: 
        !            63:        long ftf;               /* for the future */
        !            64: } Appl;
        !            65:        
        !            66: 
        !            67: /* Type of an object */
        !            68: #define SHARED         0x1     /* no mutual exclusion in usage */
        !            69: #define PERMANENT      0x2     /* cannot "uncache" it */
        !            70: 
        !            71: /* Cache index */
        !            72: #define APPLCACHE              0x0     /* applications (supported) */
        !            73: #define FONTCACHE              0x1     /* fonts (supported) */
        !            74: #define NETWCACHE              0x2     /* network drivers (reserved) */
        !            75: #define MSGCACHE               0x3     /* messages (reserved) */
        !            76: #define FILECACHE              0x4     /* files and data (reserved) */
        !            77: #define USER1CACHE             0x5     /* open */
        !            78: #define USER2CACHE             0x6     /* open */
        !            79: #define USER3CACHE             0x7     /* open */
        !            80: #define NCACHE                 0x8     /* total: eight caches */               
        !            81: 
        !            82: 
        !            83: /* Status of an APPL object */
        !            84: #define SWEEP          (long)0x1       /* can run in different size windows */
        !            85: #define CONNECT                (long)0x2       /* runs as connected to a host */
        !            86: #define SHOWOFF                (long)0x4       /* shows off on the More menu */
        !            87: #define COMMAND                (long)0x8       /* is a command, not a window application */
        !            88: #define NOTKEYABLE     (long)0x10      /* cannot call up from "dmdld" */
        !            89: 
        !            90: #define MEMTEXT                (long)0x20      /* text section is allocated */
        !            91: #define MEMDATA                (long)0x40      /* data section is allocated */
        !            92: #define MEMBSS         (long)0x80      /* bss section is allocated */
        !            93: #define MEMARGV                (long)0x100     /* argv array is allocated */
        !            94: #define MEMCAPTION     (long)0x200     /* caption string is allocated */
        !            95: #define MEMMENU                (long)0x400     /* menu structure is allocated */
        !            96: #define MEMICON                (long)0x800     /* bitmap icon structure is allocated */
        !            97: 
        !            98: 
        !            99: /* Fields arguments to the function cache(3L) */
        !           100: #define A_TEXT         0x1             /* shared text */
        !           101: #define A_NO_SHOW      0x2             /* do not show on menu */
        !           102: #define A_BSS          0x4             /* do save original .bss section */
        !           103: #define A_DATA         0x8             /* do save original .data section */
        !           104: #define A_NO_BOOT      0x10            /* cannot boot from "dmdld" */
        !           105: #define A_PERMANENT    0x20            /* cannot be removed from cache */
        !           106: 
        !           107: #define A_SHARED       (A_TEXT|A_DATA|A_BSS)   /* shared text */
        !           108: 
        !           109: Obj *realcache();
        !           110: Obj *findobj();
        !           111: Obj_user *objused();
        !           112: void unreqcache();

unix.superglobalmegacorp.com

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