mac-rom/Toolbox/NotificationMgr/task.h
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

272 lines
7.1 KiB
C

/*EASE$$$ READ ONLY COPY of file Òtask.hÓ
** 1.2 CCH 11/ 9/1988 Fixed header.
** 1.1 CCH 11/ 9/1988 Fixed headers and removed projector resource.
** 1.0 CCH 11/ 9/1988 Adding to EASE.
** END EASE MODIFICATION HISTORY */
/*
* Task.h -- Interface to the Twitcher tasking routines.
*
* C Interface to the Macintosh Libraries
* Copyright Apple Computer,Inc. 1985,1986
* All rights reserved.
*
* (C) Copyright Apple Computer, Inc. 1986
*
* Written by Erich Ringewald
*
* 26 Nov 86 New Today.
*
*/
#ifndef __KERNEL__
#include <kernel.h>
#endif
#ifndef __TASK__
#define __TASK__
/*__________________________________________________________________*/
/* Task Manager */
/*__________________________________________________________________*/
struct procinfo {
short p_state; /* process state */
short p_mypid; /* the process id */
long p_type; /* type of task (usually APPL) */
long p_signature; /* signature of task */
long p_version; /* version of task */
THz p_zone; /* pointer to minor zone */
unsigned long p_taskmode; /* tasks created mode */
Boolean p_needsuspresevts; /* whether or not the process expects suspend and resume events */
Boolean p_back; /* can accept background time */
Boolean p_activateonresume; /* whether the app will activate and deactivate on susppend/resume */
short p_dad; /* process id of my dad */
unsigned long p_size; /* size of his world */
unsigned long p_ssize; /* size of his stack */
unsigned long p_slices; /* # of times process has CPU */
unsigned long p_freemem; /* amount of free memory in heap */
Str31 p_name; /* name of backing app */
short p_vrefnum /* vrefnum of app res file as passed to _TWLaunch */
};
/* Constants for printer type calls */
#define PRTYPE_CHANGESTATUS_SAME (-1)
#define PRTYPE_CHANGESTATUS_DISABLED (0)
#define PRTYPE_CHANGESTATUS_ENABLED (1)
/*
* mask constants for the longword bitmap of taskmode given to the
* launch command.
*/
#define MULTILAUNCH (0x00010000)
#define SAVESCREEN (0x00008000)
#define GETSUSPRESEVENTS (0x00004000)
#define OPTIONKEYDISABLE (0x00002000)
#define GETBACKTIME (0x00001000)
#define ACTIVATEONRESUME (0x00000800)
#define ONLYBACKGROUND (0x00000400)
/*__________________________________________________________________*/
/* Task call MACRO definitions */
/*__________________________________________________________________*/
#define TWLaunch(name, size, vrefnum, taskmode, stack) \
_TWLaunch((name), (size), (vrefnum), (taskmode), (stack), TWLAUNCHID)
#define TWFGSwitch(pid) \
_TWFGSwitch((pid), TWFGSWITCHID)
#define TWKill(pid) \
_TWKill((pid), TWKILLID)
#define TWGetPID() \
_TWGetPID(TWGETPIDID)
#define TWSetDeskRgn(deskrgn) \
_TWSetDeskRgn((deskrgn), TWSETDESKRGNID)
#define TWMaxMem(grow) \
_TWMaxMem((grow), TWMAXMEMID)
#define TWMemTop() \
_TWMemTop(TWMEMTOPID)
#define TWGetProcInfo(pid, inforec) \
_TWGetProcInfo((pid), (inforec), TWGETPROCINFOID)
#define TWFreeMem() \
_TWFreeMem(TWFREEMEMID)
#define TWDontSwitch() \
_TWDontSwitch(TWDONTSWITCHID)
#define TWDoSwitch() \
_TWDoSwitch(TWDOSWITCHID)
#define TWPostPseudoEvent(pid, theevent, priority) \
_TWPostPseudoEvent((pid), (theevent), (priority), TWPOSTPSEUDOID)
#define TWPostAllPseudoEvent(signature, type, theevent, priority) \
_TWPostAllPseudoEvent((signature), (type), (theevent), (priority), TWPOSTALLPSEUDOID)
#define TWSleep(time) \
_TWSleep((time), TWSLEEPID)
#define TWTempNewHandle(logicalSize, resultCode) \
_TWTempNewHandle((logicalSize), (resultCode), TWTEMPNEWHANDLEID)
#define TWTempHLock(h, resultCode) \
_TWTempHLock((h), (resultCode), TWTEMPHLOCKID)
#define TWTempHUnLock(h, resultCode) \
_TWTempHUnLock((h), (resultCode), TWTEMPHUNLOCKID)
#define TWTempDisposHandle(h, resultCode) \
_TWTempDisposHandle((h), (resultCode), TWTEMPDISPOSHANDLEID)
#define TWSetStdFileDir(pid, sfSaveDisk, curDirID) \
_TWSetStdFileDir(pid, sfSaveDisk, curDirID, TWSETSTDFILEDIRID)
#define TWGetPrTypeStrings(pLocalStrPtr, pGlobalStrPtr) \
_TWGetPrTypeStrings(pLocalStrPtr, pGlobalStrPtr, TWGETPRTYPESTRINGSID)
#define TWSetPrTypeStrings(localStrPtr, globalStrPtr, enablePrTypeChanges) \
_TWSetPrTypeStrings(localStrPtr, globalStrPtr, enablePrTypeChanges, TWSETPRTYPESTRINGSID)
#define TWBackgroundNotify(msgStringPtr) \
_TWBackgroundNotify(msgStringPtr, TWBACKGROUNDNOTIFYID)
pascal short _TWLaunch(name, size, vrefnum, taskmode, stack, dispatch)
char *name;
unsigned long size, stack;
short vrefnum;
unsigned long taskmode;
short dispatch;
extern KERNELDISPATCH;
pascal long _TWFGSwitch(pid, dispatch)
short pid;
short dispatch;
extern KERNELDISPATCH;
pascal long _TWKill(pid, dispatch)
short pid;
short dispatch;
extern KERNELDISPATCH;
pascal short _TWGetPID(dispatch)
short dispatch;
extern KERNELDISPATCH;
pascal void _TWSetDeskRgn(deskrgn, dispatch)
RgnHandle deskrgn;
short dispatch;
extern KERNELDISPATCH;
pascal long _TWMaxMem(grow, dispatch)
long *grow;
short dispatch;
extern KERNELDISPATCH;
pascal Ptr _TWMemTop(dispatch)
short dispatch;
extern KERNELDISPATCH;
pascal long _TWGetProcInfo(pid, inforec, dispatch)
short pid;
struct procinfo *inforec;
short dispatch;
extern KERNELDISPATCH;
pascal Size _TWFreeMem(dispatch)
short dispatch;
extern KERNELDISPATCH;
pascal void _TWDontSwitch(dispatch)
short dispatch;
extern KERNELDISPATCH;
pascal void _TWDoSwitch(dispatch)
short dispatch;
extern KERNELDISPATCH;
pascal void _TWPostPseudoEvent(pid, theevent, priority, dispatch)
short pid;
Ptr theevent;
unsigned short priority;
short dispatch;
extern KERNELDISPATCH;
pascal short
_TWPostAllPseudoEvent(signature, tyype, pEvent, priority, dispatch)
long signature, tyype;
EventRecord *pEvent;
unsigned short priority;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWSleep(time, dispatch)
unsigned long time;
short dispatch;
extern KERNELDISPATCH;
pascal Handle _TWTempNewHandle(logicalSize, resultCode, dispatch)
unsigned long logicalSize;
short *resultCode;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWTempHLock(h, resultCode, dispatch)
Handle h;
short *resultCode;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWTempHUnLock(h, resultCode, dispatch)
Handle h;
short *resultCode;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWTempDisposHandle(h, resultCode, dispatch)
Handle h;
short *resultCode;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWSetStdFileDir(pid, sfSaveDisk, curDirID, dispatch)
short pid;
short sfSaveDisk;
unsigned long curDirID;
short dispatch;
extern KERNELDISPATCH;
pascal char _TWGetPrTypeStrings(pLocalStrPtr, pGlobalStrPtr, dispatch)
StringPtr *pLocalStrPtr, *pGlobalStrPtr;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWSetPrTypeStrings(localStrPtr, globalStrPtr, enablePrTypeChanges, dispatch)
StringPtr localStrPtr, globalStrPtr;
char enablePrTypeChanges;
short dispatch;
extern KERNELDISPATCH;
pascal void _TWBackgroundNotify(msgStringPtr, dispatch)
StringPtr msgStringPtr;
short dispatch;
extern KERNELDISPATCH;
#endif