Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28753/src
Modified Files:
dhcp-server-guile.c
Log Message:
updated guile server bindings to get more information from server control
Index: dhcp-server-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-guile.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** dhcp-server-guile.c 17 Aug 2003 00:58:36 -0000 1.7
--- dhcp-server-guile.c 18 Aug 2003 01:50:32 -0000 1.8
***************
*** 83,86 ****
--- 83,167 ----
}
+ /* get renew percent from control conf. */
+ static SCM dhcp_scm_get_default_renew_percent(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-default-renew-percent");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ return SCM_MAKINUM(server_conf_get_default_renew_percent(server_control_smob->sc->server_conf));
+ }
+
+ /* get rebind percent from control conf. */
+ static SCM dhcp_scm_get_default_rebind_percent(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-default-rebind-percent");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ return SCM_MAKINUM(server_conf_get_default_rebind_percent(server_control_smob->sc->server_conf));
+ }
+
+ /* get a list of the local subnets. */
+ static SCM dhcp_scm_get_local_subnets(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+ list_t *local_subnets;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-local-subnets");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ local_subnets = server_conf_get_local_subnets(server_control_smob->sc->server_conf);
+ return address_pair_list_to_guile_address_pair_list(local_subnets);
+ }
+
+ /* assume interface has local subnet? */
+ static SCM dhcp_scm_assume_interface_local_subnet(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-interface-has-local-subnet?");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ if(server_conf_assume_interface_local_subnet(server_control_smob->sc->server_conf))
+ return SCM_BOOL_T;
+ else
+ return SCM_BOOL_F;
+ }
+
+ /* get local address. */
+ static SCM dhcp_scm_get_local_address(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-local-address");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+ return SCM_MAKINUM(rawnet_get_ip_addr(server_control_smob->sc->rawnet));
+ }
+
+ /* get local subnet mask. */
+ static SCM dhcp_scm_get_local_subnet_mask(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-local-subnet-mask");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+ return SCM_MAKINUM(rawnet_get_subnet_mask(server_control_smob->sc->rawnet));
+ }
+
/* initialization routines for server control SMOB. */
static void init_server_control_smob(void)
***************
*** 92,95 ****
--- 173,183 ----
scm_set_smob_mark(server_control_tag, dhcp_scm_server_control_mark);
scm_set_smob_print(server_control_tag, dhcp_scm_server_control_print);
+
+ scm_c_define_gsubr("server-get-renew-percent", 1, 0, 0, dhcp_scm_get_default_renew_percent);
+ scm_c_define_gsubr("server-get-rebind-percent", 1, 0, 0, dhcp_scm_get_default_rebind_percent);
+ scm_c_define_gsubr("server-get-local-subnets", 1, 0, 0, dhcp_scm_get_local_subnets);
+ scm_c_define_gsubr("server-interface-has-local-subnet?", 1, 0, 0, dhcp_scm_assume_interface_local_subnet);
+ scm_c_define_gsubr("server-get-local-address", 1, 0, 0, dhcp_scm_get_local_address);
+ scm_c_define_gsubr("server-get-local-subnet-mask", 1, 0, 0, dhcp_scm_get_local_subnet_mask);
return;
|