|
|
researchv10 Dan Cross
/* Copyright (c) 1987 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#include <sccsid.h>
HVERSION(object, @(#)object.h 1.1.1.5 (5/12/87));
typedef struct Cache {
struct Obj *fobj; /* first object in the cache */
struct Obj *lobj; /* last object in the cache */
long num; /* number of objects in the cache */
int cindex; /* cache index */
long ftf; /* for the future */
} Cache;
typedef struct Obj {
char *name; /* key name of object */
int type; /* type of object*/
int cindex; /* index of the cache the object resides */
long ftf; /* for the future */
struct Obj_user *user; /* list of processes using this object */
struct Obj *next; /* links to next object in the cache */
union {
struct Appl *cappl; /* cached applications */
struct Font *cfont; /* cached fonts */
struct Netw *cnetw; /* not defined yet */
struct Msg *cmsg; /* not defined yet */
struct Fln *cfln; /* not defined yet */
struct Usr1 *cusr1; /* user 1 cache */
struct Usr2 *cusr2; /* user 2 cache */
struct Usr3 *cusr3; /* user 3 cache */
} info;
} Obj;
typedef struct Obj_user {
struct Proc *proc; /* process requesting the object */
struct Obj_user *next; /* next process */
} Obj_user;
typedef struct Appl {
long status; /* status of the Appl object */
char *text; /* executing code */
char *data; /* data section */
char *bss; /* bss section */
int argc; /* number of arguments */
char **argv; /* strings of arguments */
unsigned long stksize; /* stack size */
unsigned long progid; /* programming environment ID (not used) */
Rectangle rect; /* default window size of application */
char *caption; /* text for this item as appeared in More menu */
struct Tmenu *next; /* submenu from this item */
struct Bitmap *icon; /* icon for this item */
void (*update)(); /* update for menu generation */
void (*exec)(); /* execute this after item is selected */
long ftf; /* for the future */
} Appl;
/* Type of an object */
#define SHARED 0x1 /* no mutual exclusion in usage */
#define PERMANENT 0x2 /* cannot "uncache" it */
/* Cache index */
#define APPLCACHE 0x0 /* applications (supported) */
#define FONTCACHE 0x1 /* fonts (supported) */
#define NETWCACHE 0x2 /* network drivers (reserved) */
#define MSGCACHE 0x3 /* messages (reserved) */
#define FILECACHE 0x4 /* files and data (reserved) */
#define USER1CACHE 0x5 /* open */
#define USER2CACHE 0x6 /* open */
#define USER3CACHE 0x7 /* open */
#define NCACHE 0x8 /* total: eight caches */
/* Status of an APPL object */
#define SWEEP (long)0x1 /* can run in different size windows */
#define CONNECT (long)0x2 /* runs as connected to a host */
#define SHOWOFF (long)0x4 /* shows off on the More menu */
#define COMMAND (long)0x8 /* is a command, not a window application */
#define NOTKEYABLE (long)0x10 /* cannot call up from "dmdld" */
#define MEMTEXT (long)0x20 /* text section is allocated */
#define MEMDATA (long)0x40 /* data section is allocated */
#define MEMBSS (long)0x80 /* bss section is allocated */
#define MEMARGV (long)0x100 /* argv array is allocated */
#define MEMCAPTION (long)0x200 /* caption string is allocated */
#define MEMMENU (long)0x400 /* menu structure is allocated */
#define MEMICON (long)0x800 /* bitmap icon structure is allocated */
/* Fields arguments to the function cache(3L) */
#define A_TEXT 0x1 /* shared text */
#define A_NO_SHOW 0x2 /* do not show on menu */
#define A_BSS 0x4 /* do save original .bss section */
#define A_DATA 0x8 /* do save original .data section */
#define A_NO_BOOT 0x10 /* cannot boot from "dmdld" */
#define A_PERMANENT 0x20 /* cannot be removed from cache */
#define A_SHARED (A_TEXT|A_DATA|A_BSS) /* shared text */
Obj *realcache();
Obj *findobj();
Obj_user *objused();
void unreqcache();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.