---[[
LuCI OPKG call abstraction library
]]
module "luci.model.ipkg"

---[[
Return information about installed and available packages.

@class function
@name info
@param pkg Limit output to a (set of) packages
@return Table containing package information
]]

---[[
Return the package status of one or more packages.

@class function
@name status
@param pkg Limit output to a (set of) packages
@return Table containing package status information
]]

---[[
Install one or more packages.

@class function
@name install
@param ... List of packages to install
@return Boolean indicating the status of the action
@return OPKG return code, STDOUT and STDERR
]]

---[[
Determine whether a given package is installed.

@class function
@name installed
@param pkg Package
@return Boolean
]]

---[[
Remove one or more packages.

@class function
@name remove
@param ... List of packages to install
@return Boolean indicating the status of the action
@return OPKG return code, STDOUT and STDERR
]]

---[[
Update package lists.

@class function
@name update
@return Boolean indicating the status of the action
@return OPKG return code, STDOUT and STDERR
]]

---[[
Upgrades all installed packages.

@class function
@name upgrade
@return Boolean indicating the status of the action
@return OPKG return code, STDOUT and STDERR
]]

---[[
List all packages known to opkg.

@class function
@name list_all
@param pat	Only find packages matching this pattern, nil lists all packages
@param cb	Callback function invoked for each package, receives name, version and description as arguments
@return	nothing
]]

---[[
List installed packages.

@class function
@name list_installed
@param pat	Only find packages matching this pattern, nil lists all packages
@param cb	Callback function invoked for each package, receives name, version and description as arguments
@return	nothing
]]

---[[
Find packages that match the given pattern.

@class function
@name find
@param pat	Find packages whose names or descriptions match this pattern, nil results in zero results
@param cb	Callback function invoked for each patckage, receives name, version and description as arguments
@return	nothing
]]

---[[
Determines the overlay root used by opkg.

@class function
@name overlay_root
@return		String containing the directory path of the overlay root.
]]

---[[
lua version of opkg compare-versions

@class function
@name compare_versions
@param ver1	string version 1
@param ver2	string version 2
@param comp	string compare versions using
		"<=" or "<" lower-equal
		">" or ">=" greater-equal
		"=" equal
		"<<" lower
		">>" greater
		"~=" not equal
@return Boolean indicating the status of the compare
]]