summaryrefslogtreecommitdiffstats
path: root/client/engine/Net.lib
blob: 6ac5a94adb12ab9a9e6deac6575d3de3b55de3cf (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/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
}


#/**
#         ogGetNetInterface
#@brief   Muestra la interfaz de red del sistema
#@return  str_interfaz - interfaz de red
#@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing
#@note    Usa las variables utilizadas por el initrd "/etc/net-ethX.conf
#@author  Antonio J. Doblas Viso. Universidad de Malaga.
#@date    2011-02-24
#*/ ##
function ogGetNetInterface ()
{
	 echo $DEVICE

}




#/**
#         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.conf
#@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
#@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing
#@note   Comprobacion segun protocolo de conexion al Repo
#@author  Antonio J. Doblas Viso. Universidad de Malaga.
#@date    2011-02-24
#*/ ##
function ogGetRepoIp ()
{
# Obtener direcciones IP, segun el protocolo de montaje
if [ -n "$OGIMG" ]; then
    case "$ogprotocol" in
        nfs)  mount | grep " on $OGIMG " | cut -f1 -d: ;;
        smb)  mount | grep " on $OGIMG " | cut -f3 -d/ ;;
    esac
fi
}


#/**
#         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
#@version 1.0 - Integración OpenGnSys 0.10 Opengnsys 0.10-testing
#@note   Comprobacion segun protocolo de conexion al Repo
#@author  Antonio J. Doblas Viso. Universidad de Malaga.
#@date    2011-02-24
#*/ ##
function ogGetServerIp ()
{
# Obtener direcciones IP.
if [ -n "$PENGNSYS" ]; then
    case "$ogprotocol" in
        nfs)  mount | grep " on $OPENGNSYS " | cut -f1 -d: ;;
        smb)  mount | grep " on $OPENGNSYS " | cut -f3 -d/ ;;
    esac
fi
}