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);
|