sys7.1-doc-wip/ProcessMgr/Aux.h
2019-07-27 22:37:48 +08:00

113 lines
4.8 KiB
C

/*
C Interface to the Macintosh Libraries
Copyright Apple Computer,Inc. 1987-9
All rights reserved.
*/
/*
These constants define selectors for the AUXDispatch call. This call
should be used only after using Gestalt to determine that the application
is running under A/UX.
*/
#ifndef unix
pascal long AUXDispatch(short selector, char *p)
= {0xABF9};
typedef pascal long
(*AUXDispatch_ptr)(short selector, char *p);
#endif unix
#define AUX_HIGHEST 0 /* return highest available selector , p is not used */
#define AUX_GET_ERRNO 1 /* get pointer to errno , p points to (int *) */
#define AUX_GET_PRINTF 2 /* get pointer to printf() , p points to ((*int) ()) */
#define AUX_GET_SIGNAL 3 /* get pointer to signal() , p points to ((*int) ()) */
#define AUX_GET_TIMEOUT 4 /* return nice timeout value in clock ticks , p is not used */
#define AUX_SET_SELRECT 5 /* set a mouse movement rectangle to use in */
/* future select() calls. p points to a Rect */
#define AUX_CHECK_KIDS 6 /* check to see if a given process has kids p points */
/* to an integer containing the process id */
#define AUX_POST_MODIFIED 7 /* post an event, with modifiers */
#define AUX_FIND_EVENT 8 /* search event queue for an event */
#define AUX_GET_UDEVFD 9 /* get pointer to udevfd */
/* p points to (int *) */
#define AUX_GET_CDEVFD 10 /* get pointer to cdevfd */
/* p points to (int *) */
#define AUX_GET_ENVIRON 11 /* get pointer to environ */
/* p points to (char ***) */
#define AUX_LOGOUT 12 /* call routine to do whatever it takes to logout */
#define AUX_SWITCH 13 /* process context switch */
#define AUX_GETTASK 14 /* get a/ux task descriptor */
#define AUX_GETANYEVENT 15 /* get any event from the event queue */
#define AUX_SETAUXMASK 16 /* a/ux events should be returned by GetOSEvent and */
/* OSEventAvail, p is an int */
#define AUX_STOPTIMER 17 /* turn off the vbl and time mgr interrupt */
#define AUX_STARTTIMER 18 /* turn on the vbl and time mgr interrupt */
#define AUX_SETTIMEOUT 19 /* set the timeout value for GetOSEvent */
#define AUX_SETBOUNDS 20 /* set the mouse moved region for GetOSEvent */
#define AUX_KILL 21 /* kill the specified process, p contains a pid */
#define AUX_FORKEXEC 22 /* fork and exec a new coff binary */
#define AUX_REG_SIGIO 23 /* register a function and mask for SIGIO muxing */
#define AUX_UNREG_SIGIO 24 /* unregister a function for SIGIO muxing */
#define AUX_VFS_VREFNUM 25 /* return the VREFNUM used for "/" */
#define AUX_CLEANFS 26 /* clean fs shutdown for Login */
#define AUX_TRIM_CACHE 27 /* dispatch to compact the File Manager cache */
#define AUX_ID_TO_PATH 28 /* translate a CNID to a *valid* UNIX path */
#define AUX_FS_FREE_SPACE 29 /* get the # of free bytes for a filesystem */
#define AUX_CHECK_TB_LAUNCH 30 /* check if OK to launch the file */
#define AUX_FS_USED_SPACE 31 /* get the # of used bytes for a filesystem */
#define AUX_SAME_FS 32 /* returns true if 2 dirIDs on same FS */
#define AUX_MNT_CD 33 /* try to mount any available CD-ROMs */
#define AUX_RESTART_DLOG 34 /* post restart dialog but don't restart */
#define AUX_SHUTDOWN_DLOG 35 /* post shutdown dialog but don't shutdown */
#define AUX_SECONDARY_INIT 36 /* Perform secondary initializations. */
#define AUX_COFFFSSPEC 37 /* Get fsspec for a coff binary, p is the taskid */
#define AUX_HOME_DIR 38 /* Get the cnid of the home directory */
#define AUX_GETUID 39 /* Get the effective user id */
#define AUX_POST_EVTREC 40 /* post an entire event record */
#define AUX_FSTYPE 41 /* return the UNIX file sys type for a dir */
#define AUX_MAP_ID 42 /* moral equiv to PBMapID() */
#define AUX_MAP_NAME 43 /* moral equiv to PBMapName() */
#define AUX_SAME_DIRS 44 /* returns TRUE if 2 dirs stat equal */
#define AUX_SYNC_DIR 45 /* Used to inform the File Mgr when to */
/* check dirs for open folders. */
#define AUX_BEGINAPPLICATION 46 /* Start up application */
#define AUX_ENABLECOFFLAUNCH 50 /* Enable launch of coff applications? */
#define MAX_SELECTOR AUX_ENABLECOFFLAUNCH
typedef struct
{
EventRecord event;
long timeout;
RgnHandle mouseBounds;
Boolean pullIt;
Boolean found;
short mask;
} GetAnyEventRec, *GetAnyEventPtr;
#define FIRST_AUX_EVENT 16
#define LAST_AUX_EVENT 18
enum
{
auxAttachEvent = FIRST_AUX_EVENT,
auxExitEvent,
auxSelectEvent
};
typedef struct
{
short vrefnum;
char *name;
short pid;
} ForkExecRec, *ForkExecPtr;
typedef struct {
struct FSSpec fsspec;
long taskid;
} CoffName;