|
|
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();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.