8 int display_dhcp_packet( DHCPMESSAGE
*dhcpm
, DHCPOPTIONS
*dhcpo
)
14 fprintf( stdout
, "op: %s\t|htype: %s\t|hlen: %u\t|hops: %u\n", (dhcpm
->op
== 1)?"BOOTREQUEST":"BOOTREPLY", (dhcpm
->htype
==1)?"Ethernet 10Mb":"unknown", dhcpm
->hlen
, dhcpm
->hops
);
15 fprintf( stdout
, "xid: %u \n", dhcpm
->xid
);
16 fprintf( stdout
, "secs: %u\t\t|flags: %u\n", dhcpm
->secs
, dhcpm
->flags
);
17 fprintf( stdout
, "ciaddr: %u.%u.%u.%u \n", (dhcpm
->ciaddr
>> 24), ((dhcpm
->ciaddr
>>16)&0xFF), ((dhcpm
->ciaddr
>>8)&0xFF), ((dhcpm
->ciaddr
)&0xFF));
18 fprintf( stdout
, "yiaddr: %u.%u.%u.%u \n", (dhcpm
->yiaddr
>> 24), ((dhcpm
->yiaddr
>>16)&0xFF), ((dhcpm
->yiaddr
>>8)&0xFF), ((dhcpm
->yiaddr
)&0xFF));
19 fprintf( stdout
, "siaddr: %u.%u.%u.%u \n", (dhcpm
->siaddr
>> 24), ((dhcpm
->siaddr
>>16)&0xFF), ((dhcpm
->siaddr
>>8)&0xFF), ((dhcpm
->siaddr
)&0xFF));
20 fprintf( stdout
, "giaddr: %u.%u.%u.%u \n", (dhcpm
->giaddr
>> 24), ((dhcpm
->giaddr
>>16)&0xFF), ((dhcpm
->giaddr
>>8)&0xFF), ((dhcpm
->giaddr
)&0xFF));
21 fprintf( stdout
, "chaddr: %X::%X::%X::%X::%X::%X \n", dhcpm
->chaddr
[0], dhcpm
->chaddr
[1], dhcpm
->chaddr
[2], dhcpm
->chaddr
[3], dhcpm
->chaddr
[4], dhcpm
->chaddr
[5] );
22 fprintf( stdout
, "sname: %s \n", dhcpm
->sname
);
23 fprintf( stdout
, "file: %s \n", dhcpm
->file
);
24 /* options come here */
28 mtype
= (char *)malloc( strlen( "DHCPDISCOVER" ) +1);
29 strcpy( mtype
, "DHCPDISCOVER" );
32 mtype
= (char *)malloc( strlen( "DHCPREQUEST" ) +1);
33 strcpy( mtype
, "DHCPREQUEST" );
36 mtype
= (char *)malloc( strlen( "DHCPACK" ) +1);
37 strcpy( mtype
, "DHCPACK" );
40 mtype
= (char *)malloc( strlen( "DHCPNAK" ) +1);
41 strcpy( mtype
, "DHCPNAK" );
44 mtype
= (char *)malloc( strlen( "DHCPRELEASE" ) +1);
45 strcpy( mtype
, "DHCPRELEASE" );
48 mtype
= (char *)malloc( strlen( "DHCPDECLINE" ) +1);
49 strcpy( mtype
, "DHCPDECLINE" );
52 mtype
= (char *)malloc( strlen( "DHCPOFFER" ) +1);
53 strcpy( mtype
, "DHCPOFFER" );
56 mtype
= (char *)malloc( strlen("Unknown Type") +1);
57 strcpy( mtype
, "Unknown Type" );
60 fprintf( stdout
, "Message Type: %s \n", mtype
);