| /* | |
| * Copyright (C) 2002 by Darren Reed. | |
| * | |
| * See the IPFILTER.LICENCE file for details on licencing. | |
| * | |
| * $Id$ | |
| */ | |
| #include "ipf.h" | |
| #include <fcntl.h> | |
| #include <sys/ioctl.h> | |
| char *kvatoname(func, iocfunc) | |
| ipfunc_t func; | |
| ioctlfunc_t iocfunc; | |
| { | |
| static char funcname[40]; | |
| ipfunc_resolve_t res; | |
| int fd; | |
| res.ipfu_addr = func; | |
| res.ipfu_name[0] = '\0'; | |
| 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); | |
| strncpy(funcname, res.ipfu_name, sizeof(funcname)); | |
| funcname[sizeof(funcname) - 1] = '\0'; | |
| return funcname; | |
| } |