#include "ipf.h" | |
#include <sys/ioctl.h> | |
#include <fcntl.h> | |
ipfunc_t nametokva(name, iocfunc) | |
char *name; | |
ioctlfunc_t iocfunc; | |
{ | |
ipfunc_resolve_t res; | |
int fd; | |
strncpy(res.ipfu_name, name, sizeof(res.ipfu_name)); | |
res.ipfu_addr = NULL; | |
fd = -1; | |
if ((opts & OPT_DONOTHING) == 0) { | |
fd = open(IPL_NAME, O_RDONLY); | |
if (fd == -1) | |
return NULL; | |
} | |
(void) (*iocfunc)(fd, SIOCFUNCL, &res); | |
if (fd >= 0) | |
close(fd); | |
if (res.ipfu_addr == NULL) | |
res.ipfu_addr = (ipfunc_t)-1; | |
return res.ipfu_addr; | |
} |