test_pump_dhcp.c

00001 #include <sys/types.h>
00002 #include <unistd.h>
00003 #include <string.h>
00004 #include <stdio.h>
00005 
00006 #include <pump.h>
00007 
00008 void logger(void *arg, int priority, char *fmt, va_list va)
00009 {
00010     libdhcp_stderr_logger(0, priority, fmt, va);
00011 }
00012 
00013 int main( int argc, char **argv, char **envp)
00014 {
00015     struct pumpNetIntf ifx;
00016 
00017     memset(&ifx, '\0', sizeof(ifx));
00018 
00019     strcpy(&(ifx.device[0]),"eth0");
00020     
00021     char *s = 
00022         pumpDhcpClassRun
00023         (
00024             &ifx,
00025             0L, 0L, 0, 0, 
00026             10, 
00027             logger,
00028             LOG_DEBUG
00029         ),
00030         buf[64];
00031     
00032     if( s != 0L )
00033     {
00034         printf("%s\n",s);
00035         return 1;
00036     }
00037 
00038     if( ifx.set & PUMP_INTFINFO_HAS_IP )
00039         printf("ip: %s\n",
00040                ip_text_addr(&(ifx.ip),buf,64)
00041               );
00042 
00043     if( ifx.set & PUMP_INTFINFO_HAS_IPV4_IP )
00044         printf("ipv4: %s\n",
00045                ip_text_addr(&(ifx.ipv4),buf,64)
00046               );
00047 
00048     if( ifx.set & PUMP_INTFINFO_HAS_IPV6_IP )
00049         printf("ipv6: %s\n",
00050                ip_text_addr(&(ifx.ipv6),buf,64)
00051               );
00052 
00053     if( ifx.set & PUMP_INTFINFO_HAS_IPV6_PREFIX )
00054         printf("ipv6_prefixlen: %d\n",
00055                ifx.ipv6_prefixlen
00056               );
00057 
00058     if( ifx.set & PUMP_INTFINFO_HAS_NETMASK )
00059         printf("netmask: %s\n",
00060                ip_text_addr(&(ifx.netmask),buf,64)
00061               );
00062 
00063     if( ifx.set & PUMP_INTFINFO_HAS_NETWORK )
00064         printf("network: %s\n",
00065                ip_text_addr(&(ifx.network),buf,64)
00066               );
00067 
00068     if( ifx.set & PUMP_INTFINFO_HAS_BROADCAST )
00069         printf("broadcast: %s\n",
00070                ip_text_addr(&(ifx.broadcast),buf,64)
00071               );
00072 
00073     if( ifx.set & PUMP_NETINFO_HAS_GATEWAY )
00074         printf("gateway: %s\n",
00075                ip_text_addr(&(ifx.gateway),buf,64)
00076               );
00077 
00078     if( ifx.set & PUMP_INTFINFO_HAS_NEXTSERVER )
00079         printf("nextServer: %s\n",
00080                ip_text_addr(&(ifx.nextServer),buf,64)
00081               );
00082 
00083     if( ifx.set & PUMP_INTFINFO_HAS_MTU )
00084         printf("mtu: %d\n",
00085                ifx.mtu
00086               );
00087         
00088     if( ifx.set & PUMP_NETINFO_HAS_DNS )
00089     {
00090         if( ifx.domain )
00091             printf("domain: %s\n",
00092                    ifx.domain
00093                   );
00094         if( ifx.numDns )
00095         {
00096             int i;
00097             for(i=0; i < ifx.numDns; i++)
00098                 printf("nameserver: %s\n",
00099                        ip_text_addr(&(ifx.dnsServers[i]),buf,64)
00100                       );
00101         }
00102     }
00103     
00104     if( ifx.set & PUMP_NETINFO_HAS_HOSTNAME )       
00105     {
00106         printf("hostname: %s\n",
00107                ifx.hostname
00108                );
00109     }
00110 
00111     if( ifx.set & PUMP_INTFINFO_HAS_BOOTFILE )       
00112     {
00113         printf("bootFile: %s\n",
00114                ifx.bootFile
00115                );
00116     }
00117 
00118     if( (s = pumpSetupInterface( &ifx )) != 0 )
00119     {
00120         printf("pumpSetupInterface failed: %s\n", s);
00121         return 1;
00122     }
00123         
00124     return 0;
00125 }
00126 

Generated on Thu Aug 10 21:26:26 2006 for libdhcp by  doxygen 1.4.7