summaryrefslogtreecommitdiffstats
path: root/client/engine/Net.lib
blob: f8145e8fc5378f14b4e50a284b951944adee9e8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/bash
#/**
#@file     Net.lib
#@brief    Librería o clase Net
#@class    Net
#@brief    Funciones básicas de red.
#@version  0.10
#@warning  License: GNU GPLv3+
#*/


#/**
#         ogGetHostname
#@brief   Muestra el nombre del cliente.
#@return  str_host - nombre de máquina
#@version 0.10 - Integración en OpenGnSys 0.10
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2010-02-11
#*/ ##
function ogGetHostname ()
{
local HOST
# Tomar nombre de la variable HOSTNAME
HOST="$HOSTNAME"
# Si no, tomar del DHCP, opción host-name       /* (comentario para Doxygen)
[ -z "$HOST" ] && HOST=$(awk -F\" '/option host-name/ {gsub(/;/,""); host=$2}
                                   END {print host}
                                  ' /var/lib/dhcp3/dhclient.leases)
# Si no, leer el parámetro del kernel hostname  (comentario para Doxygen) */
[ -z "$HOST" ] && HOST=$(awk 'BEGIN {RS=""; FS="="}
                              $1~/hostname/ {print $2}' /proc/cmdline)
[ "$HOSTNAME" != "$HOST" ] && export HOSTNAME="$HOST"
echo $HOST
}


#/**
#         ogGetIpAddress
#@brief   Muestra la dirección IP del sistema
#@return  str_ip - Dirección IP
#@version 0.10 - Integración en OpenGnSys 0.10
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2010-02-11
#@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing
#@note    Usa las variables utilizadas por el initrd "/etc/net-ethx
#@author  Antonio J. Doblas Viso. Universidad de Malaga.
#@date    2011-02-24
#*/ ##
function ogGetIpAddress ()
{
local IP
if [ -n $IPV4ADDR ]
then
	 echo $IPV4ADDR
else
	# Obtener direcciones IP.        /* (comentario para Doxygen)
	IP=$(ip address show | awk '$2!~/lo/ { readline; if ($1~/inet$/) {sub (/\/.*/, ""); printf ("%s ", $2)}}')
	# Mostrar sólo la primera.       (comentario para Doxygen) */
	echo ${IP%% *}
fi
}


#/**
#         ogGetMacAddress
#@brief   Muestra la dirección Ethernet del cliente.
#@return  str_ether - Dirección Ethernet
#@version 0.10 - Integración en OpenGnSys 0.10
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2010-02-11
#*/ ##
function ogGetMacAddress ()
{
local MAC
# Obtener direcciones Ethernet.
MAC=$(ip address show | awk '$2!~/lo/ {readline; if ($1~/ether/) printf ("%s ", toupper($2));}')
# Mostrar sólo la primera.
echo ${MAC%% *}
}


#/**
#         ogGetRepoIp
#@brief   Muestra la dirección IP del repositorio de datos.
#@return  str_ip - Dirección IP
#@version 0.10 - Integración en OpenGnSys 0.10
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2011-01-13
#*/ ##
function ogGetRepoIp ()
{
# Obtener direcciones IP.
[ -n "$OGIMG" ] && mount | grep " $OGIMG .* nfs " | cut -f1 -d:
}


#/**
#         ogGetServerIp
#@brief   Muestra la dirección IP del Servidor de OpenGnSys.
#@return  str_ip - Dirección IP
#@version 0.10 - Integración en OpenGnSys 0.10
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2011-01-13
#*/ ##
function ogGetServerIp ()
{
# Obtener direcciones IP.
[ -n "$OPENGNSYS" ] && mount | grep " $OPENGNSYS .* nfs " | cut -f1 -d:
}