PersonalCorpus 版 (精华区)

发信人: sino (茶水), 信区: Linux
标  题: iptlogd.c
发信站: 哈工大紫丁香 (2002年09月27日11:47:29 星期五), 站内信件

/* 
 * iptlogd.c 
 *
 * sino.bbs@bbs.hit.edu.cn
 * bhfbao.bbs@bbs.hit.edu.cn
 */
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/time.h>
#include <error.h>
#include <signal.h>
#include <fcntl.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <math.h>
#include <ctype.h>
#include <unistd.h>
#include <limits.h>

#include <semaphore.h>
#include <sys/mman.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/select.h>
#include <poll.h>
#include <stropts.h>
#include <sys/ioctl.h>

#define VER "3.2"

#define BUFLEN 1024 // Line Buffer
#define LOGLEN 100
#define MAXCMP 431
#define RUNFILE "/var/run/iptlogd.mmap"
#define LOGFILE "/var/log/iptlogd.log.bin"
#define STATUSFILE "/var/run/iptlogd.status"
#define MMAPSIZE 256*2*sizeof(unsigned long long) /* unsigned long 
long sum[256][2] */
#define FIFOLEN 3
#define SLEEP 5 
const unsigned int loghead0=0x4D3E373CU; // "<7>M"
const unsigned int loghead1=0x20515341U; // "ASQ "

#define offset_data 8 

unsigned int fifodst[FIFOLEN];
bool fiforesult[FIFOLEN];
int pfifowrite=0;


char buf[BUFLEN], fkmsgbuf[16384];
unsigned long long *sum;
unsigned int freeip[MAXCMP][2];
FILE *fkmsg;



int Init();
void Counting(char *s);
void PrintSum(FILE *fp);

int main()
{
    pid_t pid;
    
    if (Init()!=0) return -1; 
    
    if ( (pid=fork()) < 0 ) {
        printf("fork() error!\n");
        return -1;
    } else if (pid != 0) {
        exit(0);
    } 
    if ( (pid=fork()) < 0 ) {
        return -1;
    } else if (pid != 0) {

    /* child 1*/
    if ( (fkmsg=fopen("/proc/kmsg","r")) == NULL ) {
        return (-1);
    } else {
        setvbuf(fkmsg,fkmsgbuf,_IOFBF,sizeof(fkmsgbuf));
    }
         
    while (1) {
        fgets(buf,LOGLEN,fkmsg);
        Counting(buf);
    }       
    fclose(fkmsg);
    }else {
    /*child 2*/ 
        FILE *fcount;
               if ( (fcount=fopen(LOGFILE,"wb")) == NULL ) {
                        return (-1);
                }
        while (1) {
            sleep(SLEEP);
            PrintSum(fcount);
        }
        fclose(fcount); 
    }

    return (0);

}

void PrintSum(FILE *fp)
{
    fseek(fp,0,SEEK_SET);
    fwrite(sum,sizeof(unsigned long long),512,fp);
    fflush(fp);
}



inline bool isfree(unsigned int src)
{
    int i,j,k;
    // Judge by FIFO
    for (i=0;i<FIFOLEN;i++) if (src==fifodst[i]) return fiforesult[i];  
    // bi-Search
    fifodst[pfifowrite]=src;
    i=0; j=MAXCMP;
    while (i<=j) {
        k=(i+j)/2;
        if (src<freeip[k][0]) {
            j=k-1;
            continue;
        }
        if (src>freeip[k][1]) {
            i=k+1;
            continue;
        }
        // It's FREE !!
        fiforesult[pfifowrite++]=true;
        if (pfifowrite==FIFOLEN) pfifowrite=0;
        return true;
    }   
    fiforesult[pfifowrite++]=false;
    if (pfifowrite==FIFOLEN) pfifowrite=0;
    return false;
}


void Counting(char *s)
{
    unsigned int src,dst,len,a,b,c,d;

    // format check
    if ((*(unsigned int *)s!=loghead0)||(*(unsigned int *)(s+4)!=loghead1))
 return;

    if (sscanf(s+offset_data,"%u%u%u",&src,&dst,&len)!=3) return;
    src=(src>>24) | ((src>>8)&0x0000ff00) | ((src<<8)&0x00ff0000) | 
(src<<24);
    dst>>=24;
        
    if (isfree(src)) sum[dst<<1]+=(unsigned long long)len; 
            else sum[(dst<<1)+1]+=(unsigned long long)len; 
}


int Init()
{
    int fd;
    char temp[MMAPSIZE];    
    FILE *fp;

    fd=open(RUNFILE,O_RDWR|O_CREAT,0777);
    memset(temp,0,sizeof(temp));
        write(fd,temp,MMAPSIZE);
        if ((sum=(unsigned long long *)mmap(NULL,MMAPSIZE,
PROT_READ|PROT_WRITE,MAP_SHARED,fd,0))==MAP_FAILED) {
            close(fd);
            return -1;
        } else  close(fd);

    if ((fp=fopen(LOGFILE,"rb"))!=NULL) {
        fread(sum,sizeof(unsigned long long),512,fp);
        fclose(fp); 
    } else {
        memset(sum,0,sizeof(sum));
    }
    
    if ((fp=fopen(STATUSFILE,"at"))!=NULL) {
        printf("%s\n",VER);
        fprintf(fp,"%s\n",VER);
        fclose(fp);
    }
                

    freeip[0][0]=418693120U; freeip[0][1]=418697215U;
    freeip[1][0]=798588928U; freeip[1][1]=798605311U;
    freeip[2][0]=1024263680U; freeip[2][1]=1024263935U;
    freeip[3][0]=1024267264U; freeip[3][1]=1024267519U;
    freeip[4][0]=1024274944U; freeip[4][1]=1024275199U;
    freeip[5][0]=1024280832U; freeip[5][1]=1024281087U;
    freeip[6][0]=1024297472U; freeip[6][1]=1024297727U;
    freeip[7][0]=1024303104U; freeip[7][1]=1024303359U;
    freeip[8][0]=1024311040U; freeip[8][1]=1024311295U;
    freeip[9][0]=1024460800U; freeip[9][1]=1024461055U;
    freeip[10][0]=1024490752U; freeip[10][1]=1024491007U;
    freeip[11][0]=1025245184U; freeip[11][1]=1025249279U;
    freeip[12][0]=1026097664U; freeip[12][1]=1026097919U;
    freeip[13][0]=1026555904U; freeip[13][1]=1026686975U;
    freeip[14][0]=1026752512U; freeip[14][1]=1026760703U;
    freeip[15][0]=1031798784U; freeip[15][1]=1032060927U;
    freeip[16][0]=1032060928U; freeip[16][1]=1032191999U;
    freeip[17][0]=1032192000U; freeip[17][1]=1032257535U;
    freeip[18][0]=1032257536U; freeip[18][1]=1032290303U;
    freeip[19][0]=1032290304U; freeip[19][1]=1032298495U;
    freeip[20][0]=1032298496U; freeip[20][1]=1032300543U;
    freeip[21][0]=1032300544U; freeip[21][1]=1032301055U;
    freeip[22][0]=1032314880U; freeip[22][1]=1032323071U;
    freeip[23][0]=1032323072U; freeip[23][1]=1032847359U;
    freeip[24][0]=1032847360U; freeip[24][1]=1033895935U;
    freeip[25][0]=1033895936U; freeip[25][1]=1034944511U;
    freeip[26][0]=1034944512U; freeip[26][1]=1035468799U;
    freeip[27][0]=1035468800U; freeip[27][1]=1035730943U;
    freeip[28][0]=1035730944U; freeip[28][1]=1035862015U;
    freeip[29][0]=1035862016U; freeip[29][1]=1035927551U;
    freeip[30][0]=1038614528U; freeip[30][1]=1038876671U;
    freeip[31][0]=1038876672U; freeip[31][1]=1039007743U;
    freeip[32][0]=1039138816U; freeip[32][1]=1039171583U;
    freeip[33][0]=1039171584U; freeip[33][1]=1039175679U;
    freeip[34][0]=1039179776U; freeip[34][1]=1039187967U;
    freeip[35][0]=1039204352U; freeip[35][1]=1039269887U;
    freeip[36][0]=1039269888U; freeip[36][1]=1039400959U;
    freeip[37][0]=1064045568U; freeip[37][1]=1064045823U;
    freeip[38][0]=1066456064U; freeip[38][1]=1066457087U;
    freeip[39][0]=2310864896U; freeip[39][1]=2310930431U;
    freeip[40][0]=2356215808U; freeip[40][1]=2356281343U;
    freeip[41][0]=2364801024U; freeip[41][1]=2364866559U;
    freeip[42][0]=2404974592U; freeip[42][1]=2405040127U;
    freeip[43][0]=2429943808U; freeip[43][1]=2430009343U;
    freeip[44][0]=2466775040U; freeip[44][1]=2466840575U;
    freeip[45][0]=2555707392U; freeip[45][1]=2555772927U;
    freeip[46][0]=2555772928U; freeip[46][1]=2555903999U;
    freeip[47][0]=2556756992U; freeip[47][1]=2556757503U;
    freeip[48][0]=2556764160U; freeip[48][1]=2556764415U;
    freeip[49][0]=2556765696U; freeip[49][1]=2556765951U;
    freeip[50][0]=2556775168U; freeip[50][1]=2556775423U;
    freeip[51][0]=2556776448U; freeip[51][1]=2556776703U;
    freeip[52][0]=2556779776U; freeip[52][1]=2556780031U;
    freeip[53][0]=2556781312U; freeip[53][1]=2556781567U;
    freeip[54][0]=2556782848U; freeip[54][1]=2556783103U;
    freeip[55][0]=2556783104U; freeip[55][1]=2556783359U;
    freeip[56][0]=2556784896U; freeip[56][1]=2556785151U;
    freeip[57][0]=2556785920U; freeip[57][1]=2556786175U;
    freeip[58][0]=2556786176U; freeip[58][1]=2556786687U;
    freeip[59][0]=2556952576U; freeip[59][1]=2557018111U;
    freeip[60][0]=2603089920U; freeip[60][1]=2603155455U;
    freeip[61][0]=2603483136U; freeip[61][1]=2603548671U;
    freeip[62][0]=2659450880U; freeip[62][1]=2659516415U;
    freeip[63][0]=2662727680U; freeip[63][1]=2662793215U;
    freeip[64][0]=2682388480U; freeip[64][1]=2682454015U;
    freeip[65][0]=2714697728U; freeip[65][1]=2714763263U;
    freeip[66][0]=2724003840U; freeip[66][1]=2724069375U;
    freeip[67][0]=2724790272U; freeip[67][1]=2724855807U;
    freeip[68][0]=2780889088U; freeip[68][1]=2780954623U;
    freeip[69][0]=2792292352U; freeip[69][1]=2792357887U;
    freeip[70][0]=2810904576U; freeip[70][1]=2810970111U;
    freeip[71][0]=2815950848U; freeip[71][1]=2816016383U;
    freeip[72][0]=2825519616U; freeip[72][1]=2825520127U;
    freeip[73][0]=2825524736U; freeip[73][1]=2825524991U;
    freeip[74][0]=2829058048U; freeip[74][1]=2829123583U;
    freeip[75][0]=2861858816U; freeip[75][1]=2861867007U;
    freeip[76][0]=3222006784U; freeip[76][1]=3222007039U;
    freeip[77][0]=3229391360U; freeip[77][1]=3229391615U;
    freeip[78][0]=3230369536U; freeip[78][1]=3230369791U;
    freeip[79][0]=3230369792U; freeip[79][1]=3230370047U;
    freeip[80][0]=3232386816U; freeip[80][1]=3232387071U;
    freeip[81][0]=3234814720U; freeip[81][1]=3234814975U;
    freeip[82][0]=3237331968U; freeip[82][1]=3237332223U;
    freeip[83][0]=3237335040U; freeip[83][1]=3237335295U;
    freeip[84][0]=3263875584U; freeip[84][1]=3263875839U;
    freeip[85][0]=3327168512U; freeip[85][1]=3327168767U;
    freeip[86][0]=3327171584U; freeip[86][1]=3327171839U;
    freeip[87][0]=3327180032U; freeip[87][1]=3327180287U;
    freeip[88][0]=3327180544U; freeip[88][1]=3327180799U;
    freeip[89][0]=3329269760U; freeip[89][1]=3329277951U;
    freeip[90][0]=3356043520U; freeip[90][1]=3356043775U;
    freeip[91][0]=3389041152U; freeip[91][1]=3389041663U;
    freeip[92][0]=3389041664U; freeip[92][1]=3389042175U;
    freeip[93][0]=3389044224U; freeip[93][1]=3389044735U;
    freeip[94][0]=3389149952U; freeip[94][1]=3389150207U;
    freeip[95][0]=3389150208U; freeip[95][1]=3389150719U;
    freeip[96][0]=3389292544U; freeip[96][1]=3389300735U;
    freeip[97][0]=3389324288U; freeip[97][1]=3389325311U;
    freeip[98][0]=3389329664U; freeip[98][1]=3389329919U;
    freeip[99][0]=3389788928U; freeip[99][1]=3389789183U;
    freeip[100][0]=3389935616U; freeip[100][1]=3389935871U;
    freeip[101][0]=3389975296U; freeip[101][1]=3389975551U;
    freeip[102][0]=3389975552U; freeip[102][1]=3389975807U;
    freeip[103][0]=3389976064U; freeip[103][1]=3389976319U;
    freeip[104][0]=3390333952U; freeip[104][1]=3390334463U;
    freeip[105][0]=3390406656U; freeip[105][1]=3390406911U;
    freeip[106][0]=3390503936U; freeip[106][1]=3390504959U;
    freeip[107][0]=3391488000U; freeip[107][1]=3391492095U;
    freeip[108][0]=3391492096U; freeip[108][1]=3391493119U;
    freeip[109][0]=3391499520U; freeip[109][1]=3391499775U;
    freeip[110][0]=3391504384U; freeip[110][1]=3391520767U;
    freeip[111][0]=3391520768U; freeip[111][1]=3391521279U;
    freeip[112][0]=3391521792U; freeip[112][1]=3391522815U;
    freeip[113][0]=3391525632U; freeip[113][1]=3391525887U;
    freeip[114][0]=3391526912U; freeip[114][1]=3391527423U;
    freeip[115][0]=3391529216U; freeip[115][1]=3391529471U;
    freeip[116][0]=3391529984U; freeip[116][1]=3391531007U;
    freeip[117][0]=3391533056U; freeip[117][1]=3391533311U;
    freeip[118][0]=3391537152U; freeip[118][1]=3391553535U;
    freeip[119][0]=3391654144U; freeip[119][1]=3391654399U;
    freeip[120][0]=3391654400U; freeip[120][1]=3391654911U;
    freeip[121][0]=3391659264U; freeip[121][1]=3391659519U;
    freeip[122][0]=3391668224U; freeip[122][1]=3391672319U;
    freeip[123][0]=3391672320U; freeip[123][1]=3391674367U;
    freeip[124][0]=3391674368U; freeip[124][1]=3391675391U;
    freeip[125][0]=3391675392U; freeip[125][1]=3391675647U;
    freeip[126][0]=3391675904U; freeip[126][1]=3391676415U;
    freeip[127][0]=3391954944U; freeip[127][1]=3391963135U;
    freeip[128][0]=3391979520U; freeip[128][1]=3391979775U;
    freeip[129][0]=3392423424U; freeip[129][1]=3392423679U;
    freeip[130][0]=3392425728U; freeip[130][1]=3392425983U;
    freeip[131][0]=3393239552U; freeip[131][1]=3393239807U;
    freeip[132][0]=3393282048U; freeip[132][1]=3393286143U;
    freeip[133][0]=3393298432U; freeip[133][1]=3393302527U;
    freeip[134][0]=3393326080U; freeip[134][1]=3393326335U;
    freeip[135][0]=3393328384U; freeip[135][1]=3393328639U;
    freeip[136][0]=3393330176U; freeip[136][1]=3393330431U;
    freeip[137][0]=3393336064U; freeip[137][1]=3393336319U;
    freeip[138][0]=3393336576U; freeip[138][1]=3393336831U;
    freeip[139][0]=3393341696U; freeip[139][1]=3393341951U;
    freeip[140][0]=3393341952U; freeip[140][1]=3393342207U;
    freeip[141][0]=3393343232U; freeip[141][1]=3393343487U;
    freeip[142][0]=3393345024U; freeip[142][1]=3393345535U;
    freeip[143][0]=3393345792U; freeip[143][1]=3393346047U;
    freeip[144][0]=3393346304U; freeip[144][1]=3393346559U;
    freeip[145][0]=3393353216U; freeip[145][1]=3393353727U;
    freeip[146][0]=3393355776U; freeip[146][1]=3393372159U;
    freeip[147][0]=3393421312U; freeip[147][1]=3393454079U;
    freeip[148][0]=3393519616U; freeip[148][1]=3393520639U;
    freeip[149][0]=3393585152U; freeip[149][1]=3393593343U;
    freeip[150][0]=3393650688U; freeip[150][1]=3393658879U;
    freeip[151][0]=3393699840U; freeip[151][1]=3393716223U;
    freeip[152][0]=3393780736U; freeip[152][1]=3393781759U;
    freeip[153][0]=3393929216U; freeip[153][1]=3393931263U;
    freeip[154][0]=3393931264U; freeip[154][1]=3393932287U;
    freeip[155][0]=3393979392U; freeip[155][1]=3393979647U;
    freeip[156][0]=3393985024U; freeip[156][1]=3393985279U;
    freeip[157][0]=3393992704U; freeip[157][1]=3393992959U;
    freeip[158][0]=3394000896U; freeip[158][1]=3394001151U;
    freeip[159][0]=3394001920U; freeip[159][1]=3394002175U;
    freeip[160][0]=3394005248U; freeip[160][1]=3394005503U;
    freeip[161][0]=3394046464U; freeip[161][1]=3394046975U;
    freeip[162][0]=3394052352U; freeip[162][1]=3394052607U;
    freeip[163][0]=3394053888U; freeip[163][1]=3394054143U;
    freeip[164][0]=3394241792U; freeip[164][1]=3394242047U;
    freeip[165][0]=3394505216U; freeip[165][1]=3394505727U;
    freeip[166][0]=3394506752U; freeip[166][1]=3394507263U;
    freeip[167][0]=3394611200U; freeip[167][1]=3394613247U;
    freeip[168][0]=3394699264U; freeip[168][1]=3394700287U;
    freeip[169][0]=3394830336U; freeip[169][1]=3394831359U;
    freeip[170][0]=3394994176U; freeip[170][1]=3394995199U;
    freeip[171][0]=3395018752U; freeip[171][1]=3395026943U;
    freeip[172][0]=3395026944U; freeip[172][1]=3395027967U;
    freeip[173][0]=3395092480U; freeip[173][1]=3395096575U;
    freeip[174][0]=3395156992U; freeip[174][1]=3395158015U;
    freeip[175][0]=3395158016U; freeip[175][1]=3395166207U;
    freeip[176][0]=3395223552U; freeip[176][1]=3395231743U;
    freeip[177][0]=3395289088U; freeip[177][1]=3395354623U;
    freeip[178][0]=3395354624U; freeip[178][1]=3395371007U;
    freeip[179][0]=3395379200U; freeip[179][1]=3395387391U;
    freeip[180][0]=3395387392U; freeip[180][1]=3395420159U;
    freeip[181][0]=3395420160U; freeip[181][1]=3395551231U;
    freeip[182][0]=3395551232U; freeip[182][1]=3395813375U;
    freeip[183][0]=3395813376U; freeip[183][1]=3396337663U;
    freeip[184][0]=3396337664U; freeip[184][1]=3396861951U;
    freeip[185][0]=3396861952U; freeip[185][1]=3396993023U;
    freeip[186][0]=3396993280U; freeip[186][1]=3396993535U;
    freeip[187][0]=3396994816U; freeip[187][1]=3396995071U;
    freeip[188][0]=3397025792U; freeip[188][1]=3397026047U;
    freeip[189][0]=3397320704U; freeip[189][1]=3397321215U;
    freeip[190][0]=3397321472U; freeip[190][1]=3397321727U;
    freeip[191][0]=3397323776U; freeip[191][1]=3397324799U;
    freeip[192][0]=3397324800U; freeip[192][1]=3397328895U;
    freeip[193][0]=3397330944U; freeip[193][1]=3397332991U;
    freeip[194][0]=3397332992U; freeip[194][1]=3397333503U;
    freeip[195][0]=3397357568U; freeip[195][1]=3397361663U;
    freeip[196][0]=3397361664U; freeip[196][1]=3397363711U;
    freeip[197][0]=3397369856U; freeip[197][1]=3397370367U;
    freeip[198][0]=3397371904U; freeip[198][1]=3397373951U;
    freeip[199][0]=3397373952U; freeip[199][1]=3397374463U;
    freeip[200][0]=3397517312U; freeip[200][1]=3397525503U;
    freeip[201][0]=3397556224U; freeip[201][1]=3397556735U;
    freeip[202][0]=3397574656U; freeip[202][1]=3397582847U;
    freeip[203][0]=3397636096U; freeip[203][1]=3397640191U;
    freeip[204][0]=3397795840U; freeip[204][1]=3397804031U;
    freeip[205][0]=3397975552U; freeip[205][1]=3397976063U;
    freeip[206][0]=3400323584U; freeip[206][1]=3400323839U;
    freeip[207][0]=3400867840U; freeip[207][1]=3400868351U;
    freeip[208][0]=3400869376U; freeip[208][1]=3400869887U;
    freeip[209][0]=3400982528U; freeip[209][1]=3400983039U;
    freeip[210][0]=3400989696U; freeip[210][1]=3400990719U;
    freeip[211][0]=3401580544U; freeip[211][1]=3402629119U;
    freeip[212][0]=3410096128U; freeip[212][1]=3410097151U;
    freeip[213][0]=3411087360U; freeip[213][1]=3411091455U;
    freeip[214][0]=3411296000U; freeip[214][1]=3411296255U;
    freeip[215][0]=3411350784U; freeip[215][1]=3411351039U;
    freeip[216][0]=3411352576U; freeip[216][1]=3411353087U;
    freeip[217][0]=3411379712U; freeip[217][1]=3411379967U;
    freeip[218][0]=3411380480U; freeip[218][1]=3411380735U;
    freeip[219][0]=3411385344U; freeip[219][1]=3411385599U;
    freeip[220][0]=3411389952U; freeip[220][1]=3411390207U;
    freeip[221][0]=3411390720U; freeip[221][1]=3411390975U;
    freeip[222][0]=3411394304U; freeip[222][1]=3411394559U;
    freeip[223][0]=3411398656U; freeip[223][1]=3411398911U;
    freeip[224][0]=3411533824U; freeip[224][1]=3411542015U;
    freeip[225][0]=3411542016U; freeip[225][1]=3411543039U;
    freeip[226][0]=3411673088U; freeip[226][1]=3411674111U;
    freeip[227][0]=3411869696U; freeip[227][1]=3411935231U;
    freeip[228][0]=3411935232U; freeip[228][1]=3411936255U;
    freeip[229][0]=3412000768U; freeip[229][1]=3412002815U;
    freeip[230][0]=3412230144U; freeip[230][1]=3412246527U;
    freeip[231][0]=3414196224U; freeip[231][1]=3414204415U;
    freeip[232][0]=3414417408U; freeip[232][1]=3414425599U;
    freeip[233][0]=3415579904U; freeip[233][1]=3415580159U;
    freeip[234][0]=3415585024U; freeip[234][1]=3415585279U;
    freeip[235][0]=3415590656U; freeip[235][1]=3415590911U;
    freeip[236][0]=3415591680U; freeip[236][1]=3415591935U;
    freeip[237][0]=3415598592U; freeip[237][1]=3415598847U;
    freeip[238][0]=3416276992U; freeip[238][1]=3416285183U;
    freeip[239][0]=3416818688U; freeip[239][1]=3416819711U;
    freeip[240][0]=3416883200U; freeip[240][1]=3416899583U;
    freeip[241][0]=3418357760U; freeip[241][1]=3418365951U;
    freeip[242][0]=3418619904U; freeip[242][1]=3418621951U;
    freeip[243][0]=3419357184U; freeip[243][1]=3419373567U;
    freeip[244][0]=3419373568U; freeip[244][1]=3419406335U;
    freeip[245][0]=3419406336U; freeip[245][1]=3419410431U;
    freeip[246][0]=3419410432U; freeip[246][1]=3419410687U;
    freeip[247][0]=3419668480U; freeip[247][1]=3419672575U;
    freeip[248][0]=3448544256U; freeip[248][1]=3448545279U;
    freeip[249][0]=3453476864U; freeip[249][1]=3453480959U;
    freeip[250][0]=3458275328U; freeip[250][1]=3458277375U;
    freeip[251][0]=3458277376U; freeip[251][1]=3458281471U;
    freeip[252][0]=3466457088U; freeip[252][1]=3466459135U;
    freeip[253][0]=3469709824U; freeip[253][1]=3469710079U;
    freeip[254][0]=3470470144U; freeip[254][1]=3470470655U;
    freeip[255][0]=3470471680U; freeip[255][1]=3470472191U;
    freeip[256][0]=3470472192U; freeip[256][1]=3470472703U;
    freeip[257][0]=3470581760U; freeip[257][1]=3470582783U;
    freeip[258][0]=3472744192U; freeip[258][1]=3472744447U;
    freeip[259][0]=3475886848U; freeip[259][1]=3475887103U;
    freeip[260][0]=3475889664U; freeip[260][1]=3475889919U;
    freeip[261][0]=3479288832U; freeip[261][1]=3479289087U;
    freeip[262][0]=3484442624U; freeip[262][1]=3484443135U;
    freeip[263][0]=3485286400U; freeip[263][1]=3485294591U;
    freeip[264][0]=3486056448U; freeip[264][1]=3486072831U;
    freeip[265][0]=3498428416U; freeip[265][1]=3498429439U;
    freeip[266][0]=3498429952U; freeip[266][1]=3498430207U;
    freeip[267][0]=3500486656U; freeip[267][1]=3500490751U;
    freeip[268][0]=3516137472U; freeip[268][1]=3516153855U;
    freeip[269][0]=3523543040U; freeip[269][1]=3523551231U;
    freeip[270][0]=3524001792U; freeip[270][1]=3524132863U;
    freeip[271][0]=3524173824U; freeip[271][1]=3524182015U;
    freeip[272][0]=3524182016U; freeip[272][1]=3524198399U;
    freeip[273][0]=3524198400U; freeip[273][1]=3524231167U;
    freeip[274][0]=3524231168U; freeip[274][1]=3524247551U;
    freeip[275][0]=3524591616U; freeip[275][1]=3524657151U;
    freeip[276][0]=3524657152U; freeip[276][1]=3524722687U;
    freeip[277][0]=3524853760U; freeip[277][1]=3524886527U;
    freeip[278][0]=3524886528U; freeip[278][1]=3524902911U;
    freeip[279][0]=3524902912U; freeip[279][1]=3524911103U;
    freeip[280][0]=3524911104U; freeip[280][1]=3524915199U;
    freeip[281][0]=3524915200U; freeip[281][1]=3524915455U;
    freeip[282][0]=3524915712U; freeip[282][1]=3524916223U;
    freeip[283][0]=3524916224U; freeip[283][1]=3524917247U;
    freeip[284][0]=3524917248U; freeip[284][1]=3524919295U;
    freeip[285][0]=3524919296U; freeip[285][1]=3525050367U;
    freeip[286][0]=3525050368U; freeip[286][1]=3525312511U;
    freeip[287][0]=3525312512U; freeip[287][1]=3526361087U;
    freeip[288][0]=3526557696U; freeip[288][1]=3526623231U;
    freeip[289][0]=3526623232U; freeip[289][1]=3526754303U;
    freeip[290][0]=3527311360U; freeip[290][1]=3527313407U;
    freeip[291][0]=3527317504U; freeip[291][1]=3527317759U;
    freeip[292][0]=3527933952U; freeip[292][1]=3528065023U;
    freeip[293][0]=3528073216U; freeip[293][1]=3528081407U;
    freeip[294][0]=3528081408U; freeip[294][1]=3528081919U;
    freeip[295][0]=3528089600U; freeip[295][1]=3528097791U;
    freeip[296][0]=3528097792U; freeip[296][1]=3528130559U;
    freeip[297][0]=3528138752U; freeip[297][1]=3528146943U;
    freeip[298][0]=3528155136U; freeip[298][1]=3528163327U;
    freeip[299][0]=3528163328U; freeip[299][1]=3528196095U;
    freeip[300][0]=3528196096U; freeip[300][1]=3528228863U;
    freeip[301][0]=3528237056U; freeip[301][1]=3528245247U;
    freeip[302][0]=3528245248U; freeip[302][1]=3528253439U;
    freeip[303][0]=3528255744U; freeip[303][1]=3528255999U;
    freeip[304][0]=3528261632U; freeip[304][1]=3528278015U;
    freeip[305][0]=3528286208U; freeip[305][1]=3528294399U;
    freeip[306][0]=3528294400U; freeip[306][1]=3528302591U;
    freeip[307][0]=3528302592U; freeip[307][1]=3528306687U;
    freeip[308][0]=3528310784U; freeip[308][1]=3528327167U;
    freeip[309][0]=3528327168U; freeip[309][1]=3528335359U;
    freeip[310][0]=3528359936U; freeip[310][1]=3528368127U;
    freeip[311][0]=3528370176U; freeip[311][1]=3528370431U;
    freeip[312][0]=3528450048U; freeip[312][1]=3528458239U;
    freeip[313][0]=3528589312U; freeip[313][1]=3528720383U;
    freeip[314][0]=3535275776U; freeip[314][1]=3535276031U;
    freeip[315][0]=3535280128U; freeip[315][1]=3535280383U;
    freeip[316][0]=3535293952U; freeip[316][1]=3535294207U;
    freeip[317][0]=3535822848U; freeip[317][1]=3535831039U;
    freeip[318][0]=3539246848U; freeip[318][1]=3539247103U;
    freeip[319][0]=3539250176U; freeip[319][1]=3539250431U;
    freeip[320][0]=3539251200U; freeip[320][1]=3539251455U;
    freeip[321][0]=3544186880U; freeip[321][1]=3544711167U;
    freeip[322][0]=3545235456U; freeip[322][1]=3545759743U;
    freeip[323][0]=3545759744U; freeip[323][1]=3545825279U;
    freeip[324][0]=3545890816U; freeip[324][1]=3546021887U;
    freeip[325][0]=3546021888U; freeip[325][1]=3546087423U;
    freeip[326][0]=3546087424U; freeip[326][1]=3546120191U;
    freeip[327][0]=3546120192U; freeip[327][1]=3546136575U;
    freeip[328][0]=3546152960U; freeip[328][1]=3546284031U;
    freeip[329][0]=3546284032U; freeip[329][1]=3546546175U;
    freeip[330][0]=3546546176U; freeip[330][1]=3546578943U;
    freeip[331][0]=3546595328U; freeip[331][1]=3546599423U;
    freeip[332][0]=3546603520U; freeip[332][1]=3546611711U;
    freeip[333][0]=3546611712U; freeip[333][1]=3546628095U;
    freeip[334][0]=3546644480U; freeip[334][1]=3546677247U;
    freeip[335][0]=3546677248U; freeip[335][1]=3546710015U;
    freeip[336][0]=3546742784U; freeip[336][1]=3546775551U;
    freeip[337][0]=3548905472U; freeip[337][1]=3549429759U;
    freeip[338][0]=3549429760U; freeip[338][1]=3549437951U;
    freeip[339][0]=3549437952U; freeip[339][1]=3549442047U;
    freeip[340][0]=3549446144U; freeip[340][1]=3549462527U;
    freeip[341][0]=3549462528U; freeip[341][1]=3549470719U;
    freeip[342][0]=3549470720U; freeip[342][1]=3549474815U;
    freeip[343][0]=3549478912U; freeip[343][1]=3549495295U;
    freeip[344][0]=3549560832U; freeip[344][1]=3549626367U;
    freeip[345][0]=3549626368U; freeip[345][1]=3549659135U;
    freeip[346][0]=3549659136U; freeip[346][1]=3549675519U;
    freeip[347][0]=3549675520U; freeip[347][1]=3549683711U;
    freeip[348][0]=3549724672U; freeip[348][1]=3549732863U;
    freeip[349][0]=3549741056U; freeip[349][1]=3549749247U;
    freeip[350][0]=3549757440U; freeip[350][1]=3549822975U;
    freeip[351][0]=3549822976U; freeip[351][1]=3549954047U;
    freeip[352][0]=3549954048U; freeip[352][1]=3550085119U;
    freeip[353][0]=3550093312U; freeip[353][1]=3550101503U;
    freeip[354][0]=3550101504U; freeip[354][1]=3550117887U;
    freeip[355][0]=3550117888U; freeip[355][1]=3550150655U;
    freeip[356][0]=3550150656U; freeip[356][1]=3550167039U;
    freeip[357][0]=3550167040U; freeip[357][1]=3550175231U;
    freeip[358][0]=3550191616U; freeip[358][1]=3550199807U;
    freeip[359][0]=3550199808U; freeip[359][1]=3550216191U;
    freeip[360][0]=3550216192U; freeip[360][1]=3550224383U;
    freeip[361][0]=3550224384U; freeip[361][1]=3550228479U;
    freeip[362][0]=3550232576U; freeip[362][1]=3550236671U;
    freeip[363][0]=3550240768U; freeip[363][1]=3550248959U;
    freeip[364][0]=3550248960U; freeip[364][1]=3550265343U;
    freeip[365][0]=3550273536U; freeip[365][1]=3550277631U;
    freeip[366][0]=3550281728U; freeip[366][1]=3550347263U;
    freeip[367][0]=3550347264U; freeip[367][1]=3550363647U;
    freeip[368][0]=3550412800U; freeip[368][1]=3550445567U;
    freeip[369][0]=3550451200U; freeip[369][1]=3550451711U;
    freeip[370][0]=3550451712U; freeip[370][1]=3550453759U;
    freeip[371][0]=3550478336U; freeip[371][1]=3550740479U;
    freeip[372][0]=3550740480U; freeip[372][1]=3550871551U;
    freeip[373][0]=3550871552U; freeip[373][1]=3550937087U;
    freeip[374][0]=3550937088U; freeip[374][1]=3550969855U;
    freeip[375][0]=3550969856U; freeip[375][1]=3550978047U;
    freeip[376][0]=3550978048U; freeip[376][1]=3550982143U;
    freeip[377][0]=3550986240U; freeip[377][1]=3551002623U;
    freeip[378][0]=3552882688U; freeip[378][1]=3552886783U;
    freeip[379][0]=3628654848U; freeip[379][1]=3628655103U;
    freeip[380][0]=3657433088U; freeip[380][1]=3658481663U;
    freeip[381][0]=3658481664U; freeip[381][1]=3659005951U;
    freeip[382][0]=3659005952U; freeip[382][1]=3659268095U;
    freeip[383][0]=3659268096U; freeip[383][1]=3659399167U;
    freeip[384][0]=3659399168U; freeip[384][1]=3659403263U;
    freeip[385][0]=3659403264U; freeip[385][1]=3659404287U;
    freeip[386][0]=3659406848U; freeip[386][1]=3659407359U;
    freeip[387][0]=3659408896U; freeip[387][1]=3659409407U;
    freeip[388][0]=3659456512U; freeip[388][1]=3659464703U;
    freeip[389][0]=3659464704U; freeip[389][1]=3659530239U;
    freeip[390][0]=3661103104U; freeip[390][1]=3661627391U;
    freeip[391][0]=3661627392U; freeip[391][1]=3662151679U;
    freeip[392][0]=3662381056U; freeip[392][1]=3662413823U;
    freeip[393][0]=3662413824U; freeip[393][1]=3662675967U;
    freeip[394][0]=3662675968U; freeip[394][1]=3662938111U;
    freeip[395][0]=3662938112U; freeip[395][1]=3663003647U;
    freeip[396][0]=3663200256U; freeip[396][1]=3663462399U;
    freeip[397][0]=3663593472U; freeip[397][1]=3663659007U;
    freeip[398][0]=3663716352U; freeip[398][1]=3663724543U;
    freeip[399][0]=3663724544U; freeip[399][1]=3663790079U;
    freeip[400][0]=3663790080U; freeip[400][1]=3663822847U;
    freeip[401][0]=3663822848U; freeip[401][1]=3663839231U;
    freeip[402][0]=3663839232U; freeip[402][1]=3663847423U;
    freeip[403][0]=3663847424U; freeip[403][1]=3663851519U;
    freeip[404][0]=3663855616U; freeip[404][1]=3663871999U;
    freeip[405][0]=3663872000U; freeip[405][1]=3663880191U;
    freeip[406][0]=3663921152U; freeip[406][1]=3663929343U;
    freeip[407][0]=3664248832U; freeip[407][1]=3664265215U;
    freeip[408][0]=3664265216U; freeip[408][1]=3664273407U;
    freeip[409][0]=3664273408U; freeip[409][1]=3664277503U;
    freeip[410][0]=3664281600U; freeip[410][1]=3664297983U;
    freeip[411][0]=3664297984U; freeip[411][1]=3664306175U;
    freeip[412][0]=3664306176U; freeip[412][1]=3664310271U;
    freeip[413][0]=3664314368U; freeip[413][1]=3664318463U;
    freeip[414][0]=3664318464U; freeip[414][1]=3664320511U;
    freeip[415][0]=3664330752U; freeip[415][1]=3664334847U;
    freeip[416][0]=3664349184U; freeip[416][1]=3664351231U;
    freeip[417][0]=3664437248U; freeip[417][1]=3664445439U;
    freeip[418][0]=3664510976U; freeip[418][1]=3664576511U;
    freeip[419][0]=3670016000U; freeip[419][1]=3670540287U;
    freeip[420][0]=3670540288U; freeip[420][1]=3670802431U;
    freeip[421][0]=3670802432U; freeip[421][1]=3670933503U;
    freeip[422][0]=3673161728U; freeip[422][1]=3673227263U;
    freeip[423][0]=3673243648U; freeip[423][1]=3673247743U;
    freeip[424][0]=3673292800U; freeip[424][1]=3673423871U;
    freeip[425][0]=3673432064U; freeip[425][1]=3673440255U;
    freeip[426][0]=3673448448U; freeip[426][1]=3673456639U;
    freeip[427][0]=3673473024U; freeip[427][1]=3673477119U;
    freeip[428][0]=3673481216U; freeip[428][1]=3673489407U;
    freeip[429][0]=3673489408U; freeip[429][1]=3673554943U;
    freeip[430][0]=3688366080U; freeip[430][1]=3688497151U;
    
    return 0;
}


--
    ... 洪七公笑道:“娃娃,你媳妇儿煮菜的手艺天下第一,你这一生可享定了福。

  他妈的,我年轻时怎么没撞见这样好本事的女人?”言下似乎深以为憾。...

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.220]
※ 修改:·sino 於 09月27日12:33:35 修改本文·[FROM: 202.118.239.220]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:420.993毫秒