[dhcp-agent-commits] dhcp-agent/src dhcp-interface.c,1.10,1.11 dhcp-interface.h,1.6,1.7
Status: Alpha
Brought to you by:
actmodern
From: <act...@us...> - 2003-08-18 01:49:09
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1:/tmp/cvs-serv28520/src Modified Files: dhcp-interface.c dhcp-interface.h Log Message: interface code now lets us get subnet mask Index: dhcp-interface.c =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-interface.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** dhcp-interface.c 25 Jul 2003 02:36:21 -0000 1.10 --- dhcp-interface.c 18 Aug 2003 01:49:06 -0000 1.11 *************** *** 157,161 **** /* get ip address of an interface. */ ! int interface_get_ip_addr(interface_control_t *ic, uint32_t *addr) { if(interface_get_info(ic)) { --- 157,161 ---- /* get ip address of an interface. */ ! int interface_get_ip_addr(interface_control_t *ic, ip_addr_t *addr) { if(interface_get_info(ic)) { *************** *** 167,170 **** --- 167,185 ---- memcpy(addr, &ic->interface_entry->intf_addr.addr_ip, IP_ADDR_LEN); + return 0; + } + + int interface_get_subnet_mask(interface_control_t *ic, ip_addr_t *addr) + { + struct sockaddr_in sockaddr; + + if(interface_get_info(ic)) { + ERROR_MESSAGE("could not get interface IP address %s : %s", + ic->interface_entry->intf_name, strerror(errno)); + return -1; + } + + addr_btos(ic->interface_entry->intf_addr.addr_bits, (struct sockaddr *)&sockaddr); + memcpy(addr, &sockaddr.sin_addr, IP_ADDR_LEN); return 0; } Index: dhcp-interface.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-interface.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** dhcp-interface.h 25 Jul 2003 02:36:21 -0000 1.6 --- dhcp-interface.h 18 Aug 2003 01:49:06 -0000 1.7 *************** *** 31,34 **** --- 31,35 ---- extern int interface_down(interface_control_t *ic); extern int interface_get_ip_addr(interface_control_t *ic, uint32_t *addr); + extern int interface_get_subnet_mask(interface_control_t *ic, ip_addr_t *addr); extern list_t *interface_get_active_interfaces(void); extern list_t *interface_get_inactive_interfaces(void); |