void process_bar() { char total_file_count[128]; char scan_file_count[128]; xmldbc_del(NULL, 0, "/temp/itunes_scan_media/scan_done"); xmldbc_del(NULL, 0, "/temp/itunes_scan_media/total_file"); xmldbc_del(NULL, 0, "/temp/itunes_scan_media/total_scan_file"); memset(total_file_count, 0x00, sizeof(total_file_count)); sprintf(total_file_count, "%d", total_file_cnt); if (strlen(total_file_count) > 0) xmldbc_set(NULL, 0, "/temp/itunes_scan_media/total_file", total_file_count); while(1) { if(thread_exit == 1) { xmldbc_set(NULL, 0, "/temp/itunes_scan_media/total_scan_file", scan_file_count); xmldbc_set(NULL, 0, "/temp/itunes_scan_media/scan_done", "1"); pthread_exit(0); } memset(scan_file_count, 0x00, sizeof(scan_file_count)); sprintf(scan_file_count, "%d", total_scan_cnt); if (strlen(scan_file_count) > 0) xmldbc_set(NULL, 0, "/temp/itunes_scan_media/total_scan_file", scan_file_count); sleep(3); } }
void br_cmd_showmacs(struct bridge *br, char *arg0, char *arg1) { struct fdb_entry fdb[1024]; int offset; printf("port no\tmac addr\t\tis local?\tageing timer\n"); offset = 0; while (1) { int i; int num; num = br_read_fdb(br, fdb, offset, 1024); if (!num) break; qsort(fdb, num, sizeof(struct fdb_entry), compare_fdbs); #ifdef CONFIG_NSBBOX_BRCTL_MAT_STATUS #define MACADDRPOOL_CLONE_PATH "/runtime/phyinf:1/macaddrpool/entry" { struct fdb_entry *pfdb; unsigned char value[20]; unsigned char path[50]; int j=1; xmldbc_del(NULL, 0, MACADDRPOOL_CLONE_PATH); for (i=0;i<num;i++){ pfdb = (struct fdb_entry *)(fdb+i); __dump_fdb_entry(fdb+i); if ((pfdb->port_no==1)&&(pfdb->is_local != 1)){ memset(path, 0x0, sizeof(path)); memset(value, 0x0, sizeof(value)); sprintf(path, "%s:%d/macaddr", MACADDRPOOL_CLONE_PATH, j); sprintf(value, "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x", pfdb->mac_addr[0], pfdb->mac_addr[1], pfdb->mac_addr[2], pfdb->mac_addr[3], pfdb->mac_addr[4], pfdb->mac_addr[5]); //printf("%s %s\n", path, value); xmldbc_set(NULL, 0, path, value); j++; } } } #else for (i=0;i<num;i++) __dump_fdb_entry(fdb+i); #endif /*CONFIG_NSBBOX_BRCTL_MAT_STATUS*/ offset += num; } }
void br_cmd_cloneaddr(struct bridge *br, char *arg0, char *arg1) { unsigned char mac[6]; unsigned char value[50]; memset(mac, 0x0, sizeof(mac)); memset(mac, 0x0, sizeof(value)); br_get_cloneaddr(br, mac); printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); sprintf(value, "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); xmldbc_del(NULL, 0, MACADDR_CLONE_PATH); xmldbc_set(NULL, 0, MACADDR_CLONE_PATH, value); return; };