luci-base: add luci.sys.net.host_hints() and regenerate documentation
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 20 Jan 2016 15:55:15 +0000 (16:55 +0100)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 20 Jan 2016 15:56:25 +0000 (16:56 +0100)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
documentation/api/modules/luci.model.uci.html
documentation/api/modules/luci.sys.net.html
modules/luci-base/luasrc/sys.lua
modules/luci-base/luasrc/sys.luadoc

index cf75aeb..c84d1eb 100644 (file)
@@ -903,7 +903,8 @@ Get an option or list and return values as table.
 
 
 <h3>Return value:</h3>
-UCI value
+table.  If the option was not found, you will simply get 
+               an empty table.
 
 
 
@@ -1200,7 +1201,8 @@ Boolean whether operation succeeded
 <dd>
 
  
-Set given values as list. 
+Set given values as list. Setting a list option to an empty list 
+has the same effect as deleting the option. 
 
 
 
@@ -1220,7 +1222,7 @@ Set given values as list.
        </li>
        
        <li>
-         value: UCI value
+         value: value or table. Raw values will become a single item table.
        </li>
        
 </ul>
index 4a049e2..09cef17 100644 (file)
@@ -242,6 +242,13 @@ Determine the names of available network interfaces.</td>
        </tr>
 
        <tr>
+       <td class="name" nowrap><a href="#net.host_hints">host_hints</a>&nbsp;()</td>
+       <td class="summary">
+Returns a two-dimensional table of host hints.</td>
+       </tr>
+
+       <tr>
        <td class="name" nowrap><a href="#net.ipv4_hints">ipv4_hints</a>&nbsp;()</td>
        <td class="summary">
  
@@ -393,6 +400,31 @@ Table containing all current interface names
 
 
 
+<dt><a name="net.host_hints"></a><strong>host_hints</strong>&nbsp;()</dt>
+<dd>
+
+Returns a two-dimensional table of host hints. 
+
+
+
+
+
+
+
+
+<h3>Return value:</h3>
+Table of table containing known hosts from various sources, 
+         indexed by mac address. Each subtable contains at least one 
+         of the fields "name", "ipv4" or "ipv6".
+
+
+
+</dd>
+
+
+
+
 <dt><a name="net.ipv4_hints"></a><strong>ipv4_hints</strong>&nbsp;()</dt>
 <dd>
 
index 31c3e12..5d203aa 100644 (file)
@@ -292,6 +292,28 @@ function net.ipv6_hints(callback)
        end
 end
 
+function net.host_hints(callback)
+       if callback then
+               _nethints(1, function(mac, v4, v6, name)
+                       if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then
+                               callback(mac, v4, v6, name)
+                       end
+               end)
+       else
+               local rv = { }
+               _nethints(1, function(mac, v4, v6, name)
+                       if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then
+                               local e = { }
+                               if v4   then e.ipv4 = v4   end
+                               if v6   then e.ipv6 = v6   end
+                               if name then e.name = name end
+                               rv[mac] = e
+                       end
+               end)
+               return rv
+       end
+end
+
 function net.conntrack(callback)
        local ok, nfct = pcall(io.lines, "/proc/net/nf_conntrack")
        if not ok or not nfct then
index 54be349..1c1fa92 100644 (file)
@@ -151,6 +151,16 @@ Returns a two-dimensional table of IPv6 address hints.
 ]]
 
 ---[[
+Returns a two-dimensional table of host hints.
+
+@class function
+@name net.host_hints
+@return  Table of table containing known hosts from various sources,
+         indexed by mac address. Each subtable contains at least one
+         of the fields "name", "ipv4" or "ipv6".
+]]
+
+---[[
 Returns conntrack information
 
 @class function