forked from DGNum/liminix
31 lines
790 B
Text
31 lines
790 B
Text
|
(local wlan (require :anoia.wlan))
|
||
|
(local { : assoc } (require :anoia))
|
||
|
(local { : msleep } (require :lualinux))
|
||
|
|
||
|
(fn parse-args [args]
|
||
|
(match args
|
||
|
["-v" & rest] (assoc (parse-args rest) :verbose true)
|
||
|
[linkname] {:link linkname}
|
||
|
_ nil))
|
||
|
|
||
|
(fn run [args poll-fn]
|
||
|
(let [parameters
|
||
|
(assert (parse-args args)
|
||
|
(.. "Usage: ifbridgeable [-v] ifname"))]
|
||
|
(when parameters.verbose
|
||
|
(print (.. "ifbridgeable: waiting for "
|
||
|
parameters.link " to be bridgeable")))
|
||
|
|
||
|
(while (not (poll-fn parameters.link))
|
||
|
(when parameters.verbose
|
||
|
(print (.. "ifbridgeable: waiting for " parameters.link " to be bridgeable")))
|
||
|
(msleep 500)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
(when (not (= (. arg 0) "test"))
|
||
|
(run arg wlan.is-bridgeable))
|
||
|
|
||
|
{ : run }
|