feat: initial
This commit is contained in:
1 parent
b398685025
commit
6105b97292
9 files changed
+299
-8
No files matched your search
Whitespace-only changes.
@@ -0,0 +1,120 @@
|
||||
/**
|
||||
* @file zh_syslog.h
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "stdbool.h"
|
||||
#include "esp_err.h"
|
||||
#include "esp_log.h"
|
||||
#include "lwip/err.h"
|
||||
#include "lwip/sockets.h"
|
||||
#include "lwip/sys.h"
|
||||
#include "lwip/netdb.h"
|
||||
|
||||
/**
|
||||
* @brief Syslog client initial default values.
|
||||
*/
|
||||
#define ZH_SYSLOG_INIT_CONFIG_DEFAULT() \
|
||||
{ \
|
||||
.syslog_ip = "192.168.0.1", \
|
||||
.syslog_port = 514}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enumeration of possible syslog facility codes.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ZH_KERN, /*!< Kernel messages. */
|
||||
ZH_USER, /*!< User-level messages. */
|
||||
ZH_MAIL, /*!< Mail system. */
|
||||
ZH_DAEMON, /*!< System daemons. */
|
||||
ZH_AUTH, /*!< Security/authorization messages. */
|
||||
ZH_SYSLOG, /*!< Messages generated internally by syslogd. */
|
||||
ZH_LPR, /*!< Line printer subsystem. */
|
||||
ZH_NEWS, /*!< Network news subsystem. */
|
||||
ZH_UUCP, /*!< UUCP subsystem. */
|
||||
ZH_CRON, /*!< Cron subsystem. */
|
||||
ZH_AUTHPRIV, /*!< Security/authorization messages. */
|
||||
ZH_FTP, /*!< FTP daemon. */
|
||||
ZH_NTP, /*!< NTP subsystem. */
|
||||
ZH_SECURITY, /*!< Log audit. */
|
||||
ZH_CONSOLE, /*!< Log alert. */
|
||||
ZH_SOLARIS_CRON, /*!< Scheduling daemon. */
|
||||
ZH_LOCAL0, /*!< Local use 0. */
|
||||
ZH_LOCAL1, /*!< Local use 1. */
|
||||
ZH_LOCAL2, /*!< Local use 2. */
|
||||
ZH_LOCAL3, /*!< Local use 3. */
|
||||
ZH_LOCAL4, /*!< Local use 4. */
|
||||
ZH_LOCAL5, /*!< Local use 5. */
|
||||
ZH_LOCAL6, /*!< Local use 6. */
|
||||
ZH_LOCAL7, /*!< Local use 7. */
|
||||
} zh_syslog_facility_code_t;
|
||||
|
||||
/**
|
||||
* @brief Enumeration of possible syslog severity codes.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ZH_EMERG, /*!< System is unusable. */
|
||||
ZH_ALERT, /*!< Action must be taken immediately. */
|
||||
ZH_CRIT, /*!< Critical conditions. */
|
||||
ZH_ERR, /*!< Error conditions. */
|
||||
ZH_WARNING, /*!< Warning conditions. */
|
||||
ZH_NOTICE, /*!< Normal but significant condition. */
|
||||
ZH_INFO, /*!< Informational messages. */
|
||||
ZH_DEBUG /*!< Debug-level messages. */
|
||||
} zh_syslog_severity_code_t;
|
||||
|
||||
/**
|
||||
* @brief Structure for initial initialization of syslog client.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
char syslog_ip[16]; /*!< Syslog server IP address. */
|
||||
uint32_t syslog_port; /*!< Syslog server port. */
|
||||
} zh_syslog_init_config_t;
|
||||
|
||||
/**
|
||||
* @brief Initialize syslog client.
|
||||
*
|
||||
* @param[in] config Pointer to syslog client initialized configuration structure. Can point to a temporary variable.
|
||||
*
|
||||
* @attention Connection to the network must be established first.
|
||||
*
|
||||
* @note Before initialize the syslog client recommend initialize zh_syslog_init_config_t structure with default values.
|
||||
*
|
||||
* @code zh_syslog_init_config_t config = ZH_SYSLOG_INIT_CONFIG_DEFAULT() @endcode
|
||||
*
|
||||
* @return ESP_OK if success or an error code otherwise.
|
||||
*/
|
||||
esp_err_t zh_syslog_init(const zh_syslog_init_config_t *config);
|
||||
|
||||
/**
|
||||
* @brief Deinitialize syslog client.
|
||||
*
|
||||
* @return ESP_OK if success or an error code otherwise.
|
||||
*/
|
||||
esp_err_t zh_syslog_deinit(void);
|
||||
|
||||
/**
|
||||
* @brief Send message to syslog server.
|
||||
*
|
||||
* @param[in] facility Syslog facility code.
|
||||
* @param[in] severity Syslog severity code.
|
||||
* @param[in] hostname Pointer to device that generated the message. Only alphanumeric characters without spaces.
|
||||
* @param[in] app_name Pointer to application that generated the message. Only alphanumeric characters without spaces.
|
||||
* @param[in] message Pointer to message for send.
|
||||
*
|
||||
* @return ESP_OK if success or an error code otherwise.
|
||||
*/
|
||||
esp_err_t zh_syslog_send(const zh_syslog_facility_code_t facility, const zh_syslog_severity_code_t severity, const char *hostname, const char *app_name, const char *message);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in new issue
Block a user