diff options
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc')
-rw-r--r-- | core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc new file mode 100644 index 00000000..97767c51 --- /dev/null +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc @@ -0,0 +1,51 @@ +### Funktionen #################################### + +function xor() +{ local RES=($(echo "$1" | sed "s/../0x& /g")) + shift 1 + while [[ "$1" ]]; do + local ONE=($(echo "$1" | sed "s/../0x& /g")) + local COUNT1=${#RES[@]} + if [ $COUNT1 -lt ${#ONE[@]} ]; then + COUNT1=${#ONE[@]} + fi + for (( i = 0; i < $COUNT1; i++ )); do + RES[$i]=$((${ONE[$i]:-0} ^ ${RES[$i]:-0})) + done + shift 1 + done + printf "%02x" "${RES[@]}" +} + +function already_mounted() +{ + # Ausgabe: gemountet = true = 0, nicht gemountet = false = 1 + local AUSGANG + mount | grep -q " ${1} " && AUSGANG=0 || AUSGANG=1 + return $AUSGANG +} + +function mounter() +{ + # Ausgabe: konnte mounten: 0, konnte nicht mounten: 1, schon gemountet 2 + already_mounted "$3" + ERR=$? + if [ "$ERR" -eq 0 ]; then + logger "openslx sharemapper: $3 already mounted." + AUSGANG=2 + else + mount $1 $2 $3 2>/dev/null 1>&2 + ERR=$? + if [ "$ERR" -gt 0 ]; then + logger "openslx sharemapper: could not mount ${2} to ${3}." + AUSGANG=1 + else + logger "openslx sharemapper: ${2} mounted to ${3}." + AUSGANG=0 + fi + fi + return $AUSGANG +} + +### Funktionen Ende ############################### + |