enum procstate p_state;
int p_status;
- struct fd p_fds[16];
-
sighandler_t p_sighandler[32];
};
return(ret_val);
}
-int process_falloc(process_t *proc, int sock)
-{
- int ret_val;
- int i;
-
- ret_val = -EMFILE;
-
- for(i = 0; i < (sizeof(proc->p_fds) / sizeof(proc->p_fds[0])); i++) {
- if(!(proc->p_fds[i].fd_flags & FD_VALID)) {
- ret_val = i;
- proc->p_fds[i].fd_socknum = sock;
- proc->p_fds[i].fd_flags |= FD_VALID;
- break;
- }
- }
-
- return(ret_val);
-}
-
-int process_ffree(process_t *proc, int fd)
-{
- int ret_val;
-
- ret_val = -EINVAL;
-
- if(fd >= 0 && fd < (sizeof(proc->p_fds) / sizeof(proc->p_fds[0]))) {
- ret_val = -EBADF;
-
- if(proc->p_fds[fd].fd_flags & FD_VALID) {
- proc->p_fds[fd].fd_flags = 0;
- proc->p_fds[fd].fd_socknum = -1;
- ret_val = 0;
- }
- }
-
- return(ret_val);
-}
-
-int process_flookup(process_t *proc, int procfd)
-{
- int ret_val;
-
- ret_val = -EINVAL;
-
- if(procfd >= 0 && procfd < (sizeof(proc->p_fds) / sizeof(proc->p_fds[0]))) {
- ret_val = -EBADF;
-
- if(proc->p_fds[procfd].fd_flags & FD_VALID) {
- ret_val = proc->p_fds[procfd].fd_socknum;
- }
- }
-
- return(ret_val);
-}
-
process_t* process_get_current(void)
{
process_t *ret_val;
int process_create(process_t**, pid_t, u32_t, void*);
int process_switch(process_t*);
-int process_falloc(process_t*, int);
-int process_ffree(process_t*, int);
-int process_flookup(process_t*, int);
-
process_t* process_get_current(void);
process_t* process_lookup(pid_t);