poolio.c revision 255332
1/* 2 * Copyright (C) 2012 by Darren Reed. 3 * 4 * See the IPFILTER.LICENCE file for details on licencing. 5 * 6 * $Id: poolio.c,v 1.1.2.3 2012/07/22 08:04:24 darren_r Exp $ 7 */ 8 9#include <fcntl.h> 10#include <sys/ioctl.h> 11#include "ipf.h" 12#include "netinet/ip_lookup.h" 13#include "netinet/ip_pool.h" 14 15static int poolfd = -1; 16 17 18int 19pool_open() 20{ 21 22 if ((opts & OPT_DONTOPEN) != 0) 23 return 0; 24 25 if (poolfd == -1) 26 poolfd = open(IPLOOKUP_NAME, O_RDWR); 27 return poolfd; 28} 29 30int 31pool_ioctl(iocfunc, cmd, ptr) 32 ioctlfunc_t iocfunc; 33 ioctlcmd_t cmd; 34 void *ptr; 35{ 36 return (*iocfunc)(poolfd, cmd, ptr); 37} 38 39 40void 41pool_close() 42{ 43 if (poolfd != -1) { 44 close(poolfd); 45 poolfd = -1; 46 } 47} 48 49int 50pool_fd() 51{ 52 return poolfd; 53} 54