23 lines
658 B
Plaintext
23 lines
658 B
Plaintext
--:Minify:--
|
|
local kernel=...
|
|
local component=kernel.oc.component
|
|
|
|
local function wrap(p)
|
|
return function(op, mode)
|
|
if op=="type" then
|
|
return "device"
|
|
elseif op=="open" then
|
|
if kernel.uid~=0 then error("EACCES") end
|
|
return component.proxy(p)
|
|
end
|
|
end
|
|
end
|
|
|
|
for addr, typ in kernel.oc.component.list() do
|
|
local obj=wrap(addr)
|
|
kernel.devfs.data["raw"][addr]=obj
|
|
local typefolder=kernel.devfs.data["raw"]["by-type"][typ]
|
|
if not typefolder then typefolder={} end
|
|
typefolder[tostring(#table.keys(typefolder)+1)] = obj
|
|
kernel.devfs.data["raw"]["by-type"][typ]=typefolder
|
|
end |