int t_set_to_str (T_SET * set, T_VALUE_BUF * conv_val) { T_NET_BUF net_buf; char *buf; int indicator; int err_code; int i; net_buf_init (&net_buf); net_buf_cp_str (&net_buf, "{", 1); for (i = 1; i <= set->num_element; i++) { if (i != 1) { net_buf_cp_str (&net_buf, ", ", 2); } buf = NULL; err_code = t_set_get (set, i, CCI_A_TYPE_STR, (void *) &buf, &indicator); if (err_code < 0) { net_buf_clear (&net_buf); return err_code; } if (indicator < 0 || buf == NULL) { buf = (char *) "NULL"; } net_buf_cp_str (&net_buf, buf, strlen (buf)); } net_buf_cp_str (&net_buf, "}", 2); hm_conv_value_buf_alloc (conv_val, net_buf.data_size); strcpy ((char *) conv_val->data, net_buf.data); net_buf_clear (&net_buf); return 0; }
int net_init(void) { static uint8_t initialized; if (initialized) return -EALREADY; initialized = 1; net_context_init(); net_buf_init(); init_tx_queue(); init_rx_queue(); #if defined (CONFIG_NETWORKING_WITH_15_4) net_driver_15_4_init(); #endif net_driver_slip_init(); return network_initialization(); }
/* thread phase init */ void rt_init_thread_entry(void *parameter) { /* Filesystem Initialization */ #ifdef RT_USING_DFS { extern void ff_convert_init(); /* init the device filesystem */ dfs_init(); /* init the elm FAT filesystam*/ elm_init(); /* mount spi flash fat as root directory */ if (dfs_mount("spi0", "/", "elm", 0, 0) == 0) { rt_kprintf("SPI File System initialized!\n"); /* mount sd card fat partition 1 as SD directory */ if (dfs_mount("sd0", "/SD", "elm", 0, 0) == 0) rt_kprintf("SD File System initialized!\n"); else rt_kprintf("SD File System init failed!\n"); } else rt_kprintf("SPI File System init failed!\n"); #ifdef RT_DFS_ELM_USE_LFN ff_convert_init(); #endif } #endif load_setup(); /* RTGUI Initialization */ #ifdef RT_USING_RTGUI { extern void rt_hw_key_init(void); extern void remote_init(void); extern void rtgui_touch_hw_init(void); radio_rtgui_init(); rt_hw_key_init(); rtgui_touch_hw_init(); remote_init(); } #endif /* set default setup */ { extern void vol(uint16_t v); extern void brightness_set(unsigned int value); vol(radio_setup.default_volume); brightness_set(radio_setup.lcd_brightness); } /* start RTC */ rt_hw_rtc_init(); /* LwIP Initialization */ #ifdef RT_USING_LWIP { extern void lwip_sys_init(void); extern void rt_hw_dm9000_init(void); eth_system_device_init(); /* register ethernetif device */ rt_hw_dm9000_init(); /* init all device */ rt_device_init_all(); /* init lwip system */ lwip_sys_init(); rt_kprintf("TCP/IP initialized!\n"); } #endif #if STM32_EXT_SRAM /* init netbuf worker */ net_buf_init(320 * 1024); #endif }
int t_set_make (T_SET * set, char ele_type, int size, void *value, int *indicator) { int i; T_NET_BUF net_buf; char u_type; int err_code; int *ele_index = NULL; net_buf_init (&net_buf); ele_index = (int *) MALLOC (sizeof (int) * size); if (ele_index == NULL) { return CCI_ER_NO_MORE_MEMORY; } if (ele_type == CCI_U_TYPE_SHORT) ele_type = CCI_U_TYPE_INT; for (i = 0; i < size; i++) { ele_index[i] = net_buf.data_size; u_type = ele_type; if (indicator[i]) { u_type = CCI_U_TYPE_NULL; } switch (u_type) { case CCI_U_TYPE_CHAR: case CCI_U_TYPE_STRING: case CCI_U_TYPE_NCHAR: case CCI_U_TYPE_VARNCHAR: case CCI_U_TYPE_NUMERIC: { char *ele_value; ele_value = ((char **) value)[i]; ADD_ARG_STR (&net_buf, ele_value, strlen (ele_value) + 1); } break; case CCI_U_TYPE_BIT: case CCI_U_TYPE_VARBIT: { T_CCI_BIT ele_value; ele_value = ((T_CCI_BIT *) value)[i]; ADD_ARG_BYTES (&net_buf, ele_value.buf, ele_value.size); } break; case CCI_U_TYPE_BIGINT: { INT64 ele_value; ele_value = ((INT64 *) value)[i]; ADD_ARG_BIGINT (&net_buf, ele_value); } break; case CCI_U_TYPE_INT: case CCI_U_TYPE_SHORT: { int ele_value; ele_value = ((int *) value)[i]; ADD_ARG_INT (&net_buf, ele_value); } break; case CCI_U_TYPE_FLOAT: { float ele_value; ele_value = ((float *) value)[i]; ADD_ARG_FLOAT (&net_buf, ele_value); } break; case CCI_U_TYPE_MONETARY: case CCI_U_TYPE_DOUBLE: { double ele_value; ele_value = ((double *) value)[i]; ADD_ARG_DOUBLE (&net_buf, ele_value); } break; case CCI_U_TYPE_DATE: case CCI_U_TYPE_TIME: case CCI_U_TYPE_TIMESTAMP: case CCI_U_TYPE_DATETIME: { T_CCI_DATE ele_value; ele_value = ((T_CCI_DATE *) value)[i]; ADD_ARG_DATETIME (&net_buf, &ele_value); } break; case CCI_U_TYPE_OBJECT: { char *tmp_str; T_OBJECT ele_value; tmp_str = ((char **) value)[i]; err_code = ut_str_to_oid (tmp_str, &ele_value); if (err_code < 0) { goto set_make_error; } ADD_ARG_OBJECT (&net_buf, &ele_value); } break; default: ADD_ARG_BYTES (&net_buf, NULL, 0); break; } } if (net_buf.err_code < 0) { err_code = net_buf.err_code; goto set_make_error; } set->element = (void **) MALLOC (sizeof (void *) * size); if (set->element == NULL) { err_code = CCI_ER_NO_MORE_MEMORY; goto set_make_error; } set->data_buf = net_buf.data; set->data_size = net_buf.data_size; for (i = 0; i < size; i++) { set->element[i] = (char *) (set->data_buf) + ele_index[i]; } set->num_element = size; set->type = ele_type; FREE_MEM (ele_index); return 0; set_make_error: net_buf_clear (&net_buf); FREE_MEM (ele_index); return err_code; }
/* thread phase init */ void rt_init_thread_entry(void *parameter) { /* Filesystem Initialization */ #ifdef RT_USING_DFS { extern void ff_convert_init(); /* init the device filesystem */ dfs_init(); /* init the elm FAT filesystam*/ elm_init(); /* mount sd card fat partition 1 as SD directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) rt_kprintf("SD File System initialized!\n"); else rt_kprintf("SD File System init failed!\n"); #ifdef RT_DFS_ELM_USE_LFN ff_convert_init(); #endif } #endif /* load_setup(); */ /* RTGUI Initialization */ #ifdef RT_USING_RTGUI { extern void rt_hw_key_init(void); extern void remote_init(void); extern void rtgui_touch_hw_init(void); radio_rtgui_init(); rt_hw_key_init(); rtgui_touch_hw_init(); remote_init(); brightness_set(radio_setup.lcd_brightness); //PCM1770_VolumeSet(radio_setup.default_volume); } #endif /* start RTC */ rt_hw_rtc_init(); /* LwIP Initialization */ #ifdef RT_USING_LWIP { extern void lwip_sys_init(void); extern void rt_hw_dm9000_init(void); eth_system_device_init(); /* register ethernetif device */ rt_hw_dm9000_init(); /* init all device */ rt_device_init_all(); /* init lwip system */ lwip_sys_init(); rt_kprintf("TCP/IP initialized!\n"); } #endif #if STM32_EXT_SRAM /* init netbuf worker */ net_buf_init(320 * 1024); #endif /* TODO(CXF): start ftp and agent */ ftpd_start(); }