2021-10-11 22:19:34 -03:00

55 lines
1.7 KiB
C

/* @(#)49 1.8.1.2 src/bos/kernel/proc/exec.h, sysproc, bos411, 9428A410j 4/1/93 13:40:29 */
/*
* COMPONENT_NAME: SYSPROC
*
* FUNCTIONS: XA_ARGSIZE
* XA_ENVSIZE
*
*
* ORIGINS: 27
*
*
* (C) COPYRIGHT International Business Machines Corp. 1988,1993
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
/* user stack area sizes */
#define XA_ARGSIZE(xp) (NBPW*((xp)->na+1))
#define XA_ENVSIZE(xp) (NBPW*((xp)->ne+1))
#define INTERPRET 256
/*
* exec argument structure
* (used to pass argument information between internal subroutines)
*/
struct xargs {
char *fname; /* name of file to exec */
char **argp; /* array of ptrs to arguments */
char **envp; /* array of ptrs to env variables */
char *libpath; /* address of copy of LIBPATH environment value */
int indir; /* TRUE if indirect shell file */
int loaderror; /* TRUE if execload failed once */
int (*ep)(); /* entry point function pointer */
struct top_of_stack *ucp; /* user stack context pointer */
char *buf; /* argument buffer address */
char *ebuf; /* loader error messages */
caddr_t ap; /* user argument area pointer */
int nc; /* number of characters in strings */
int na; /* number of arg strings */
int ne; /* number of env strings */
char cfname[MAXCOMLEN+1]; /* base file name */
char cfarg[INTERPRET]; /* indirect file argument */
};
/* current exec file information */
union execunionX { /* file header union */
struct xcoffhdr u_xcoffhdr; /* xcoff header */
char u_exshell[INTERPRET]; /* #! + name of interpreter */
};