kdriveExpress SDK 23.2.0
kdriveExpress KNX Keyring API

Functions

kdriveExpress_API int32_t kdrive_keyring_create (const char *name)
 Create a new keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_import_knxkeys (const char *filename, const char *password, int32_t *keyring)
 Imports an ETS keyring project file (*.knxkeys) More...
 
kdriveExpress_API bool_t kdrive_keyring_remove (int32_t keyring)
 Removes a keyring project Returns true if successfully released false otherwise (i.e. More...
 
kdriveExpress_API error_t kdrive_keyring_get_proj_name (int32_t keyring, char name[], uint32_t *name_length)
 Gets keyring project name Null-terminated string in utf8 encoding. More...
 
kdriveExpress_API error_t kdrive_keyring_get_proj_creator (int32_t keyring, char creator[], uint32_t *creator_length)
 Gets keyring project creator (e.g. More...
 
kdriveExpress_API error_t kdrive_keyring_set_device (int32_t keyring, const keyring_dev_t *device)
 Set a device to the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_get_device (int32_t keyring, keyring_dev_t *device)
 Get a device from the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_set_tunnel (int32_t keyring, const keyring_tun_t *tunnel)
 Set a tunneling interface to the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_get_tunnel (int32_t keyring, keyring_tun_t *tunnel)
 Get a tunneling interface from the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_remove_device_tunnel (int32_t keyring, uint16_t address)
 Removes a device or tunneling interface chosen by it's individual address from the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_set_group_addr (int32_t keyring, uint16_t group_addr, const uint8_t key[KDRIVE_SEC_KEY_LEN])
 Set a group address with it's key to the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_get_group_addr (int32_t keyring, uint16_t group_addr, uint8_t key[KDRIVE_SEC_KEY_LEN])
 Get the key for a group address from the keyring. More...
 
kdriveExpress_API error_t kdrive_keyring_remove_group_addr (int32_t keyring, uint16_t group_addr)
 Removes a group address with it's key from the keyring. More...
 

Detailed Description

Function Documentation

◆ kdrive_keyring_create()

kdriveExpress_API int32_t kdrive_keyring_create ( const char *  name)

Create a new keyring.

Parameters
[in]namethe name of the keyring project (as null terminated string)
Returns
keyring descriptor if successful

◆ kdrive_keyring_get_device()

kdriveExpress_API error_t kdrive_keyring_get_device ( int32_t  keyring,
keyring_dev_t device 
)

Get a device from the keyring.

Parameters
[in]keyringthe keyring project descriptor
[in,out]devicethe device structure, with the individual address of the device to get (in) and device parameters to fill up (out)

◆ kdrive_keyring_get_group_addr()

kdriveExpress_API error_t kdrive_keyring_get_group_addr ( int32_t  keyring,
uint16_t  group_addr,
uint8_t  key[KDRIVE_SEC_KEY_LEN] 
)

Get the key for a group address from the keyring.

Parameters
[in]keyringthe keyring project descriptor
[in]group_addrthe group address
[out]keythe key of the group address

◆ kdrive_keyring_get_proj_creator()

kdriveExpress_API error_t kdrive_keyring_get_proj_creator ( int32_t  keyring,
char  creator[],
uint32_t creator_length 
)

Gets keyring project creator (e.g.

ETS 5.7 (Build 619)) Null-terminated string in utf8 encoding

Parameters
[in]keyringthe keyring project descriptor
[out]creatorthe project created by (as null terminated string)
[in,out]creator_lengththe char array capacity (in) and actual length of the char array (out)
Examples
kdrive_express_ip_tunneling_keyring.c.

◆ kdrive_keyring_get_proj_name()

kdriveExpress_API error_t kdrive_keyring_get_proj_name ( int32_t  keyring,
char  name[],
uint32_t name_length 
)

Gets keyring project name Null-terminated string in utf8 encoding.

Parameters
[in]keyringthe keyring project descriptor
[out]namethe project name (as null terminated string)
[in,out]name_lengththe char array capacity (in) and actual length of the char array (out)
Examples
kdrive_express_ip_tunneling_keyring.c.

◆ kdrive_keyring_get_tunnel()

kdriveExpress_API error_t kdrive_keyring_get_tunnel ( int32_t  keyring,
keyring_tun_t tunnel 
)

Get a tunneling interface from the keyring.

Parameters
[in]keyringthe keyring project descriptor
[in,out]tunnelthe tunneling interface structure, with the individual address of the tunnel to get (in) and tunnel parameters to fill up (out)

◆ kdrive_keyring_import_knxkeys()

kdriveExpress_API error_t kdrive_keyring_import_knxkeys ( const char *  filename,
const char *  password,
int32_t keyring 
)

Imports an ETS keyring project file (*.knxkeys)

Parameters
[in]filenamethe ETS keyring filename (as null terminated string)
[in]passwordthe password for encrypt the keyring file (as null terminated string)
[out]keyringthe keyring project descriptor
Examples
kdrive_express_data_secure.c, and kdrive_express_ip_tunneling_keyring.c.

◆ kdrive_keyring_remove()

kdriveExpress_API bool_t kdrive_keyring_remove ( int32_t  keyring)

Removes a keyring project Returns true if successfully released false otherwise (i.e.

the descriptor wasn't found).

Parameters
[in]keyringthe keyring project descriptor

◆ kdrive_keyring_remove_device_tunnel()

kdriveExpress_API error_t kdrive_keyring_remove_device_tunnel ( int32_t  keyring,
uint16_t  address 
)

Removes a device or tunneling interface chosen by it's individual address from the keyring.

Parameters
[in]keyringthe keyring project descriptor
[in]addressthe individual address of the device or tunneling interface

◆ kdrive_keyring_remove_group_addr()

kdriveExpress_API error_t kdrive_keyring_remove_group_addr ( int32_t  keyring,
uint16_t  group_addr 
)

Removes a group address with it's key from the keyring.

Parameters
[in]keyringthe keyring project descriptor
[in]group_addrthe group address

◆ kdrive_keyring_set_device()

kdriveExpress_API error_t kdrive_keyring_set_device ( int32_t  keyring,
const keyring_dev_t device 
)

Set a device to the keyring.

If already exist, it will overwrite it.

Parameters
[in]keyringthe keyring project descriptor
[in]devicethe device structure

◆ kdrive_keyring_set_group_addr()

kdriveExpress_API error_t kdrive_keyring_set_group_addr ( int32_t  keyring,
uint16_t  group_addr,
const uint8_t  key[KDRIVE_SEC_KEY_LEN] 
)

Set a group address with it's key to the keyring.

If already exist, it will overwrite it.

Parameters
[in]keyringthe keyring project descriptor
[in]group_addrthe group address
[in]keythe key for the group address

◆ kdrive_keyring_set_tunnel()

kdriveExpress_API error_t kdrive_keyring_set_tunnel ( int32_t  keyring,
const keyring_tun_t tunnel 
)

Set a tunneling interface to the keyring.

If already exist, it will overwrite it.

Parameters
[in]keyringthe keyring project descriptor
[in]tunnelthe tunneling interface structure