diff --git a/src/autonomous_complpolicy.c b/src/autonomous_complpolicy.c index 5cebadc..5274797 100644 --- a/src/autonomous_complpolicy.c +++ b/src/autonomous_complpolicy.c @@ -31,6 +31,9 @@ struct autonomous_event { autonomous_event_callback cb; }; +static void free_autonomous_du_state_change_complete_data(auto_du_state_change_compl *p); +static void free_autonomous_transfer_complete_data(auto_transfer_complete *p); + static bool validate_du_state_change_data(auto_du_state_change_compl *data) { diff --git a/src/autonomous_complpolicy.h b/src/autonomous_complpolicy.h index 354cf4e..72d083c 100644 --- a/src/autonomous_complpolicy.h +++ b/src/autonomous_complpolicy.h @@ -20,6 +20,4 @@ void autonomous_notification_handler(struct ubus_context *ctx __attribute__((unu const char *type __attribute__((unused)), struct blob_attr *msg); int cwmp_rpc_acs_destroy_data_autonomous_du_state_change_complete(struct rpc *rpc); int cwmp_rpc_acs_destroy_data_autonomous_transfer_complete(struct rpc *rpc); -void free_autonomous_du_state_change_complete_data(auto_du_state_change_compl *p); -void free_autonomous_transfer_complete_data(auto_transfer_complete *p); #endif diff --git a/src/backupSession.c b/src/backupSession.c index 235d8eb..cb32c0b 100644 --- a/src/backupSession.c +++ b/src/backupSession.c @@ -26,6 +26,13 @@ static mxml_node_t *bkp_tree = NULL; +struct search_keywords { + char *name; + char *value; +}; + +static int bkp_session_check_file(); + int cwmp_init_backup_session(char **ret, enum backup_loading load) { if (bkp_session_check_file()) diff --git a/src/backupSession.h b/src/backupSession.h index e8a2af4..68e3abd 100644 --- a/src/backupSession.h +++ b/src/backupSession.h @@ -32,13 +32,7 @@ typedef enum backup_loading CR_PORT } backup_loading; -struct search_keywords { - char *name; - char *value; -}; - int cwmp_init_backup_session(char **ret, enum backup_loading load); -int bkp_session_check_file(); void bkp_session_save(); int cwmp_load_saved_session(char **acsurl, enum backup_loading load); int save_acs_bkp_config(); diff --git a/src/common.c b/src/common.c index 8c6603c..95f147d 100755 --- a/src/common.c +++ b/src/common.c @@ -1351,21 +1351,6 @@ void *cwmp_memcpy(void *dst, const void *src, size_t size, const char *origin, i } } -void cwmp_restart_service(struct uloop_timeout *timeout __attribute__((unused))) -{ - struct blob_buf b = { 0 }; - - CWMP_MEMSET(&b, 0, sizeof(struct blob_buf)); - blob_buf_init(&b, 0); - bb_add_string(&b, "name", "icwmpd"); - bb_add_string(&b, "action", "restart"); - - icwmp_ubus_invoke("rc", "init", b.head, NULL, NULL); - - blob_buf_free(&b); - CWMP_LOG(DEBUG, "Scheduled icwmpd restart"); -} - int regex_replace(char **str, const char *pattern, const char *replace, int *match_count) { regex_t reg; diff --git a/src/common.h b/src/common.h index a818993..6290ac1 100644 --- a/src/common.h +++ b/src/common.h @@ -673,7 +673,6 @@ bool is_ipv6_status_changed(void); char *get_time(time_t t_time); bool is_reload_parameter(const char *object_name); time_t convert_datetime_to_timestamp(char *value); -int run_session_end_func(void); void set_interface_reset_request(char *param_name, char *value); bool str_to_bool(char *value); bool match_reg_exp(char *reg_exp, char *param_name); @@ -694,7 +693,6 @@ char *cwmp_strncpy(char *dst, const char *src, int size, const char *origin, int char *cwmp_strdup(const char *s1, const char *origin, int pos); void *cwmp_memset(void *src, int val, size_t size, const char *origin, int pos); void *cwmp_memcpy(void *dst, const void *src, size_t size, const char *origin, int pos); -void cwmp_restart_service(struct uloop_timeout *timeout __attribute__((unused))); int regex_replace(char **str, const char *pattern, const char *replace, int *match_count); void stop_service(void); void icwmp_init_critical_services(void); diff --git a/src/cwmp_du_state.c b/src/cwmp_du_state.c index 14e3834..39b74e5 100644 --- a/src/cwmp_du_state.c +++ b/src/cwmp_du_state.c @@ -24,6 +24,10 @@ LIST_HEAD(list_change_du_state); +static int cwmp_du_install(char *url, char *uuid, char *user, char *pass, char *path, char *env_ref, char **fault_code); +static int cwmp_du_update(char *url, char *user, char *pass, char *du_path, char **fault_code); +static int cwmp_du_uninstall(char *du_path, char **fault_code); + static char *generate_uuid(void) { uuid_t binuuid; @@ -463,7 +467,7 @@ void change_du_state_execute(struct uloop_timeout *utimeout) struct opresult *res; struct du_state_change_complete *pdu_state_change_complete; char *du_ref = NULL; - char du_path[2048] = {0}; + char du_path[128] = {0}; //struct session_timer_event cdu_inform_event = {.session_timer_evt = {.cb = cwmp_schedule_session_with_event}, .event = CDU_Evt}; struct session_timer_event *cdu_inform_event = calloc(1, sizeof(struct session_timer_event)); diff --git a/src/cwmp_du_state.h b/src/cwmp_du_state.h index cb12a93..21086d1 100644 --- a/src/cwmp_du_state.h +++ b/src/cwmp_du_state.h @@ -18,11 +18,7 @@ extern struct list_head list_change_du_state; extern struct list_head du_uuid_list; -int cwmp_du_install(char *url, char *uuid, char *user, char *pass, char *path, char *env_ref, char **fault_code); -int cwmp_du_update(char *url, char *user, char *pass, char *du_path, char **fault_code); -int cwmp_du_uninstall(char *du_path, char **fault_code); int cwmp_rpc_acs_destroy_data_du_state_change_complete(struct rpc *rpc); -void *thread_cwmp_rpc_cpe_change_du_state(void *v); int cwmp_free_change_du_state_request(struct change_du_state *change_du_state); void change_du_state_execute(struct uloop_timeout *utimeout); void apply_change_du_state(); diff --git a/src/cwmp_event.h b/src/cwmp_event.h index 664fe62..1be83d0 100644 --- a/src/cwmp_event.h +++ b/src/cwmp_event.h @@ -1,5 +1,6 @@ #ifndef CWMP_EVENT_H #define CWMP_EVENT_H + #include "event.h" struct event_container *cwmp_add_event_container(int event_code, char *command_key); void move_next_session_events_to_actual_session(); diff --git a/src/cwmp_http.h b/src/cwmp_http.h index 3323a31..042edfe 100644 --- a/src/cwmp_http.h +++ b/src/cwmp_http.h @@ -1,7 +1,7 @@ #ifndef CWMP_HTTP_H #define CWMP_HTTP_H + #include "http.h" -extern pthread_t http_cr_server_thread; void http_server_start(void); void http_server_stop(void); diff --git a/src/heartbeat.c b/src/heartbeat.c index c5f9b25..7f1710d 100644 --- a/src/heartbeat.c +++ b/src/heartbeat.c @@ -22,6 +22,8 @@ #include "http.h" #include "cwmp_event.h" +static void cwmp_heartbeat_session_timer(struct uloop_timeout *timeout); + struct uloop_timeout heartbeat_session_timer = { .cb = cwmp_heartbeat_session_timer }; long int cwmp_heartbeat_session_time(void) diff --git a/src/heartbeat.h b/src/heartbeat.h index 6da22dc..9947352 100644 --- a/src/heartbeat.h +++ b/src/heartbeat.h @@ -15,7 +15,6 @@ extern struct uloop_timeout heartbeat_session_timer; -void cwmp_heartbeat_session_timer(struct uloop_timeout *timeout); void intiate_heartbeat_procedures(); void reinit_heartbeat_procedures(); diff --git a/src/http.h b/src/http.h index 5a17b8e..166e3e0 100644 --- a/src/http.h +++ b/src/http.h @@ -25,7 +25,6 @@ int icwmp_http_client_init(); void icwmp_http_client_exit(void); int icwmp_http_send_message(char *msg_out, int msg_out_len, char **msg_in); -int http_cr_server_init(void); void icwmp_http_server_listen(void); void icwmp_http_server_init(void); #endif diff --git a/src/notifications.c b/src/notifications.c index 3680f1a..9967b00 100644 --- a/src/notifications.c +++ b/src/notifications.c @@ -28,6 +28,13 @@ LIST_HEAD(list_value_change); LIST_HEAD(list_lw_value_change); LIST_HEAD(list_param_obj_notify); +static void create_list_param_leaf_notify(struct list_head *, void (*fp)(FILE *, char *, char *, char *, int), FILE*); +static void send_active_value_change(void); +static void add_list_value_change(char *param_name, char *param_data, char *param_type); +static void add_lw_list_value_change(char *param_name, char *param_data, char *param_type); +static void cwmp_lwnotification(void); +static void periodic_check_notifiy(struct uloop_timeout *timeout __attribute__((unused))); + struct uloop_timeout check_notify_timer = { .cb = periodic_check_notifiy }; char *supported_notification_types[7] = {"disabled" , "passive", "active", "passive_lw", "passive_passive_lw", "active_lw", "passive_active_lw"}; diff --git a/src/notifications.h b/src/notifications.h index 38f2b75..5fc2257 100644 --- a/src/notifications.h +++ b/src/notifications.h @@ -38,28 +38,18 @@ extern struct uloop_timeout check_notify_timer; #define DM_ENABLED_NOTIFY "/var/run/icwmpd/dm_enabled_notify" #define NOTIFY_MARKER "/etc/icwmpd/icwmpd_notify_import_marker" #define RUN_NOTIFY_MARKER "/var/run/icwmpd/icwmpd_notify_import_marker" -int create_cwmp_notifications_package(); -void ubus_check_value_change_callback(struct ubus_request *req, int type, struct blob_attr *msg); void cwmp_update_enabled_notify_file(void); int check_value_change(void); -void create_list_param_obj_notify(); -void create_list_param_leaf_notify(); void sotfware_version_value_change(struct transfer_complete *p); -void *thread_periodic_check_notify(void *v); -void send_active_value_change(void); -void add_list_value_change(char *param_name, char *param_data, char *param_type); void clean_list_value_change(); char *cwmp_set_parameter_attributes(char *parameter_name, int notification); char *cwmp_get_parameter_attributes(char *parameter_name, struct list_head *parameters_list); void load_custom_notify_json(void); void set_default_forced_active_parameters_notifications(); -void add_lw_list_value_change(char *param_name, char *param_data, char *param_type); char *calculate_lwnotification_cnonce(); -void cwmp_lwnotification(); void clean_list_param_notify(); void init_list_param_notify(); void reinit_list_param_notify(); void cwmp_prepare_value_change(); -void periodic_check_notifiy(struct uloop_timeout *timeout __attribute__((unused))); void trigger_periodic_notify_check(); #endif /* SRC_INC_NOTIFICATIONS_H_ */ diff --git a/src/rpc.c b/src/rpc.c index d39f163..103ae1c 100755 --- a/src/rpc.c +++ b/src/rpc.c @@ -32,6 +32,29 @@ #define PROCESSING_DELAY (1) // In download/upload the message enqueued before sending the response, which cause the download/upload // to start just before the time. This delay is to compensate the time lapsed during the message enqueue and response +static int cwmp_handle_rpc_cpe_get_rpc_methods(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_set_parameter_values(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_get_parameter_names(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_reboot(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_download(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_upload(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_factory_reset(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_x_factory_reset_soft(struct rpc *rpc); +static int cancel_transfer(char *key); +static int cwmp_handle_rpc_cpe_cancel_transfer(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_schedule_inform(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_schedule_download(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_change_du_state(struct rpc *rpc); +static int cwmp_handle_rpc_cpe_fault(struct rpc *rpc); +static int cwmp_create_fault_message(struct rpc *rpc_cpe, int fault_code, char *fault_msg); +static int cwmp_rpc_acs_parse_response_inform(struct rpc *rpc); +static int cwmp_rpc_acs_parse_response_get_rpc_methods(struct rpc *this); +static int cwmp_rpc_acs_prepare_get_rpc_methods(struct rpc *rpc); +static int cwmp_rpc_acs_prepare_transfer_complete(struct rpc *rpc); +static int cwmp_rpc_acs_prepare_du_state_change_complete(struct rpc *rpc); +static int cwmp_rpc_acs_prepare_autonomous_du_state_change_complete(struct rpc *rpc); +static int cwmp_rpc_acs_prepare_autonomous_transfer_complete(struct rpc *rpc); + struct cwmp_namespaces ns; const struct rpc_cpe_method rpc_cpe_methods[] = { [RPC_CPE_GET_RPC_METHODS] = { "GetRPCMethods", cwmp_handle_rpc_cpe_get_rpc_methods, AMD_1 }, diff --git a/src/rpc.h b/src/rpc.h index 6f04181..aab1dea 100644 --- a/src/rpc.h +++ b/src/rpc.h @@ -20,37 +20,13 @@ extern const struct rpc_cpe_method rpc_cpe_methods[__RPC_CPE_MAX]; extern struct rpc_acs_method rpc_acs_methods[__RPC_ACS_MAX]; -int cwmp_handle_rpc_cpe_get_rpc_methods(struct rpc *rpc); -int cwmp_handle_rpc_cpe_set_parameter_values(struct rpc *rpc); int cwmp_handle_rpc_cpe_get_parameter_values(struct rpc *rpc); -int cwmp_handle_rpc_cpe_get_parameter_names(struct rpc *rpc); int cwmp_handle_rpc_cpe_set_parameter_attributes(struct rpc *rpc); int cwmp_handle_rpc_cpe_get_parameter_attributes(struct rpc *rpc); int cwmp_handle_rpc_cpe_add_object(struct rpc *rpc); int cwmp_handle_rpc_cpe_delete_object(struct rpc *rpc); -int cwmp_handle_rpc_cpe_reboot(struct rpc *rpc); -int cwmp_handle_rpc_cpe_download(struct rpc *rpc); -int cwmp_handle_rpc_cpe_upload(struct rpc *rpc); -int cwmp_handle_rpc_cpe_factory_reset(struct rpc *rpc); -int cwmp_handle_rpc_cpe_x_factory_reset_soft(struct rpc *rpc); -int cancel_transfer(char *key); -int cwmp_handle_rpc_cpe_cancel_transfer(struct rpc *rpc); -int cwmp_handle_rpc_cpe_schedule_inform(struct rpc *rpc); -int cwmp_handle_rpc_cpe_schedule_download(struct rpc *rpc); -int cwmp_handle_rpc_cpe_change_du_state(struct rpc *rpc); -int cwmp_handle_rpc_cpe_fault(struct rpc *rpc); - int cwmp_rpc_acs_prepare_message_inform(struct rpc *rpc); -int cwmp_rpc_acs_parse_response_inform(struct rpc *rpc); -int cwmp_rpc_acs_parse_response_get_rpc_methods(struct rpc *this); -int cwmp_rpc_acs_prepare_get_rpc_methods(struct rpc *rpc); -int cwmp_rpc_acs_prepare_transfer_complete(struct rpc *rpc); -int cwmp_rpc_acs_prepare_du_state_change_complete(struct rpc *rpc); -int cwmp_rpc_acs_prepare_autonomous_du_state_change_complete(struct rpc *rpc); -int cwmp_rpc_acs_prepare_autonomous_transfer_complete(struct rpc *rpc); - int xml_handle_message(); -int cwmp_create_fault_message(struct rpc *rpc_cpe, int fault_code, char *fault_msg); void load_default_forced_inform(void); void clean_force_inform_list(void); void load_forced_inform_json(void); diff --git a/src/sched_inform.h b/src/sched_inform.h index babd037..9e60956 100644 --- a/src/sched_inform.h +++ b/src/sched_inform.h @@ -11,7 +11,9 @@ #ifndef CWMP_SCHED_INFORM_H #define CWMP_SCHED_INFORM_H + #include "common.h" + extern struct list_head list_schedule_inform; extern int count_schedule_inform_queue; diff --git a/src/session.c b/src/session.c index 4c71dd0..b21e187 100644 --- a/src/session.c +++ b/src/session.c @@ -35,14 +35,19 @@ #include "cwmp_http.h" #include "uci_utils.h" - +static struct rpc *cwmp_add_session_rpc_acs_head(int type); +static int cwmp_session_rpc_destructor(struct rpc *rpc); +static int run_session_end_func(void); +static void cwmp_schedule_session(struct uloop_timeout *timeout); +static void cwmp_schedule_throttle_session(struct uloop_timeout *timeout __attribute__((unused))); +static void set_cwmp_session_status(int status, int retry_time); +static int cwmp_schedule_rpc(void); static void cwmp_periodic_session_timer(struct uloop_timeout *timeout); + struct uloop_timeout session_timer = { .cb = cwmp_schedule_session }; struct uloop_timeout periodic_session_timer = { .cb = cwmp_periodic_session_timer }; struct uloop_timeout retry_session_timer = { .cb = cwmp_schedule_session }; struct uloop_timeout throttle_session_timer = { .cb = cwmp_schedule_throttle_session }; -struct uloop_timeout restart_timer = { .cb = cwmp_restart_service }; - unsigned int end_session_flag = 0; @@ -791,8 +796,3 @@ int run_session_end_func(void) end_session_flag = 0; return CWMP_OK; } - -void trigger_cwmp_restart_timer(void) -{ - uloop_timeout_set(&restart_timer, 10); -} diff --git a/src/session.h b/src/session.h index bb4ed14..ae3d1a2 100644 --- a/src/session.h +++ b/src/session.h @@ -94,24 +94,16 @@ void cwmp_set_end_session(unsigned int flag); void cwmp_clear_end_session(unsigned int flag); struct rpc *build_sessin_rcp_cpe(int type); struct rpc *cwmp_add_session_rpc_acs(int type); -struct rpc *cwmp_add_session_rpc_acs_head(int type); -int cwmp_session_rpc_destructor(struct rpc *rpc); void trigger_cwmp_session_timer(); void trigger_cwmp_throttle_session_timer(unsigned int delay); -void trigger_session_by_ubus(char *event); void initiate_cwmp_periodic_session_feature(); -int run_session_end_func(void); -void cwmp_schedule_session(struct uloop_timeout *timeout); -void cwmp_schedule_throttle_session(struct uloop_timeout *timeout __attribute__((unused))); void cwmp_schedule_session_with_event(struct uloop_timeout *timeout); void trigger_cwmp_session_timer_with_event(struct uloop_timeout *timeout); void start_cwmp_session(); int create_cwmp_session_structure(); int clean_cwmp_session_structure(); -void set_cwmp_session_status(int status, int retry_time); int cwmp_session_init(); int cwmp_session_exit(); -int cwmp_schedule_rpc(); int cwmp_apply_acs_changes(void); void rpc_exit(); void trigger_cwmp_restart_timer(void); diff --git a/src/subprocess.c b/src/subprocess.c index 8878d5b..95984d5 100644 --- a/src/subprocess.c +++ b/src/subprocess.c @@ -18,6 +18,8 @@ #define END_TASK "{\"task\":\"end\"}" #define EXIT_TASK "{\"task\":\"exit\"}" +typedef char* (*task_function)(char *task_arg); + static int pipefd1[2], pipefd2[2]; bool check_task_name(char *task, char *name) diff --git a/src/ubus_utils.c b/src/ubus_utils.c index 8863a40..a2fadbf 100644 --- a/src/ubus_utils.c +++ b/src/ubus_utils.c @@ -24,6 +24,8 @@ static bool g_bbf_object_available = false; static struct ubus_context *ubus_ctx = NULL; struct uloop_timeout u_timeout; +static int icwmp_register_object(struct ubus_context *ctx); + struct command_cb { char *str; callback cb; @@ -382,11 +384,6 @@ int icwmp_register_object(struct ubus_context *ctx) return ubus_add_object(ctx, &tr069_object); } -int icwmp_delete_object(struct ubus_context *ctx) -{ - return ubus_remove_object(ctx, &tr069_object); -} - void bb_add_string(struct blob_buf *bb, const char *name, const char *value) { if (bb == NULL) diff --git a/src/ubus_utils.h b/src/ubus_utils.h index 6109775..ef52aaa 100644 --- a/src/ubus_utils.h +++ b/src/ubus_utils.h @@ -15,10 +15,7 @@ #include "common.h" typedef void (*icwmp_ubus_cb)(struct ubus_request *req, int type, struct blob_attr *msg); - void bb_add_string(struct blob_buf *bb, const char *name, const char *value); -int icwmp_register_object(struct ubus_context *ctx); -int icwmp_delete_object(struct ubus_context *ctx); int icwmp_ubus_invoke(const char *obj, const char *method, struct blob_attr *msg, icwmp_ubus_cb icwmp_callback, void *callback_arg); int icwmp_uloop_ubus_register(void); diff --git a/src/upload.c b/src/upload.c index 905641c..6ab82c5 100644 --- a/src/upload.c +++ b/src/upload.c @@ -24,6 +24,8 @@ #define CURL_TIMEOUT 30 +static int cwmp_launch_upload(struct upload *pupload, struct transfer_complete **ptransfer_complete); + int count_upload_queue = 0; LIST_HEAD(list_upload); diff --git a/src/upload.h b/src/upload.h index f550493..6c1f5cb 100644 --- a/src/upload.h +++ b/src/upload.h @@ -19,8 +19,6 @@ extern struct list_head list_upload; extern int count_upload_queue; -int cwmp_launch_upload(struct upload *pupload, struct transfer_complete **ptransfer_complete); -void *thread_cwmp_rpc_cpe_upload(void *v); int cwmp_scheduledUpload_remove_all(); int cwmp_free_upload_request(struct upload *upload); void cwmp_start_upload(struct uloop_timeout *timeout); diff --git a/src/xml.c b/src/xml.c index 704c2d9..b9f2a84 100644 --- a/src/xml.c +++ b/src/xml.c @@ -30,6 +30,26 @@ char *g_tab_space = NULL; const char *cwmp_urls[] = { "urn:dslforum-org:cwmp-1-0", "urn:dslforum-org:cwmp-1-1", "urn:dslforum-org:cwmp-1-2", "urn:dslforum-org:cwmp-1-2", "urn:dslforum-org:cwmp-1-2", "urn:dslforum-org:cwmp-1-2", NULL }; +static void load_notification_xml_schema(mxml_node_t **tree); +static int load_upload_filetype(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_backup_event_command_key(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_backup_event_parameter(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_get_rpc_method_acs_resp_string(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_download_filetype(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_sched_download_window_mode(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_change_du_state_operation(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_cdu_backup_operation(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int load_cdu_complete_backup_operation(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int build_inform_events(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int build_inform_env_header(mxml_node_t *b, struct xml_data_struct *xml_attrs); +static int build_parameter_structure(mxml_node_t *param_list, struct xml_data_struct *xml_attrs); +static int build_backup_cdu_option(mxml_node_t *cdu, struct xml_data_struct *xml_attrs); +static int get_soap_enc_array_type(mxml_node_t *node, struct xml_data_struct *xml_attrs); +static char *get_xml_node_name_switch(char *node_name); +static char *get_xml_node_name_by_switch_name(char *switch_node_name); +static const char *whitespace_cb(mxml_node_t *node, int where); +static const char *get_node_tab_space(mxml_node_t *node); + struct xml_node_data xml_nodes_data[] = { /* * SOAP Requests diff --git a/src/xml.h b/src/xml.h index 1023932..af10c3c 100644 --- a/src/xml.h +++ b/src/xml.h @@ -316,7 +316,6 @@ char *xml__get_attribute_name_by_value(mxml_node_t *node, const char *value); char *xml_get_cwmp_version(int version); void xml_exit(void); void load_response_xml_schema(mxml_node_t **schema); -void load_notification_xml_schema(mxml_node_t **tree); int load_xml_node_data(int node_ref, mxml_node_t *node, struct xml_data_struct *xml_attrs); int build_xml_node_data(int node_ref, mxml_node_t *node, struct xml_data_struct *xml_attrs); void add_xml_data_list(struct list_head *data_list, struct xml_list_data *xml_data); @@ -330,22 +329,4 @@ void cdu_operations_list_to_xml_data_list(struct list_head *du_op_list, struct l void event_container_list_to_xml_data_list(struct list_head *event_container, struct list_head *xml_data_list); void cwmp_param_fault_list_to_xml_data_list(struct list_head *param_fault_list, struct list_head *xml_data_list); void cwmp_free_all_xml_data_list(struct list_head *list); -int load_upload_filetype(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_backup_event_command_key(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_backup_event_parameter(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_get_rpc_method_acs_resp_string(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_download_filetype(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_sched_download_window_mode(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_change_du_state_operation(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_cdu_backup_operation(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int load_cdu_complete_backup_operation(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int build_inform_events(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int build_inform_env_header(mxml_node_t *b, struct xml_data_struct *xml_attrs); -int build_parameter_structure(mxml_node_t *param_list, struct xml_data_struct *xml_attrs); -int build_backup_cdu_option(mxml_node_t *cdu, struct xml_data_struct *xml_attrs); -int get_soap_enc_array_type(mxml_node_t *node, struct xml_data_struct *xml_attrs); -char *get_xml_node_name_switch(char *node_name); -char *get_xml_node_name_by_switch_name(char *switch_node_name); -const char *whitespace_cb(mxml_node_t *node, int where); -const char *get_node_tab_space(mxml_node_t *node); #endif