---@meta posix.syslog

---@class posix_syslog*
---@field version string
---@field LOG_CONS integer
---@field LOG_NDELAY integer
---@field LOG_PID integer
---@field LOG_AUTH integer
---@field LOG_CRON integer
---@field LOG_DAEMON integer
---@field LOG_KERN integer
---@field LOG_LOCAL0 integer
---@field LOG_LOCAL1 integer
---@field LOG_LOCAL2 integer
---@field LOG_LOCAL3 integer
---@field LOG_LOCAL4 integer
---@field LOG_LOCAL5 integer
---@field LOG_LOCAL6 integer
---@field LOG_LOCAL7 integer
---@field LOG_LPR integer
---@field LOG_MAIL integer
---@field LOG_NEWS integer
---@field LOG_USER integer
---@field LOG_UUCP integer
---@field LOG_EMERG integer
---@field LOG_ALERT integer
---@field LOG_CRIT integer
---@field LOG_ERR integer
---@field LOG_WARNING integer
---@field LOG_NOTICE integer
---@field LOG_INFO integer
---@field LOG_DEBUG integer
---@field LOG_AUTHPRIV integer
---@field LOG_FTP integer
---@field LOG_SYSLOG integer
---@type posix_syslog*
local M = {}

---@param priority integer
---@return integer mask
function M.LOG_MASK(priority) end

---@param ident? string
---@param option? integer
---@param facility? integer
function M.openlog(ident, option, facility) end

---@param priority integer
---@param message string
---@param ... any
function M.syslog(priority, message, ...) end

function M.closelog() end

---@param mask integer
---@return integer oldMask
function M.setlogmask(mask) end

return M
