2019-12-29 16:39:30 +01:00
|
|
|
#include <kernel/process.h>
|
|
|
|
|
2020-02-05 21:09:39 +01:00
|
|
|
struct process *process_get_proc(pid_t pid)
|
2019-12-29 16:39:30 +01:00
|
|
|
{
|
2020-01-12 15:58:35 +01:00
|
|
|
extern struct process_stack process_stack[PROCESS_MAX];
|
2019-12-29 16:39:30 +01:00
|
|
|
|
|
|
|
// Check error
|
|
|
|
if (pid < 0 || pid >= PROCESS_MAX)
|
|
|
|
return (NULL);
|
|
|
|
|
|
|
|
// Return process.
|
|
|
|
return (&process_stack[pid].process);
|
|
|
|
}
|
2020-02-05 21:09:39 +01:00
|
|
|
|
|
|
|
pid_t process_get_pid(struct process *target)
|
|
|
|
{
|
|
|
|
extern struct process_stack process_stack[PROCESS_MAX];
|
|
|
|
int i;
|
|
|
|
|
|
|
|
i = -1;
|
|
|
|
while (++i < PROCESS_MAX)
|
|
|
|
{
|
|
|
|
if (&process_stack[i].process == target)
|
|
|
|
return (i);
|
|
|
|
}
|
|
|
|
return (-1);
|
|
|
|
}
|