Files
Arquivotheca.AIX-4.1.3/bos/usr/include/POWER/execargs.h
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

49 lines
1.3 KiB
C

/* @(#)50 1.9 src/bos/usr/include/POWER/execargs.h, sysproc, bos411, 9428A410j 2/3/94 19:19:45 */
/*
* COMPONENT_NAME: (SYSPROC) Process Management
*
* FUNCTIONS:
*
* ORIGINS: 3, 6, 27
*
* (C) COPYRIGHT International Business Machines Corp. 1989
* 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.
*/
#ifndef _H_EXECARGS
#define _H_EXECARGS
/*
* This include file permits ps to print the command line for
* a process. Given the address of the argument vector for
* the command, the shell uses the newargs() macro to put the
* address of the argument vector where ps can find it.
*/
#include <sys/param.h>
extern int errno;
struct top_of_stack {
ulong main_reg[NGPRS];
ulong lr;
char **environ;
int errno;
};
typedef struct top_of_stack TopOfStack;
#define TopOfBaseStack ((struct top_of_stack *)((int)&errno \
- sizeof(char **) \
- sizeof(ulong) \
- sizeof(ulong[NGPRS])))
#define ARGC_value (&(TopOfBaseStack->main_reg[ARG1]))
#define ARGS_loc (&(TopOfBaseStack->main_reg[ARG2]))
#define ENVS_loc (&(TopOfBaseStack->main_reg[ARG3]))
#define newargs(argv) (*(char ***)ARGS_loc = (argv))
#endif /* _H_EXECARGS */