oic; construct oic status -> coap status table at compile time.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/a82bf5e9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/a82bf5e9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/a82bf5e9 Branch: refs/heads/develop Commit: a82bf5e994cf6f922593c211a0220703f464e60c Parents: ed10225 Author: Marko Kiiskila <ma...@runtime.io> Authored: Thu Jan 12 17:37:12 2017 -0800 Committer: Marko Kiiskila <ma...@runtime.io> Committed: Thu Jan 12 17:37:12 2017 -0800 ---------------------------------------------------------------------- net/oic/src/api/oc_ri.c | 94 ++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 52 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a82bf5e9/net/oic/src/api/oc_ri.c ---------------------------------------------------------------------- diff --git a/net/oic/src/api/oc_ri.c b/net/oic/src/api/oc_ri.c index 342338d..f1bce07 100644 --- a/net/oic/src/api/oc_ri.c +++ b/net/oic/src/api/oc_ri.c @@ -62,57 +62,48 @@ static uint8_t oc_client_cb_area[OS_MEMPOOL_BYTES(MAX_NUM_CONCURRENT_REQUESTS, // TODO: Define and use a complete set of error codes. int oc_stack_errno; -static unsigned int oc_coap_status_codes[__NUM_OC_STATUS_CODES__]; - -static void -set_mpro_status_codes(void) -{ - /* OK_200 */ - oc_coap_status_codes[OC_STATUS_OK] = CONTENT_2_05; - /* CREATED_201 */ - oc_coap_status_codes[OC_STATUS_CREATED] = CREATED_2_01; - /* NO_CONTENT_204 */ - oc_coap_status_codes[OC_STATUS_CHANGED] = CHANGED_2_04; - /* NO_CONTENT_204 */ - oc_coap_status_codes[OC_STATUS_DELETED] = DELETED_2_02; - /* NOT_MODIFIED_304 */ - oc_coap_status_codes[OC_STATUS_NOT_MODIFIED] = VALID_2_03; - /* BAD_REQUEST_400 */ - oc_coap_status_codes[OC_STATUS_BAD_REQUEST] = BAD_REQUEST_4_00; - /* UNAUTHORIZED_401 */ - oc_coap_status_codes[OC_STATUS_UNAUTHORIZED] = UNAUTHORIZED_4_01; - /* BAD_REQUEST_400 */ - oc_coap_status_codes[OC_STATUS_BAD_OPTION] = BAD_OPTION_4_02; - /* FORBIDDEN_403 */ - oc_coap_status_codes[OC_STATUS_FORBIDDEN] = FORBIDDEN_4_03; - /* NOT_FOUND_404 */ - oc_coap_status_codes[OC_STATUS_NOT_FOUND] = NOT_FOUND_4_04; - /* METHOD_NOT_ALLOWED_405 */ - oc_coap_status_codes[OC_STATUS_METHOD_NOT_ALLOWED] = METHOD_NOT_ALLOWED_4_05; - /* NOT_ACCEPTABLE_406 */ - oc_coap_status_codes[OC_STATUS_NOT_ACCEPTABLE] = NOT_ACCEPTABLE_4_06; - /* REQUEST_ENTITY_TOO_LARGE_413 */ - oc_coap_status_codes[OC_STATUS_REQUEST_ENTITY_TOO_LARGE] = - REQUEST_ENTITY_TOO_LARGE_4_13; - /* UNSUPPORTED_MEDIA_TYPE_415 */ - oc_coap_status_codes[OC_STATUS_UNSUPPORTED_MEDIA_TYPE] = - UNSUPPORTED_MEDIA_TYPE_4_15; - /* INTERNAL_SERVER_ERROR_500 */ - oc_coap_status_codes[OC_STATUS_INTERNAL_SERVER_ERROR] = - INTERNAL_SERVER_ERROR_5_00; - /* NOT_IMPLEMENTED_501 */ - oc_coap_status_codes[OC_STATUS_NOT_IMPLEMENTED] = NOT_IMPLEMENTED_5_01; - /* BAD_GATEWAY_502 */ - oc_coap_status_codes[OC_STATUS_BAD_GATEWAY] = BAD_GATEWAY_5_02; - /* SERVICE_UNAVAILABLE_503 */ - oc_coap_status_codes[OC_STATUS_SERVICE_UNAVAILABLE] = - SERVICE_UNAVAILABLE_5_03; - /* GATEWAY_TIMEOUT_504 */ - oc_coap_status_codes[OC_STATUS_GATEWAY_TIMEOUT] = GATEWAY_TIMEOUT_5_04; - /* INTERNAL_SERVER_ERROR_500 */ - oc_coap_status_codes[OC_STATUS_PROXYING_NOT_SUPPORTED] = - PROXYING_NOT_SUPPORTED_5_05; -} +static const unsigned int oc_coap_status_codes[__NUM_OC_STATUS_CODES__] = { + /* OK_200 */ + [OC_STATUS_OK] = CONTENT_2_05, + /* CREATED_201 */ + [OC_STATUS_CREATED] = CREATED_2_01, + /* NO_CONTENT_204 */ + [OC_STATUS_CHANGED] = CHANGED_2_04, + /* NO_CONTENT_204 */ + [OC_STATUS_DELETED] = DELETED_2_02, + /* NOT_MODIFIED_304 */ + [OC_STATUS_NOT_MODIFIED] = VALID_2_03, + /* BAD_REQUEST_400 */ + [OC_STATUS_BAD_REQUEST] = BAD_REQUEST_4_00, + /* UNAUTHORIZED_401 */ + [OC_STATUS_UNAUTHORIZED] = UNAUTHORIZED_4_01, + /* BAD_REQUEST_400 */ + [OC_STATUS_BAD_OPTION] = BAD_OPTION_4_02, + /* FORBIDDEN_403 */ + [OC_STATUS_FORBIDDEN] = FORBIDDEN_4_03, + /* NOT_FOUND_404 */ + [OC_STATUS_NOT_FOUND] = NOT_FOUND_4_04, + /* METHOD_NOT_ALLOWED_405 */ + [OC_STATUS_METHOD_NOT_ALLOWED] = METHOD_NOT_ALLOWED_4_05, + /* NOT_ACCEPTABLE_406 */ + [OC_STATUS_NOT_ACCEPTABLE] = NOT_ACCEPTABLE_4_06, + /* REQUEST_ENTITY_TOO_LARGE_413 */ + [OC_STATUS_REQUEST_ENTITY_TOO_LARGE] = REQUEST_ENTITY_TOO_LARGE_4_13, + /* UNSUPPORTED_MEDIA_TYPE_415 */ + [OC_STATUS_UNSUPPORTED_MEDIA_TYPE] = UNSUPPORTED_MEDIA_TYPE_4_15, + /* INTERNAL_SERVER_ERROR_500 */ + [OC_STATUS_INTERNAL_SERVER_ERROR] = INTERNAL_SERVER_ERROR_5_00, + /* NOT_IMPLEMENTED_501 */ + [OC_STATUS_NOT_IMPLEMENTED] = NOT_IMPLEMENTED_5_01, + /* BAD_GATEWAY_502 */ + [OC_STATUS_BAD_GATEWAY] = BAD_GATEWAY_5_02, + /* SERVICE_UNAVAILABLE_503 */ + [OC_STATUS_SERVICE_UNAVAILABLE] = SERVICE_UNAVAILABLE_5_03, + /* GATEWAY_TIMEOUT_504 */ + [OC_STATUS_GATEWAY_TIMEOUT] = GATEWAY_TIMEOUT_5_04, + /* INTERNAL_SERVER_ERROR_500 */ + [OC_STATUS_PROXYING_NOT_SUPPORTED] = PROXYING_NOT_SUPPORTED_5_05 +}; #ifdef OC_SERVER oc_resource_t * @@ -217,7 +208,6 @@ void oc_ri_init(void) { oc_random_init(0); // Fix: allow user to seed RNG. - set_mpro_status_codes(); #ifdef OC_SERVER SLIST_INIT(&oc_app_resources);