static BOOTPClient *get_new_addr(struct in_addr *paddr)

{

    BOOTPClient *bc;

    int i;



    for(i = 0; i < NB_ADDR; i++) {

        if (!bootp_clients[i].allocated)

            goto found;

    }

    return NULL;

 found:

    bc = &bootp_clients[i];

    bc->allocated = 1;

    paddr->s_addr = htonl(ntohl(special_addr.s_addr) | (i + START_ADDR));

    return bc;

}

static BOOTPClient *get_new_addr(struct in_addr *paddr)

{

    BOOTPClient *bc;

    int i;



    for(i = 0; i < NB_ADDR; i++) {

        if (!bootp_clients[i].allocated)

            goto found;

    }

    return NULL;

 found:

    bc = &bootp_clients[i];

    bc->allocated = 1;

    paddr->s_addr = htonl(ntohl(special_addr.s_addr) | (i + START_ADDR));

    return bc;

}

static BOOTPClient *FUNC_0(struct in_addr *paddr)

{

    BOOTPClient *bc;

    int VAR_0;



    for(VAR_0 = 0; VAR_0 < NB_ADDR; VAR_0++) {

        if (!bootp_clients[VAR_0].allocated)

            goto found;

    }

    return NULL;

 found:

    bc = &bootp_clients[VAR_0];

    bc->allocated = 1;

    paddr->s_addr = htonl(ntohl(special_addr.s_addr) | (VAR_0 + START_ADDR));

    return bc;

}

static BOOTPClient *FUNC_0(struct in_addr *paddr)
{ BOOTPClient *bc; int VAR_0; for(VAR_0 = 0; VAR_0 < NB_ADDR; VAR_0++) { if (!bootp_clients[VAR_0].allocated)
goto found; } return NULL; found:
bc = &bootp_clients[VAR_0]; bc->allocated = 1; paddr->s_addr = htonl(ntohl(special_addr.s_addr) | (VAR_0 + START_ADDR)); return bc; }