* luci/libs/uvl: add new datatype "device"
[project/luci.git] / libs / uvl / luasrc / uvl / datatypes.lua
index fc37fa3..615e294 100644 (file)
@@ -169,3 +169,19 @@ function file( val, seen )
 
        return false
 end
+
+function device( val, seen )
+       local s = fs.stat( val )
+       seen = seen or { }
+
+       if s and not seen[s.ino] then
+               seen[s.ino] = true
+               if s.type == "character device" or s.type == "block device" then
+                       return true
+               elseif s.type == "link" then
+                       return device( fs.readlink(val), seen )
+               end
+       end
+
+       return false
+end