/* * Search an alternate path before passing pathname arguments on * to system calls. Useful for keeping a separate 'emulation tree'. * * If cflag is set, we check if an attempt can be made to create * the named file, i.e. we check if the directory it should * be in exists. */ int svr4_emul_find(struct thread *td, char *path, enum uio_seg pathseg, char **pbuf, int create) { return (kern_alternate_path(td, svr4_emul_path, path, pathseg, pbuf, create, AT_FDCWD)); }
/* * Search an alternate path before passing pathname arguments on * to system calls. Useful for keeping a separate 'emulation tree'. * * If cflag is set, we check if an attempt can be made to create * the named file, i.e. we check if the directory it should * be in exists. */ int ibcs2_emul_find(struct thread *td, char *path, enum uio_seg pathseg, char **pbuf, int cflag) { return (kern_alternate_path(td, ibcs2_emul_path, path, pathseg, pbuf, cflag, AT_FDCWD)); }
/* * Search an alternate path before passing pathname arguments on to * system calls. Useful for keeping a separate 'emulation tree'. * * If cflag is set, we check if an attempt can be made to create the * named file, i.e. we check if the directory it should be in exists. */ int linux_emul_convpath(struct thread *td, const char *path, enum uio_seg pathseg, char **pbuf, int cflag, int dfd) { int retval; LIN_SDT_PROBE5(util, linux_emul_convpath, entry, path, pathseg, pbuf, cflag, dfd); retval = kern_alternate_path(td, linux_emul_path, path, pathseg, pbuf, cflag, dfd); LIN_SDT_PROBE1(util, linux_emul_convpath, return, retval); return (retval); }