|
|
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.