Zabbix Documentation 2.4

3.04.04.24.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.4Guidelines

User Tools

Site Tools


manual:appendix:zabbix_sender_dll

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

manual:appendix:zabbix_sender_dll [2014/09/25 14:42] (current)
sasha Page moved from 2.4:manual:appendix:zabbix_sender_dll to manual:appendix:zabbix_sender_dll
Line 1: Line 1:
 +==== 13 Zabbix sender dynamic link library for Windows ====
 +
 +In a Windows environment applications can send data to Zabbix server/​proxy directly by using the Zabbix sender dynamic link library (zabbix_sender.dll) instead of having to launch an external process (zabbix_sender.exe).
 +
 +The dynamic link library with the development files is located in bin\winXX\dev folders. To use it, include the zabbix_sender.h header file and link with the zabbix_sender.lib library. An example file with Zabbix sender API usage can be found in build\win32\examples\zabbix_sender folder.
 +
 +The following functionality is provided by the Zabbix sender dynamic link library:
 +
 +^<code c>int zabbix_sender_send_values(const char *address, unsigned short port,
 +        const char *source, const zabbix_sender_value_t *values, int count,
 +        char **result);</​code>​ ||
 +|Description||
 +| |Sends an array of value structures to the proxy/​server. A value structure contains host name, item key and item value.|
 +|Parameters|||
 +| |**address** - //[in]// the server/​proxy address\\ **port** - //[in]// the trapper port on the server/​proxy\\ **source** - //[in]// the source IP (optional)\\ **values** - //[in]// an array of values to send\\ **count** - //[in]// the number of items in values array\\ **result** - //[out]// the server response or an error message (optional) |
 +|Return value||
 +| |**0** - operation completed successfully\\ **-1** - operation failed |
 +|Comments||
 +| |If the result variable is specified this function allocates the necessary memory to store server response/​error message. It must be always freed afterwards with zabbix_sender_free_result() function.\\ If operation was successful the result contains server response which can be parsed with zabbix_sender_parse_result() function. In the case of error the error message will be stored into result instead. |
 +| ||
 +| ||
 +^<code c>int zabbix_sender_parse_result(const char *result, int *response,
 +        zabbix_sender_info_t *info);</​code>​ ||
 +|Description||
 +| |Parses the result returned from zabbix_sender_send_values() function. |
 +|Parameters|||
 +| |**result** - //[in]// the result returned by zabbix_sender_send_values() function.\\ **response** - //[out]// the operation response: 0 - success, -1 failed.\\ **info** - //[out]// the detailed information about operation, optional. |
 +|Return value||
 +| |**0** - operation completed successfully\\ **-1** - operation failed |
 +|Comments||
 +| |If info parameter was specified, but the function failed to parse the result info field, then the info structure field total is set to -1.|
 +| ||
 +| ||
 +^<code c>void zabbix_sender_free_result(void *result);</​code>​ ||
 +|Description||
 +| |Frees data allocated by zabbix_sender_send_values() function.|
 +|Parameters|||
 +| |**result** - the result returned by zabbix_sender_send_values() function.|
 +
 +The following data structures are used by the Zabbix sender dynamic link library:
 +<code c>
 +typedef struct
 +{
 + /* host name, must match the name of target host in Zabbix */
 + char *host;​
 + /* the item key */
 + char *key;
 + /* the item value */
 + char *value;​
 +}
 +zabbix_sender_value_t;​
 +
 +typedef struct
 +{
 + /* number of total values processed */
 + int total;
 + /* number of failed values */
 + int failed;​
 + /* time in seconds the server spent processing the sent values */
 + double time_spent;​
 +}
 +zabbix_sender_info_t;​
 +</​code>​