Annotation of researchv10dc/630/include/object.h, revision 1.1.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.