int wanport_status(int wan_unit) { #if defined(RTCONFIG_RALINK) || defined(RTCONFIG_QCA) return rtkswitch_wanPort_phyStatus(wan_unit); #else char word[100], *next; int mask; char wan_ports[16]; memset(wan_ports, 0, 16); #ifndef RTN53 if(nvram_get_int("sw_mode") == SW_MODE_AP) strcpy(wan_ports, "lanports"); else #endif if(wan_unit == 1) strcpy(wan_ports, "wan1ports"); else strcpy(wan_ports, "wanports"); mask = 0; foreach(word, nvram_safe_get(wan_ports), next) { mask |= (0x0001<<atoi(word)); if(nvram_get_int("sw_mode") == SW_MODE_AP) break; }
int qca8337_ioctl(int val, int val2) { // int value = 0; unsigned int value2 = 0; int i, max_wan_unit = 0; #if defined(RTCONFIG_DUALWAN) max_wan_unit = 1; #endif switch (val) { case 0: value2 = rtkswitch_wanPort_phyStatus(-1); printf("WAN link status : %u\n", value2); break; case 3: value2 = rtkswitch_lanPorts_phyStatus(); printf("LAN link status : %u\n", value2); break; case 8: config_qca8337_LANWANPartition(val2); break; case 13: get_qca8337_WAN_Speed(&value2); printf("WAN speed : %u Mbps\n", value2); break; case 14: // Link up LAN ports link_down_up_qca8337_PHY(get_lan_port_mask(), 1); break; case 15: // Link down LAN ports link_down_up_qca8337_PHY(get_lan_port_mask(), 0); break; case 16: // Link up ALL ports link_down_up_qca8337_PHY(WANLANPORTS_MASK, 1); break; case 17: // Link down ALL ports link_down_up_qca8337_PHY(WANLANPORTS_MASK, 0); break; case 21: break; case 22: break; case 23: break; case 24: break; #if 0 case 25: set_mt7620_esw_broadcast_rate(val2); break; #endif case 27: reset_qca_switch(); break; case 36: set_Vlan_VID(val2); break; case 37: set_Vlan_PRIO(val2); break; case 38: initialize_Vlan(val2); break; case 39: create_Vlan(val2); break; #if 0 case 40: is_singtel_mio(val2); break; case 50: fix_up_hwnat_for_wifi(); break; #endif case 114: // link up WAN ports for (i = WAN_UNIT_FIRST; i <= max_wan_unit; ++i) link_down_up_qca8337_PHY(get_wan_port_mask(i), 1); break; case 115: // link down WAN ports for (i = WAN_UNIT_FIRST; i <= max_wan_unit; ++i) link_down_up_qca8337_PHY(get_wan_port_mask(i), 0); break; case 200: /* set LAN port number that is used as WAN port */ /* Nothing to do, nvram_get_int("wans_lanport ") is enough. */ break; default: printf("wrong ioctl cmd: %d\n", val); } return 0; }
int dsl_wanPort_phyStatus() { return rtkswitch_wanPort_phyStatus(); }