This consolidates into a single header file for constant values based on mesh specification as well as internally defined helper constants. Also, removes redundant redefinition maximum message length. --- mesh/mesh-defs.h | 33 ++++++++++++++++++++++++++++++--- mesh/model.h | 21 --------------------- mesh/net.h | 7 ------- mesh/node.c | 10 ++++------ 4 files changed, 34 insertions(+), 37 deletions(-) diff --git a/mesh/mesh-defs.h b/mesh/mesh-defs.h index d14aa5af3..5e253b85c 100644 --- a/mesh/mesh-defs.h +++ b/mesh/mesh-defs.h @@ -54,6 +54,26 @@ #define OOB_OUT_NUMBER 0x0008 #define OOB_OUT_ALPHA 0x0010 +/* Status codes */ +#define MESH_STATUS_SUCCESS 0x00 +#define MESH_STATUS_INVALID_ADDRESS 0x01 +#define MESH_STATUS_INVALID_MODEL 0x02 +#define MESH_STATUS_INVALID_APPKEY 0x03 +#define MESH_STATUS_INVALID_NETKEY 0x04 +#define MESH_STATUS_INSUFF_RESOURCES 0x05 +#define MESH_STATUS_IDX_ALREADY_STORED 0x06 +#define MESH_STATUS_INVALID_PUB_PARAM 0x07 +#define MESH_STATUS_NOT_SUB_MOD 0x08 +#define MESH_STATUS_STORAGE_FAIL 0x09 +#define MESH_STATUS_FEATURE_NO_SUPPORT 0x0a +#define MESH_STATUS_CANNOT_UPDATE 0x0b +#define MESH_STATUS_CANNOT_REMOVE 0x0c +#define MESH_STATUS_CANNOT_BIND 0x0d +#define MESH_STATUS_UNABLE_CHANGE_STATE 0x0e +#define MESH_STATUS_CANNOT_SET 0x0f +#define MESH_STATUS_UNSPECIFIED_ERROR 0x10 +#define MESH_STATUS_INVALID_BINDING 0x11 + #define UNASSIGNED_ADDRESS 0x0000 #define PROXIES_ADDRESS 0xfffc #define FRIENDS_ADDRESS 0xfffd @@ -72,14 +92,21 @@ #define PRIMARY_ELE_IDX 0x00 -#define VENDOR_ID_MASK 0xffff0000 - #define PRIMARY_NET_IDX 0x0000 #define MAX_KEY_IDX 0x0fff #define MAX_MODEL_COUNT 0xff #define MAX_ELE_COUNT 0xff -#define MAX_MSG_LEN 380 +#define MAX_MSG_LEN 380 + +#define VENDOR_ID_MASK 0xffff0000 + +#define NET_IDX_INVALID 0xffff +#define NET_NID_INVALID 0xff + +#define APP_IDX_MASK 0x0fff +#define APP_IDX_DEV_REMOTE 0x6fff +#define APP_IDX_DEV_LOCAL 0x7fff #define IS_UNASSIGNED(x) ((x) == UNASSIGNED_ADDRESS) #define IS_UNICAST(x) (((x) > UNASSIGNED_ADDRESS) && \ diff --git a/mesh/model.h b/mesh/model.h index fa031f598..f30ca2e38 100644 --- a/mesh/model.h +++ b/mesh/model.h @@ -26,27 +26,6 @@ struct mesh_model; #define VIRTUAL_BASE 0x10000 -#define MESH_MAX_ACCESS_PAYLOAD 380 - -#define MESH_STATUS_SUCCESS 0x00 -#define MESH_STATUS_INVALID_ADDRESS 0x01 -#define MESH_STATUS_INVALID_MODEL 0x02 -#define MESH_STATUS_INVALID_APPKEY 0x03 -#define MESH_STATUS_INVALID_NETKEY 0x04 -#define MESH_STATUS_INSUFF_RESOURCES 0x05 -#define MESH_STATUS_IDX_ALREADY_STORED 0x06 -#define MESH_STATUS_INVALID_PUB_PARAM 0x07 -#define MESH_STATUS_NOT_SUB_MOD 0x08 -#define MESH_STATUS_STORAGE_FAIL 0x09 -#define MESH_STATUS_FEATURE_NO_SUPPORT 0x0a -#define MESH_STATUS_CANNOT_UPDATE 0x0b -#define MESH_STATUS_CANNOT_REMOVE 0x0c -#define MESH_STATUS_CANNOT_BIND 0x0d -#define MESH_STATUS_UNABLE_CHANGE_STATE 0x0e -#define MESH_STATUS_CANNOT_SET 0x0f -#define MESH_STATUS_UNSPECIFIED_ERROR 0x10 -#define MESH_STATUS_INVALID_BINDING 0x11 - #define OP_MODEL_TEST 0x8000fffe #define OP_MODEL_INVALID 0x8000ffff diff --git a/mesh/net.h b/mesh/net.h index b7aa37748..c0ace3624 100644 --- a/mesh/net.h +++ b/mesh/net.h @@ -36,13 +36,6 @@ struct mesh_node; #define CREDFLAG_MASK 0x1000 -#define APP_IDX_MASK 0x0fff -#define APP_IDX_DEV_REMOTE 0x6fff -#define APP_IDX_DEV_LOCAL 0x7fff - -#define NET_IDX_INVALID 0xffff -#define NET_NID_INVALID 0xff - #define KEY_CACHE_SIZE 64 #define FRND_CACHE_MAX 32 diff --git a/mesh/node.c b/mesh/node.c index e7e58d9a7..e0903efb0 100644 --- a/mesh/node.c +++ b/mesh/node.c @@ -84,7 +84,6 @@ struct mesh_node { char *owner; char *obj_path; struct mesh_agent *agent; - char *path; struct mesh_config *cfg; char *storage_dir; uint32_t disc_watch; @@ -110,7 +109,6 @@ struct mesh_node { struct node_import { uint8_t dev_key[16]; - uint8_t net_key[16]; uint16_t net_idx; struct { @@ -1955,7 +1953,7 @@ static struct l_dbus_message *send_call(struct l_dbus *dbus, src = node_get_primary(node) + ele->idx; if (!l_dbus_message_iter_get_fixed_array(&iter_data, &data, &len) || - !len || len > MESH_MAX_ACCESS_PAYLOAD) + !len || len > MAX_MSG_LEN) return dbus_error(msg, MESH_ERROR_INVALID_ARGS, "Incorrect data"); @@ -2001,7 +1999,7 @@ static struct l_dbus_message *dev_key_send_call(struct l_dbus *dbus, src = node_get_primary(node) + ele->idx; if (!l_dbus_message_iter_get_fixed_array(&iter_data, &data, &len) || - !len || len > MESH_MAX_ACCESS_PAYLOAD) + !len || len > MAX_MSG_LEN) return dbus_error(msg, MESH_ERROR_INVALID_ARGS, "Incorrect data"); @@ -2045,7 +2043,7 @@ static struct l_dbus_message *publish_call(struct l_dbus *dbus, src = node_get_primary(node) + ele->idx; if (!l_dbus_message_iter_get_fixed_array(&iter_data, &data, &len) || - !len || len > MESH_MAX_ACCESS_PAYLOAD) + !len || len > MAX_MSG_LEN) return dbus_error(msg, MESH_ERROR_INVALID_ARGS, "Incorrect data"); @@ -2092,7 +2090,7 @@ static struct l_dbus_message *vendor_publish_call(struct l_dbus *dbus, src = node_get_primary(node) + ele->idx; if (!l_dbus_message_iter_get_fixed_array(&iter_data, &data, &len) || - !len || len > MESH_MAX_ACCESS_PAYLOAD) + !len || len > MAX_MSG_LEN) return dbus_error(msg, MESH_ERROR_INVALID_ARGS, "Incorrect data"); -- 2.21.0