diff options
Diffstat (limited to 'osdep-openbsd.c')
-rw-r--r-- | osdep-openbsd.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/osdep-openbsd.c b/osdep-openbsd.c index 9eefc44f..4fb75bff 100644 --- a/osdep-openbsd.c +++ b/osdep-openbsd.c @@ -37,6 +37,7 @@ struct kinfo_proc *cmp_procs(struct kinfo_proc *, struct kinfo_proc *); char *osdep_get_name(int, char *); +char *osdep_get_cwd(pid_t); struct event_base *osdep_event_init(void); struct kinfo_proc * @@ -133,6 +134,18 @@ error: return (NULL); } +char* +osdep_get_cwd(pid_t pid) +{ + int name[] = { CTL_KERN, KERN_PROC_CWD, (int)pid }; + static char path[MAXPATHLEN]; + size_t pathlen = sizeof path; + + if (sysctl(name, 3, path, &pathlen, NULL, 0) != 0) + return (NULL); + return (path); +} + struct event_base * osdep_event_init(void) { |