Obtém a interface de rede ativa

Author: Dimitrios Anogiatis

Esta função lhe dará a interface de rede ativa (ou seja eth0 ou wlan0 etc)

Pode ser utilizada em funções shell ou qualquer função interna que depende desta informação.

PUBLIC FUNCTION getActiveNetworkInterface() AS String
DIM tmpNIF AS String[]
DIM tmpActive, tmpString AS String
DIM iterator AS Integer
DIM tmpFile AS File

'Obtenha a listas de interfaces
tmpNIF = Dir("/sys/class/net")

'Verifique arquivo oper de cada pasta para ver se a interface está instalada e funcionando
FOR iterator = 0 TO tmpNIF.Count - 1
 tmpString = "/sys/class/net" &/ tmpNIF [iterator]&/ "operstate"

 'Verifique o estado de funcionamento de cada interface

tmpFile = OPEN tmpString FOR INPUT
  WHILE NOT Eof(tmpFile)
    LINE INPUT #tmpFile, tmpActive
  WEND
 CLOSE #tmpFile

  'se é relatado então retornar o seu nome
  IF tmpActive = "up" THEN RETURN tmpNIF[iterator]
NEXT
END