[dhcp-agent-commits] dhcp-agent/src dhcp-server-guile.c,1.7,1.8
Status: Alpha
Brought to you by:
actmodern
From: <act...@us...> - 2003-08-18 01:50:35
|
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; |