572 |
data, data_len); |
data, data_len); |
573 |
} |
} |
574 |
|
|
575 |
|
kern_return_t |
576 |
|
netfs_S_file_exec (struct protid *user, |
577 |
|
task_t task, |
578 |
|
int flags, |
579 |
|
char *argv, |
580 |
|
size_t argvlen, |
581 |
|
char *envp, |
582 |
|
size_t envplen, |
583 |
|
mach_port_t *fds, |
584 |
|
size_t fdslen, |
585 |
|
mach_port_t *portarray, |
586 |
|
size_t portarraylen, |
587 |
|
int *intarray, |
588 |
|
size_t intarraylen, |
589 |
|
mach_port_t *deallocnames, |
590 |
|
size_t deallocnameslen, |
591 |
|
mach_port_t *destroynames, |
592 |
|
size_t destroynameslen) |
593 |
|
{ |
594 |
|
error_t err; |
595 |
|
|
596 |
|
if (!user) |
597 |
|
return EOPNOTSUPP; |
598 |
|
|
599 |
|
mutex_lock (&user->po->np->lock); |
600 |
|
err = file_exec (user->po->np->nn->file, task, flags, argv, argvlen, |
601 |
|
envp, envplen, fds, MACH_MSG_TYPE_MOVE_SEND, fdslen, |
602 |
|
portarray, MACH_MSG_TYPE_MOVE_SEND, portarraylen, |
603 |
|
intarray, intarraylen, deallocnames, deallocnameslen, |
604 |
|
destroynames, destroynameslen); |
605 |
|
mutex_unlock (&user->po->np->lock); |
606 |
|
return err; |
607 |
|
} |
608 |
|
|
609 |
error_t |
error_t |
610 |
netfs_S_io_map (struct protid *user, |
netfs_S_io_map (struct protid *user, |
611 |
mach_port_t *rdobj, mach_msg_type_name_t *rdobjtype, |
mach_port_t *rdobj, mach_msg_type_name_t *rdobjtype, |
672 |
return EOPNOTSUPP; |
return EOPNOTSUPP; |
673 |
|
|
674 |
mutex_lock (&user->po->np->lock); |
mutex_lock (&user->po->np->lock); |
675 |
err = io_get_prenotify (user->po->np->nn->file, start, stop); |
err = io_prenotify (user->po->np->nn->file, start, stop); |
676 |
mutex_unlock (&user->po->np->lock); |
mutex_unlock (&user->po->np->lock); |
677 |
return err; |
return err; |
678 |
} |
} |
687 |
return EOPNOTSUPP; |
return EOPNOTSUPP; |
688 |
|
|
689 |
mutex_lock (&user->po->np->lock); |
mutex_lock (&user->po->np->lock); |
690 |
err = io_get_postnotify (user->po->np->nn->file, start, stop); |
err = io_postnotify (user->po->np->nn->file, start, stop); |
691 |
mutex_unlock (&user->po->np->lock); |
mutex_unlock (&user->po->np->lock); |
692 |
return err; |
return err; |
693 |
} |
} |