Data Structures | |
| struct | sENMX_StatusEIB |
| status information for an active EIBnet/IP connection to eibnetmux More... | |
| struct | sENMX_StatusSocket |
| status information for an active eibnetmux socketserver connection More... | |
| struct | sENMX_StatusEIBD |
| status information for an active eibd-compatible server connection More... | |
| struct | sENMX_Status |
| status information of eibnetmux server More... | |
| struct | sENMX_Server |
| information of EIBnet/IP servers responding to multicast search request More... | |
Defines | |
| #define | ENMX_NO_ERROR 0 |
| Everything ok. | |
| #define | ENMX_E_NO_ERROR 0 |
| Everything ok. | |
| #define | ENMX_E_COMMUNICATION -1 |
| Error communicating with EIBnetmux server. | |
| #define | ENMX_E_SERVER_ABORTED -2 |
| EIBnetmux server unexpectedly closed connection. | |
| #define | ENMX_E_UNKNOWN_GROUP -3 |
| KNX group unknown. | |
| #define | ENMX_E_INTERNAL -4 |
| EIBnetmux server experienced an internal error. | |
| #define | ENMX_E_NO_MEMORY -5 |
| Memory could not be allocated by the library for receive buffers, status structures, etc. | |
| #define | ENMX_E_TIMEOUT -6 |
| Timeout while sending/receiving to EIBnetmux server. | |
| #define | ENMX_E_WRONG_USAGE -7 |
| This connection was already used for a different command. | |
| #define | ENMX_E_AUTH_UNSUPPORTED -8 |
| Authentication is not supported (either by server or by library). | |
| #define | ENMX_E_AUTH_FAILURE -9 |
| User authentication failed (wrong username/password). | |
| #define | ENMX_E_DHM_FAILURE -10 |
| DHM key exchange failed. | |
| #define | ENMX_E_PARAMETER -11 |
| Invalid parameter passed to library. | |
| #define | ENMX_E_UNAUTHORISED -12 |
| Not authorised to perform this function. | |
| #define | ENMX_E_HOST_NOTFOUND -13 |
| Specified host could not be found, no ip address available. | |
| #define | ENMX_E_SEARCH -14 |
| Either none or more than one EIBnetmux server(s) found. Specify target host. | |
| #define | ENMX_E_SERVER_NOTRUNNING -15 |
| EIBnetmux not running on host (or socketserver not activated). | |
| #define | ENMX_E_NOT_INITIALISED -16 |
| Library not initialised, call enmx_init(). | |
| #define | ENMX_E_NOCLIENTID -17 |
| Client identifier must be specified. | |
| #define | ENMX_E_REGISTER_CLIENT -18 |
| Unable to register client identifier. | |
| #define | ENMX_E_RESOURCE -19 |
| System resource problem. | |
| #define | ENMX_E_NO_CONNECTION -20 |
| Invalid connection handle. | |
| #define | ENMX_E_VERSIONMISMATCH -21 |
| Library does not match/support version of EIBnetmux server. | |
| #define | ENMX_E_L7_NO_CONNECTION -22 |
| No connection with other device established. | |
| #define | ENMX_E_L7_NAK_RECEIVED -23 |
| Remote device replied with NAK. | |
| #define | ENMX_E_L7_SEQUENCE -24 |
| Remote device's answer was not what we expected. | |
| #define | ENMX_E_L7_BUFSIZE -25 |
| Buffer not large enough to receive all data. | |
| #define | ENMX_E_L7_MASK -26 |
| Invalid mask version of remote device. | |
Typedefs | |
| typedef int | ENMX_HANDLE |
| Variable type to indicate an EIBnetmux connection. | |
| typedef uint16_t | ENMX_ADDRESS |
| Variable type for KNX group addresses as used by the library. | |
Enumerations | |
| enum | enmx_KNXTypes { enmx_KNXerror, enmx_KNXinteger, enmx_KNXfloat, enmx_KNXchar, enmx_KNXstring } |
| Variable types returned by the conversion functions. More... | |
Functions | |
| int | enmx_init (void) |
| initialise eibnetmux client library | |
| ENMX_HANDLE | enmx_open (char *hostname, char *myname) |
| establish connection with eibnetmux socket server | |
| ENMX_HANDLE | enmx_pth_open (char *hostname, char *myname) |
| connection with eibnetmux socket server (PTH version) | |
| void | enmx_close (ENMX_HANDLE conn) |
| close connection with eibnetmux socket server | |
| char * | enmx_gethost (ENMX_HANDLE handle) |
| retrieve hostname of connected eibnetmux server | |
| int | enmx_auth (ENMX_HANDLE handle, char *user, char *password) |
| authenticate user | |
| int | enmx_write (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress, uint16_t length, unsigned char *value) |
| write value to group address | |
| unsigned char * | enmx_read (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress, uint16_t *length) |
| read value from group address | |
| unsigned char * | enmx_monitor (ENMX_HANDLE handle, ENMX_ADDRESS mask, unsigned char *buf, uint16_t *buflen, uint16_t *length) |
| monitor group addresses | |
| int | enmx_geterror (ENMX_HANDLE handle) |
| char * | enmx_errormessage (ENMX_HANDLE handle) |
| return error message of last operation | |
| sENMX_Server * | enmx_getservers (int seconds) |
| return list of eibnetmux servers | |
| sENMX_Server * | enmx_pth_getservers (int seconds) |
| return list of eibnetmux servers (PTH mode) | |
| void | enmx_releaseservers (sENMX_Server *list) |
| release memory allocated for list of eibnetmux servers | |
| unsigned int | enmx_frame2value (int eis, void *cemiframe, void *value) |
| Extract data from CEMI frame - as returned by enmx_monitor() - and convert to C variable. | |
| unsigned int | enmx_eis2value (int eis, unsigned char *datastream, int length, void *value) |
| Convert KNX data stream - as returned by enmx_read() - to C variable. | |
| int | enmx_value2eis (int eis, void *buf, unsigned char *datastream) |
| Convert C variable to KNX data stream. | |
| ENMX_ADDRESS | enmx_getaddress (const char *KNXgroup) |
| Convert KNX group address to ENMX_ADDRESS. | |
| char * | enmx_getgroup (ENMX_ADDRESS knxaddress) |
| Convert KNX group address to string. | |
| int | enmx_mgmt_connect (ENMX_HANDLE handle) |
| connect eibnet/ip client to remote server | |
| int | enmx_mgmt_disconnect (ENMX_HANDLE handle) |
| disconnect eibnet/ip client from remote server | |
| int | enmx_mgmt_getloglevel (ENMX_HANDLE handle) |
| get current eibnetmux log level | |
| int | enmx_mgmt_setloglevel (ENMX_HANDLE handle, uint16_t level) |
| set new eibnetmux log level | |
| int | enmx_mgmt_close_session (ENMX_HANDLE handle, int session_type, uint32_t session_id) |
| forcibly close a client session | |
| sENMX_Status * | enmx_mgmt_getstatus (ENMX_HANDLE handle) |
| return structure with eibnetmux status | |
| void | enmx_mgmt_releasestatus (sENMX_Status *status) |
| release all memory used by status structure | |
| int | enmx_L7_connect (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress) |
| connect to remote KNX device | |
| int | enmx_L7_disconnect (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress) |
| connect to remote KNX device | |
| int | enmx_L7_readmemory (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress, uint16_t offset, uint16_t length, unsigned char *buf) |
| read memory of remote KNX device | |
| int | enmx_L7_writememory (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress, uint16_t offset, uint16_t length, unsigned char *buf) |
| write memory of remote KNX device | |
| int | enmx_L7_reset (ENMX_HANDLE handle, ENMX_ADDRESS knxaddress) |
| reset remote KNX device | |
Variables | |
| int | enmx_EISsizeC [] |
| Variable sizes for EIS types. | |
| int | enmx_EISsizeKNX [] |
| Buffer sizes for EIS types. | |
| #define ENMX_E_AUTH_FAILURE -9 |
User authentication failed (wrong username/password).
| #define ENMX_E_AUTH_UNSUPPORTED -8 |
Authentication is not supported (either by server or by library).
| #define ENMX_E_COMMUNICATION -1 |
| #define ENMX_E_DHM_FAILURE -10 |
DHM key exchange failed.
| #define ENMX_E_HOST_NOTFOUND -13 |
Specified host could not be found, no ip address available.
| #define ENMX_E_INTERNAL -4 |
| #define ENMX_E_L7_BUFSIZE -25 |
Buffer not large enough to receive all data.
| #define ENMX_E_L7_MASK -26 |
Invalid mask version of remote device.
| #define ENMX_E_L7_NAK_RECEIVED -23 |
Remote device replied with NAK.
| #define ENMX_E_L7_NO_CONNECTION -22 |
No connection with other device established.
| #define ENMX_E_L7_SEQUENCE -24 |
Remote device's answer was not what we expected.
| #define ENMX_E_NO_CONNECTION -20 |
| #define ENMX_E_NO_ERROR 0 |
Everything ok.
| #define ENMX_E_NO_MEMORY -5 |
Memory could not be allocated by the library for receive buffers, status structures, etc.
| #define ENMX_E_NOCLIENTID -17 |
Client identifier must be specified.
| #define ENMX_E_NOT_INITIALISED -16 |
Library not initialised, call enmx_init().
| #define ENMX_E_PARAMETER -11 |
Invalid parameter passed to library.
| #define ENMX_E_REGISTER_CLIENT -18 |
Unable to register client identifier.
| #define ENMX_E_RESOURCE -19 |
System resource problem.
| #define ENMX_E_SEARCH -14 |
Either none or more than one EIBnetmux server(s) found. Specify target host.
| #define ENMX_E_SERVER_ABORTED -2 |
| #define ENMX_E_SERVER_NOTRUNNING -15 |
EIBnetmux not running on host (or socketserver not activated).
| #define ENMX_E_TIMEOUT -6 |
| #define ENMX_E_UNAUTHORISED -12 |
Not authorised to perform this function.
| #define ENMX_E_UNKNOWN_GROUP -3 |
KNX group unknown.
| #define ENMX_E_VERSIONMISMATCH -21 |
Library does not match/support version of EIBnetmux server.
| #define ENMX_E_WRONG_USAGE -7 |
| #define ENMX_NO_ERROR 0 |
Everything ok.
| typedef uint16_t ENMX_ADDRESS |
Variable type for KNX group addresses as used by the library.
| typedef int ENMX_HANDLE |
Variable type to indicate an EIBnetmux connection.
| enum enmx_KNXTypes |