Lines Matching refs:P

54 try_exec(struct ps_prochandle *P, const char *cwd, const char *path, char *buf,  in try_exec()  argument
66 (void) Pfindobj(P, buf, buf, PATH_MAX); in try_exec()
83 Pfindexec(struct ps_prochandle *P, const char *aout, in Pfindexec() argument
95 if (P->execname) in Pfindexec()
96 return (P->execname); /* Already found */ in Pfindexec()
107 if (try_exec(P, ".", aout, buf, isexec, isdata)) in Pfindexec()
130 if ((addr = Pgetauxval(P, AT_SUN_EXECNAME)) != (uintptr_t)-1L && in Pfindexec()
131 Pread_string(P, path, sizeof (path), (off_t)addr) > 0) { in Pfindexec()
133 const psinfo_t *pi = Ppsinfo(P); in Pfindexec()
135 if (try_exec(P, cwd, path, buf, isexec, isdata)) in Pfindexec()
139 try_exec(P, cwd, p, buf, isexec, isdata)) in Pfindexec()
155 if (try_exec(P, zpath, p, buf, isexec, isdata)) in Pfindexec()
164 if (Ppsinfo(P) != NULL) { in Pfindexec()
165 (void) strncpy(path, P->psinfo.pr_psargs, PRARGSZ); in Pfindexec()
171 if (try_exec(P, cwd, path, buf, isexec, isdata)) in Pfindexec()
175 try_exec(P, cwd, p, buf, isexec, isdata)) in Pfindexec()
183 if (P->psinfo.pr_argv != (uintptr_t)NULL && in Pfindexec()
184 Pread(P, &addr, sizeof (addr), P->psinfo.pr_argv) != -1 && in Pfindexec()
185 Pread_string(P, path, sizeof (path), (off_t)addr) > 0) { in Pfindexec()
187 if (try_exec(P, cwd, path, buf, isexec, isdata)) in Pfindexec()
191 try_exec(P, cwd, p, buf, isexec, isdata)) in Pfindexec()
199 if (Pgetenv(P, "PATH", cwd, sizeof (cwd)) != NULL) { in Pfindexec()
206 (void) strncpy(path, P->psinfo.pr_psargs, PRARGSZ); in Pfindexec()
213 P->psinfo.pr_fname, strlen(P->psinfo.pr_fname)) != 0) in Pfindexec()
214 (void) strcpy(path, P->psinfo.pr_fname); in Pfindexec()
226 if (try_exec(P, p, path, buf, isexec, isdata)) in Pfindexec()
235 if ((P->execname = strdup(buf)) == NULL) in Pfindexec()
238 return (P->execname); in Pfindexec()
245 Pexecname(struct ps_prochandle *P, char *buf, size_t buflen) in Pexecname() argument
247 if (P->execname != NULL) { in Pexecname()
248 (void) strncpy(buf, P->execname, buflen); in Pexecname()
252 return (P->ops.pop_execname(P, buf, buflen, P->data)); in Pexecname()