kdriveExpress SDK 22.1.1
kdrive_express_keyring.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2002-2022 WEINZIERL ENGINEERING GmbH
3 // All rights reserved.
4 //
5 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7 // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
8 // SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY,
9 // WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
10 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
11 //
12 
13 #ifndef __KDRIVE_EXPRESS_KEYRING_H__
14 #define __KDRIVE_EXPRESS_KEYRING_H__
15 
16 #include "kdrive_express_config.h"
17 #include "kdrive_express_defs.h"
18 
26 #ifdef __cplusplus
27 extern "C"
28 {
29 #endif
30 
31 /*******************************
32 ** Keyring
33 ********************************/
34 
42 
51  const char* password, int32_t* keyring);
52 
61 
70 kdriveExpress_API error_t kdrive_keyring_get_proj_name(int32_t keyring, char name[], uint32_t* name_length);
71 
81  char creator[], uint32_t* creator_length);
82 
83 typedef struct keyring_dev_t
84 {
93 
102 
111 
112 typedef struct keyring_tun_t
113 {
121 } keyring_tun_t;
122 
131 
140 
148 
158  uint16_t group_addr,
159  const uint8_t key[KDRIVE_SEC_KEY_LEN]);
160 
169  uint16_t group_addr,
171 
179 
180 #ifdef __cplusplus
181 }
182 #endif
183 
184 #endif /* __KDRIVE_EXPRESS_KEYRING_H__ */
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.
keyring_dev_t::ind_addr
uint16_t ind_addr
KNX individual address.
Definition: kdrive_express_keyring.h:85
keyring_tun_t::password
char password[KDRIVE_MAX_SEC_PASSWORD_LEN]
The user password (as null terminated string)
Definition: kdrive_express_keyring.h:117
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.
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)
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.
uint16_t
unsigned short uint16_t
16 bit unsigned char
Definition: kdrive_express_config.h:30
keyring_tun_t::has_auth_password
uint32_t has_auth_password
The Tunnel has a authentication password.
Definition: kdrive_express_keyring.h:120
uint32_t
unsigned int uint32_t
32 bit unsigned char
Definition: kdrive_express_config.h:31
keyring_tun_t::has_user_credentials
uint32_t has_user_credentials
The Tunnel has a user and password.
Definition: kdrive_express_keyring.h:118
keyring_dev_t::has_auth_password
bool_t has_auth_password
The device has a Authentication password.
Definition: kdrive_express_keyring.h:91
keyring_tun_t::host_ind_addr
uint16_t host_ind_addr
KNX individual address of the host.
Definition: kdrive_express_keyring.h:114
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.
int32_t
int int32_t
32 bit signed int
Definition: kdrive_express_config.h:34
keyring_dev_t::has_tool_key
bool_t has_tool_key
The device has a Tool key.
Definition: kdrive_express_keyring.h:87
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.
keyring_dev_t::tool_key
uint8_t tool_key[KDRIVE_SEC_KEY_LEN]
Tool key.
Definition: kdrive_express_keyring.h:86
keyring_dev_t::auth_password
char auth_password[KDRIVE_MAX_SEC_PASSWORD_LEN]
Authentication password (as null terminated string)
Definition: kdrive_express_keyring.h:90
keyring_tun_t
struct keyring_tun_t keyring_tun_t
keyring_dev_t
Definition: kdrive_express_keyring.h:83
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.
kdrive_express_defs.h
kdriveExpress Defines
error_t
int32_t error_t
Definition: kdrive_express_config.h:46
bool_t
int32_t bool_t
Definition: kdrive_express_config.h:57
uint8_t
unsigned char uint8_t
8 bit unsigned char
Definition: kdrive_express_config.h:29
kdrive_keyring_create
kdriveExpress_API int32_t kdrive_keyring_create(const char *name)
Create a new keyring.
keyring_tun_t
Definition: kdrive_express_keyring.h:112
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....
keyring_tun_t::auth_password
char auth_password[KDRIVE_MAX_SEC_PASSWORD_LEN]
Authentication password (as null terminated string)
Definition: kdrive_express_keyring.h:119
kdriveExpress_API
#define kdriveExpress_API
Definition: kdrive_express_config.h:88
keyring_dev_t
struct keyring_dev_t keyring_dev_t
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.
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.
kdrive_express_config.h
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.
keyring_dev_t::password
char password[KDRIVE_MAX_SEC_PASSWORD_LEN]
Management password (as null terminated string)
Definition: kdrive_express_keyring.h:88
keyring_dev_t::has_mgmt_password
bool_t has_mgmt_password
The device has a Management password.
Definition: kdrive_express_keyring.h:89
keyring_tun_t::ind_addr
uint16_t ind_addr
KNX individual address.
Definition: kdrive_express_keyring.h:115
keyring_tun_t::user_id
uint8_t user_id
The user Id of the connection.
Definition: kdrive_express_keyring.h:116
KDRIVE_MAX_SEC_PASSWORD_LEN
#define KDRIVE_MAX_SEC_PASSWORD_LEN
The Maximum Length of a Security Password with Null-termination.
Definition: kdrive_express_defs.h:38
KDRIVE_SEC_KEY_LEN
#define KDRIVE_SEC_KEY_LEN
The Length of a security backbone key.
Definition: kdrive_express_defs.h:37
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.