summaryrefslogtreecommitdiff
path: root/mesh/mesh-defs.h
diff options
context:
space:
mode:
authorInga Stotland <inga.stotland@intel.com>2019-08-11 23:25:58 -0700
committerBrian Gix <brian.gix@intel.com>2019-08-12 12:49:34 -0400
commitfb5c57bccb302ebaf17a0fbf5944b358968082ef (patch)
treef9fe8d6d73813758f1df0576f1c7d4fe6d62abd0 /mesh/mesh-defs.h
parentb94453eb2d57f8bf0f99734743720208d0be3015 (diff)
downloadbluez-fb5c57bccb302ebaf17a0fbf5944b358968082ef.tar.gz
mesh: Move commonly used constants into mesh-defs.h
This consolidates definitions of commonly used constant values into a single header file. The constant values are based on mesh specification, plus a few internal utility constants (masks, etc.) Also, removes redundant redefinition maximum message length.
Diffstat (limited to 'mesh/mesh-defs.h')
-rw-r--r--mesh/mesh-defs.h34
1 files changed, 31 insertions, 3 deletions
diff --git a/mesh/mesh-defs.h b/mesh/mesh-defs.h
index d14aa5af3..1219e4939 100644
--- a/mesh/mesh-defs.h
+++ b/mesh/mesh-defs.h
@@ -37,6 +37,7 @@
#define KEY_REFRESH_PHASE_THREE 0x03
#define DEFAULT_TTL 0xff
+#define TTL_MASK 0x7f
/* Supported algorithms for provisioning */
#define ALG_FIPS_256_ECC 0x0001
@@ -54,6 +55,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 +93,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) && \