#!/usr/bin/lua
local socket = require "socket"
+local lfs = require "lfs"
+local uci = require "uci"
+local posix = require "posix"
function startswith(String,Start)
if String then
end
function list_dir(name)
- local lfs = require "lfs"
local result = {}
for name in lfs.dir(name) do
if not startswith(name,".") then
end
return result
end
+
+function get_devid(config)
+
+ local web_devid = uci.get(config,"web","devid")
+
+ if web_devid then
+ return web_devid
+ end
+
+ web_iface = uci.get(config,"web","iface")
+
+ if not web_iface then
+ web_iface = list_dir('/sys/class/net/')[1]
+ end
+
+ io.input("/sys/class/net/"..web_iface.."/address")
+
+ local web_devid = io.read("*line")
+ return web_devid:gsub(":",""):upper()
+
+end
+
+function get_children()
+
+ local pid = posix.getpid()
+ local pidlist = list_dir('/proc')
+ local pids = {}
+
+ for k,v in pairs(pidlist) do
+
+ pcall( function ()
+ local stats = get_file_content('/proc/'..v..'/stat')
+ local ppid = tonumber(split(stats,' ')[4])
+ if pid == ppid then
+ pids[#pids+1] = tonumber(v)
+ end
+ end)
+
+ end
+
+ return pids
+
+end