summaryrefslogtreecommitdiff
path: root/src/sys/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/include')
-rw-r--r--src/sys/include/sys/limits.h2
-rw-r--r--src/sys/include/sys/proc.h16
2 files changed, 13 insertions, 5 deletions
diff --git a/src/sys/include/sys/limits.h b/src/sys/include/sys/limits.h
index 5e32233..180d3fc 100644
--- a/src/sys/include/sys/limits.h
+++ b/src/sys/include/sys/limits.h
@@ -37,5 +37,7 @@
#define SC_MAX 64 /* Max syscalls */
#define SCWIN_MAX 2 /* Max syscall windows */
#define FD_MAX 256 /* Max file descriptors */
+#define NARG_MAX 16 /* Max arguments */
+#define ARG_LEN 64 /* Max length per argument */
#endif /* !_SYS_LIMITS_H_ */
diff --git a/src/sys/include/sys/proc.h b/src/sys/include/sys/proc.h
index ea89d4c..5bffc3e 100644
--- a/src/sys/include/sys/proc.h
+++ b/src/sys/include/sys/proc.h
@@ -35,12 +35,15 @@
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/queue.h>
+#if defined(_KERNEL)
+#include <lib/ptrbox.h>
#include <os/mac.h>
#include <os/signal.h>
#include <os/spinlock.h>
#include <os/filedesc.h>
#include <vm/vm.h>
#include <machine/pcb.h> /* standard */
+#endif /* _KERNEL */
/*
* The stack starts here and grows down
@@ -48,18 +51,20 @@
#define STACK_TOP 0xBFFFFFFF
#define STACK_LEN 4096
-#if defined(_KERNEL)
-
/*
* Process environment block, used to store arguments
* and other information.
*
- * @pid: PID of the process that owns this block
+ * @argv: Argument vector
+ * @argc: Argument count
*/
struct penv_blk {
- pid_t pid;
+ char **argv;
+ uint16_t argc;
};
+#if defined(_KERNEL)
+
/*
* A process describes a running program image
* on the system.
@@ -81,7 +86,8 @@ struct proc {
struct md_pcb pcb;
struct syscall_domain scdom;
struct filedesc *fdtab[FD_MAX];
- struct penv_blk envblk;
+ struct penv_blk *envblk;
+ struct ptrbox *envblk_box;
mac_level_t level;
struct spinlock maplist_lock;
sigtab_t sigtab;