diff options
Diffstat (limited to 'cd-tool.lua')
-rw-r--r-- | cd-tool.lua | 194 |
1 files changed, 185 insertions, 9 deletions
diff --git a/cd-tool.lua b/cd-tool.lua index f935ab0..4e0f0d0 100644 --- a/cd-tool.lua +++ b/cd-tool.lua @@ -1,3 +1,7 @@ + ------------------
+-- misc functions --
+ ------------------
+
function display(inp)
if (type(inp) == "string") then
inp = Input(inp)
@@ -82,6 +86,11 @@ function hexdump(inp, from, to, width) print(outstring)
end
+
+ --------------------------
+-- cdutil object wrappers --
+ --------------------------
+
function cdfile(arg1, arg2, arg3, arg4)
local cdutil_implied = false
@@ -169,12 +178,179 @@ function writesector(array, sector, mode) end end --- { CDUTILS_WRITESECTOR, "writesector", 1, 3, {LUA_TABLE, LUA_NUMBER, LUA_NUMBER} }, --- { CDUTILS_WRITEDATAS, "writedatas", 2, 4, {LUA_TABLE, LUA_NUMBER, LUA_NUMBER, LUA_NUMBER} }, --- { CDUTILS_WRITEFILE, "writefile", 1, 4, {LUA_OBJECT, LUA_NUMBER, LUA_NUMBER, LUA_NUMBER} }, --- { CDUTILS_GETISOINFOS, "getisoinfos", 0, 0, 0 }, --- { CDUTILS_GETPTINFOS, "getptinfos", 0, 0, 0 }, --- { CDUTILS_FINDPATH, "findpath", 1, 1, {LUA_STRING} }, --- { CDUTILS_FINDPARENT, "findparent", 1, 1, {LUA_STRING} }, --- { CDUTILS_FINDDIRENTRY, "finddirentry", 2, 2, {LUA_OBJECT, LUA_STRING} }, --- { CDUTILS_NEWCDFILE, "cdfile", 1, 3, {LUA_ANY, LUA_NUMBER, LUA_NUMBER} }, +function writedatas(array, size, sector, mode) + if (cdutil == nil) then error "cdutil object non existant" end + if (sector == nil) then + return cdutil:writedatas(array, size) + elseif (mode == nil) then + return cdutil:writedatas(array, size, sector) + else + return cdutil:writedatas(array, size, sector, mode) + end +end + +function writefile(handle, size, sector, mode) + if (cdutil == nil) then error "cdutil object non existant" end + if (size == nil) then + return cdutil:writefile(handle) + elseif (sector == nil) then + return cdutil:writefile(handle, size) + elseif (mode == nil) then + return cdutil:writefile(handle, size, sector) + else + return cdutil:writefile(handle, size, sector, mode) + end +end + +function findpath(path) + if (cdutil == nil) then error "cdutil object non existant" end + return cdutil:findpath(path) +end + +function findparent(path) + if (cdutil == nil) then error "cdutil object non existant" end + return cdutil:findparent(path) +end + +function finddirectory(dir, path) + if (cdutil == nil) then error "cdutil object non existant" end + return cdutil:finddirectory(dir, path) +end +
+
+ -----------------------
+-- iso object wrappers --
+ -----------------------
+
+function foreword(lcdutil)
+ if (iso == nil) then error "iso object non existant" end
+ if ((lcdutil == nil) and (cdutil == nil)) then error "cdutil object non existant" end
+ if (lcdutil == nil) then
+ return iso:foreword(cdutil)
+ else
+ return iso:foreword(lcdutil)
+ end
+end
+
+function foreword_handle(handle, mode)
+ if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then
+ return iso:foreword_handle(handle)
+ else
+ return iso:foreword_handle(handle, mode)
+ end
+end
+
+function foreword_array(array, mode)
+ if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then
+ return iso:foreword_array(array)
+ else
+ return iso:foreword_array(array, mode)
+ end
+end
+
+function getdispsect()
+ if (iso == nil) then error "iso object non existant" end
+ return iso:getdispsect()
+end
+
+function putfile(handle, mode, sector)
+ if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then
+ iso:putfile(handle)
+ elseif (sector == nil) then
+ iso:putfile(handle, mode)
+ else
+ iso:putfile(handle, mode, sector)
+ end
+end
+ +function putdatas(array, size, mode, sector) + if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then + iso:putdatas(array, size) + elseif (sector == nil) then + iso:putdatas(array, size, mode) + else + iso:putdatas(array, size, mode, sector) + end +end + +function createsector(array, mode, sector) + if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then + iso:createsector(array) + elseif (sector == nil) then + iso:createsector(array, mode) + else + iso:createsector(array, mode, sector) + end +end + +function setEOF() + if (iso == nil) then error "iso object non existant" end
+ iso:setEOF()
+end
+
+function clearEOF()
+ if (iso == nil) then error "iso object non existant" end
+ iso:clearEOF()
+end
+ +function setbasics(pvd, rootsize, ptsize, nvd, rootsect) + if (iso == nil) then error "iso object non existant" end
+ if (rootsize == nil) then
+ iso:setbasics(pvd)
+ elseif (ptsize == nil) then
+ iso:setbasics(pvd, rootsize)
+ elseif (nvd == nil) then
+ iso:setbasics(pvd, rootsize, ptsize)
+ elseif (rootsect) then
+ iso:setbasics(pvd, rootsize, ptsize, nvd)
+ else
+ iso:setbasics(pvd, rootsize, ptsize, nvd, rootsect)
+ end
+end
+ +function createdir(dirtree, name, size, direntry, mode) + if (iso == nil) then error "iso object non existant" end
+ if (size == nil) then
+ iso:createdir(dirtree, name)
+ elseif (mode == nil) then
+ iso:createdir(dirtree, name, size, direntry)
+ else
+ iso:createdir(dirtree, name, size, direntry, mode)
+ end
+end
+ +function createfile(dirtree, name, size, direntry, mode) + if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then + iso:createfile(dirtree, name, size, direntry) + else + iso:createfile(dirtree, name, size, direntry, mode) + end +end + +function copydir(dirtree, cdutils, direntry, mode) + if (iso == nil) then error "iso object non existant" end
+ if (mode == nil) then + iso:copydir(dirtree, cdutils, direntry) + else + iso:copydir(dirtree, cdutils, direntry, mode) + end +end + +function close(cuefile, mode, nsectors) + if (iso == nil) then error "iso object non existant" end
+ if (cuefile == nil) then
+ iso:close()
+ elseif (mode == nil) then
+ iso:close(cuefile)
+ elseif (nsectors == nil) then
+ iso:close(cuefile, mode)
+ else
+ iso:close(cuefile, mode, nsectors)
+ end
+end
|