Add eth_get_dev_by_index
This allows code to iterate through the ethernet devices
Signed-off-by: Andy Fleming <afleming@freescale.com>
diff --git a/net/eth.c b/net/eth.c
index b7ef09f..ec2ef1a 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -80,6 +80,28 @@
return target_dev;
}
+struct eth_device *eth_get_dev_by_index(int index)
+{
+ struct eth_device *dev, *target_dev;
+ int idx = 0;
+
+ if (!eth_devices)
+ return NULL;
+
+ dev = eth_devices;
+ target_dev = NULL;
+ do {
+ if (idx == index) {
+ target_dev = dev;
+ break;
+ }
+ dev = dev->next;
+ idx++;
+ } while (dev != eth_devices);
+
+ return target_dev;
+}
+
int eth_get_dev_index (void)
{
struct eth_device *dev;