# #
###############################################################################
-. /lib/network/functions
-
-HOOK=$(basename ${0})
-
-while [ $# -gt 0 ]; do
- case "${1}" in
- -*)
- error "Unrecognized option: ${1}"
- exit ${EXIT_ERROR}
- ;;
- *)
- action=${1}
- ;;
- esac
+INFO_SETTINGS="HOOK PORT_PARENTS PORT_CHILDREN"
+
+# This function is called after a device has been plugged
+# into the system and got its correct name.
+# The function is intended to create child ports and things
+# like that.
+function hook_hotplug() {
+ exit ${EXIT_OK}
+}
+
+# This function gets called when a device is plugged in
+# to determine the right name.
+# The first argument is the port which should be tested
+# against the second argument which is the device that
+# has been plugged in.
+function hook_hotplug_rename() {
+ exit ${EXIT_FALSE}
+}
+
+function hook_add() {
+ cmd_not_implemented
+}
+
+function hook_info() {
+ local port="${1}"
+ assert isset port
shift
- [ -n "${action}" ] && break
-done
-
-function run() {
- case "${action}" in
- create|rem|up|down|status)
- _${action} $@
- ;;
- esac
-
- error "Port hook '${HOOK}' didn't exit properly."
- exit ${EXIT_ERROR}
+
+ config_read "$(port_file ${port})"
+
+ local key val
+ for key in PORT_PARENTS PORT_CHILDREN; do
+ val="${key}_VAR"
+ val=${!val}
+ eval "${key}=\"${!val}\""
+ done
+
+ for key in ${INFO_SETTINGS}; do
+ echo "${key}=\"${!key}\""
+ done
+
+ exit ${ERROR_OK}
+}
+
+function hook_status() {
+ local port="${1}"
+ assert isset port
+
+ cli_device_headline "${port}" --long
+ exit ${EXIT_OK}
}