資源簡(jiǎn)介
Linux DHCP圖形化管理工具,需要Gcc g++編譯器.
可以實(shí)現(xiàn)圖形化管理dhcp
代碼片段和文件信息
/*
?*?The?dhcpd-pools?has?BSD?2-clause?license?which?also?known?as?“Simplified
?*?BSD?License“?or?“FreeBSD?License“.
?*
?*?Copyright?2006-?Sami?Kerola.?All?rights?reserved.
?*
?*?Redistribution?and?use?in?source?and?binary?forms?with?or?without
?*?modification?are?permitted?provided?that?the?following?conditions?are
?*?met:
?*
?*????1.?Redistributions?of?source?code?must?retain?the?above?copyright
?*???????notice?this?list?of?conditions?and?the?following?disclaimer.
?*
?*????2.?Redistributions?in?binary?form?must?reproduce?the?above?copyright
?*???????notice?this?list?of?conditions?and?the?following?disclaimer?in?the
?*???????documentation?and/or?other?materials?provided?with?the
?*???????distribution.
?*
?*?THIS?SOFTWARE?IS?PROVIDED?BY?THE?AUTHOR?AND?CONTRIBUTORS?‘‘AS?IS‘‘?AND
?*?ANY?EXPRESS?OR?IMPLIED?WARRANTIES?INCLUDING?BUT?NOT?LIMITED?TO?THE
?*?IMPLIED?WARRANTIES?OF?MERCHANTABILITY?AND?FITNESS?FOR?A?PARTICULAR
?*?PURPOSE?ARE?DISCLAIMED.?IN?NO?EVENT?SHALL?THE?AUTHOR?AND?CONTRIBUTORS?OR
?*?CONTRIBUTORS?BE?LIABLE?FOR?ANY?DIRECT?INDIRECT?INCIDENTAL?SPECIAL
?*?EXEMPLARY?OR?CONSEQUENTIAL?DAMAGES?(INCLUDING?BUT?NOT?LIMITED?TO
?*?PROCUREMENT?OF?SUBSTITUTE?GOODS?OR?SERVICES;?LOSS?OF?USE?DATA?OR
?*?PROFITS;?OR?BUSINESS?INTERRUPTION)?HOWEVER?CAUSED?AND?ON?ANY?THEORY?OF
?*?LIABILITY?WHETHER?IN?CONTRACT?STRICT?LIABILITY?OR?TORT?(INCLUDING
?*?NEGLIGENCE?OR?OTHERWISE)?ARISING?IN?ANY?WAY?OUT?OF?THE?USE?OF?THIS
?*?SOFTWARE?EVEN?IF?ADVISED?OF?THE?POSSIBILITY?OF?SUCH?DAMAGE.
?*
?*?The?views?and?conclusions?contained?in?the?software?and?documentation?are
?*?those?of?the?authors?and?should?not?be?interpreted?as?representing
?*?official?policies?either?expressed?or?implied?of?Sami?Kerola.
?*/
/*?#include??*/
#include?
#include?
#include?
#include?“dhcpd-pools.h“
/*?Clean?up?data?*/
int?ip_sort(struct?leases_t?*a?struct?leases_t?*b)
{
if?(a->ip?ip)
return?-1;
if?(a->ip?>?b->ip)
return?1;
return?0;
}
int?prepare_data(void)
{
/*?Sort?leases?*/
HASH_SORT(leases?ip_sort);
return?0;
}
/*?Join?leases?and?ranges?into?couter?structs?*/
int?do_counting(void)
{
struct?range_t?*range_p;
struct?leases_t?*l;
unsigned?long?i?k?block_size;
range_p?=?ranges;
/*?Walk?through?ranges?*/
for?(i?=?0;?i? /*?Count?IPs?in?use?*/
for?(l?=?leases;?l?!=?NULL?&&?range_p->last_ip?>=?l->ip;?l?=?l->hh.next)?{
if?(l->ip?first_ip)?{
/*?should?not?be?necessary?*/
continue;
}
/*?IP?in?range?*/
switch?(l->type)?{
case?ACTIVE:
range_p->count++;
break;
case?FREE:
range_p->touched++;
break;
case?BACKUP:
range_p->backups++;
break;
}
if?(range_p->shared_net)?{
switch?(l->type)?{
case?ACTIVE:
range_p->shared_net->used++;
break;
case?FREE:
range_p->shared_net->touched++;
break;
case?BACKUP:
range_p->shared_net->backups++;
break;
}
}
}
/*?Size?of?range?shared?net
評(píng)論
共有 條評(píng)論