diff options
Diffstat (limited to 'osdep-openbsd.c')
-rw-r--r-- | osdep-openbsd.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/osdep-openbsd.c b/osdep-openbsd.c index c61d90e7..0a4c1445 100644 --- a/osdep-openbsd.c +++ b/osdep-openbsd.c @@ -37,7 +37,9 @@ ((p)->p_stat == SSTOP || (p)->p_stat == SZOMB || (p)->p_stat == SDEAD) struct kinfo_proc *cmp_procs(struct kinfo_proc *, struct kinfo_proc *); -char *get_proc_name(int, char *); +char *osdep_get_name(int, char *); +char *osdep_get_cwd(int); +struct event_base *osdep_event_init(void); struct kinfo_proc * cmp_procs(struct kinfo_proc *p1, struct kinfo_proc *p2) @@ -132,3 +134,23 @@ error: free(buf); return (NULL); } + +char * +osdep_get_cwd(int fd) +{ + int name[] = { CTL_KERN, KERN_PROC_CWD, 0 }; + static char path[MAXPATHLEN]; + size_t pathlen = sizeof path; + + if ((name[2] = tcgetpgrp(fd)) == -1) + return (NULL); + if (sysctl(name, 3, path, &pathlen, NULL, 0) != 0) + return (NULL); + return (path); +} + +struct event_base * +osdep_event_init(void) +{ + return (event_init()); +} |