#ifdef __cplusplus 
extern "C" {
#endif
#ifndef H_SCCSID
#include <sccs.h>
#endif /* ! H_SCCSID */
H_SCCSID(@(#)execargs.h	1.18	AIX)	/* Modified 9/17/89 00:22:04 */
/* @(#)execargs.h	7.1 - 87/06/16 - 00:10:08 */
/* 
 * (C) Copyright IBM Corp. 1989 
 * All Rights Reserved 
 * Licensed Materials - Property of IBM 
 */
#ifndef _h_EXECARGS
#define _h_EXECARGS

#if vax
char **execargs = (char**)(0x7ffffffc);
#endif
#ifdef _I286
char **execargs = (char**)(-2);
#endif

/*
 * This include file is used to permit ps to print the
 * command line of Bourne shell files.  Given the address of
 * the argument vector for the shell file, the shell uses the
 * newargs() macro to put the address of the argument vector where
 * ps can find it.
 *
 * Conventionally, execargs = USRSTACK - sizeof(char **)
 * where USRSTACK is the address of the top of the user's stack--that is,
 * one more than the highest byte of the stack.
 */
#ifdef RTPC

#include <sys/param.h>
#include <sys/FP.h>
typedef struct {
	FP_MACH fpea;
	unsigned sighack[3];
	char **pshack;
} TopOfStack;

#define FP_loc		(&((TopOfStack *)(USRSTACK-sizeof(TopOfStack)))->fpea)
#define ARGS_loc	(&((TopOfStack *)(USRSTACK-sizeof(TopOfStack)))->pshack)
#define newargs(argv)	(*(char ***)ARGS_loc = (argv))
#endif RTPC






#endif
#ifdef __cplusplus 
}
#endif
