You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by st...@apache.org on 2016/09/29 01:34:17 UTC
[10/49] incubator-mynewt-core git commit: directory re-org
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/testutil/src/case.c
----------------------------------------------------------------------
diff --git a/libs/testutil/src/case.c b/libs/testutil/src/case.c
deleted file mode 100644
index 614b142..0000000
--- a/libs/testutil/src/case.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include "testutil/testutil.h"
-#include "testutil_priv.h"
-
-jmp_buf tu_case_jb;
-int tu_case_reported;
-int tu_case_failed;
-int tu_case_idx;
-
-const char *tu_case_name;
-tu_post_test_fn_t *tu_case_post_test_cb;
-void *tu_case_post_test_cb_arg;
-
-#define TU_CASE_BUF_SZ 1024
-
-static char tu_case_buf[TU_CASE_BUF_SZ];
-static int tu_case_buf_len;
-
-void
-tu_case_abort(void)
-{
- tu_case_write_pass_auto();
- longjmp(tu_case_jb, 1);
-}
-
-static int
-tu_case_vappend_buf(const char *format, va_list ap)
-{
- char *dst;
- int maxlen;
- int rc;
-
- dst = tu_case_buf + tu_case_buf_len;
- maxlen = TU_CASE_BUF_SZ - tu_case_buf_len;
-
- rc = vsnprintf(dst, maxlen, format, ap);
- tu_case_buf_len += rc;
- if (tu_case_buf_len >= TU_CASE_BUF_SZ) {
- tu_case_buf_len = TU_CASE_BUF_SZ - 1;
- return -1;
- }
-
- return 0;
-}
-
-static int
-tu_case_append_buf(const char *format, ...)
-{
- va_list ap;
- int rc;
-
- va_start(ap, format);
- rc = tu_case_vappend_buf(format, ap);
- va_end(ap);
-
- return rc;
-}
-
-static void
-tu_case_set_name(const char *name)
-{
- tu_case_name = name;
-}
-
-void
-tu_case_init(const char *name)
-{
- tu_case_reported = 0;
- tu_case_failed = 0;
-
- tu_case_set_name(name);
-
- if (tu_config.tc_case_init_cb != NULL) {
- tu_config.tc_case_init_cb(tu_config.tc_case_init_arg);
- }
-}
-
-void
-tu_case_complete(void)
-{
- tu_case_idx++;
-}
-
-void
-tu_case_post_test(void)
-{
- if (tu_case_post_test_cb != NULL) {
- tu_case_post_test_cb(tu_case_post_test_cb_arg);
- }
-}
-
-static void
-tu_case_write_fail_buf(void)
-{
- tu_case_reported = 1;
- tu_case_failed = 1;
- tu_suite_failed = 1;
- tu_any_failed = 1;
-
- if (tu_config.tc_print_results) {
- printf("[FAIL] %s/%s %s", tu_suite_name, tu_case_name, tu_case_buf);
- fflush(stdout);
- }
-
- if (tu_config.tc_case_fail_cb != NULL) {
- tu_config.tc_case_fail_cb(tu_case_buf, tu_case_buf_len,
- tu_config.tc_case_fail_arg);
- }
-}
-
-static void
-tu_case_append_file_info(const char *file, int line)
-{
- int rc;
-
- rc = tu_case_append_buf("|%s:%d| ", file, line);
- assert(rc == 0);
-}
-
-static void
-tu_case_append_assert_msg(const char *expr)
-{
- int rc;
-
- rc = tu_case_append_buf("failed assertion: %s", expr);
- assert(rc == 0);
-}
-
-static void
-tu_case_write_pass_buf(void)
-{
- if (tu_config.tc_print_results) {
- printf("[pass] %s/%s\n", tu_suite_name, tu_case_name);
- if (tu_case_buf_len > 0) {
- printf("%s", tu_case_buf);
- }
- fflush(stdout);
- }
-
- tu_case_reported = 1;
-
- if (tu_config.tc_case_pass_cb != NULL) {
- tu_config.tc_case_pass_cb(tu_case_buf, tu_case_buf_len,
- tu_config.tc_case_pass_arg);
- }
-}
-
-static void
-tu_case_append_manual_pass_msg(void)
-{
- int rc;
-
- rc = tu_case_append_buf("manual pass");
- assert(rc == 0);
-}
-
-void
-tu_case_write_pass_auto(void)
-{
- if (!tu_case_reported) {
- tu_case_buf_len = 0;
- tu_case_write_pass_buf();
- }
-}
-
-void
-tu_case_fail_assert(int fatal, const char *file, int line,
- const char *expr, const char *format, ...)
-{
- va_list ap;
- int rc;
-
- if (tu_config.tc_system_assert) {
- assert(0);
- }
-
- tu_case_buf_len = 0;
-
- tu_case_append_file_info(file, line);
- tu_case_append_assert_msg(expr);
-
- if (format != NULL) {
- rc = tu_case_append_buf("\n");
- assert(rc == 0);
-
- va_start(ap, format);
- rc = tu_case_vappend_buf(format, ap);
- assert(rc == 0);
- va_end(ap);
- }
-
- rc = tu_case_append_buf("\n");
- assert(rc == 0);
-
- tu_case_write_fail_buf();
-
- if (fatal) {
- tu_case_abort();
- }
-}
-
-void
-tu_case_pass_manual(const char *file, int line, const char *format, ...)
-{
- va_list ap;
- int rc;
-
- if (tu_case_reported) {
- return;
- }
-
- tu_case_buf_len = 0;
-
- tu_case_append_file_info(file, line);
- tu_case_append_manual_pass_msg();
-
- if (format != NULL) {
- rc = tu_case_append_buf("\n");
- assert(rc == 0);
-
- va_start(ap, format);
- rc = tu_case_vappend_buf(format, ap);
- assert(rc == 0);
- va_end(ap);
- }
-
- rc = tu_case_append_buf("\n");
- assert(rc == 0);
-
- tu_case_write_pass_buf();
-
- tu_case_abort();
-}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/testutil/src/suite.c
----------------------------------------------------------------------
diff --git a/libs/testutil/src/suite.c b/libs/testutil/src/suite.c
deleted file mode 100644
index 93ca639..0000000
--- a/libs/testutil/src/suite.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include <assert.h>
-#include "testutil/testutil.h"
-#include "testutil_priv.h"
-
-const char *tu_suite_name = 0;
-int tu_suite_failed = 0;
-
-static void
-tu_suite_set_name(const char *name)
-{
- tu_suite_name = name;
-}
-
-/**
- * Configures a callback that gets executed at the end of each test case in the
- * current suite. This is useful when there are some checks that should be
- * performed at the end of each test (e.g., verify no memory leaks). This
- * callback is cleared when the current suite completes.
- *
- * @param cb The callback to execute at the end of each test
- * case.
- * @param cb_arg An optional argument that gets passed to the
- * callback.
- */
-void
-tu_suite_set_post_test_cb(tu_post_test_fn_t *cb, void *cb_arg)
-{
- tu_case_post_test_cb = cb;
- tu_case_post_test_cb_arg = cb_arg;
-}
-
-void
-tu_suite_complete(void)
-{
- tu_suite_set_post_test_cb(NULL, NULL);
-}
-
-void
-tu_suite_init(const char *name)
-{
- tu_suite_failed = 0;
-
- tu_suite_set_name(name);
-
- if (tu_config.tc_suite_init_cb != NULL) {
- tu_config.tc_suite_init_cb(tu_config.tc_suite_init_arg);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/testutil/src/testutil.c
----------------------------------------------------------------------
diff --git a/libs/testutil/src/testutil.c b/libs/testutil/src/testutil.c
deleted file mode 100644
index 032a32c..0000000
--- a/libs/testutil/src/testutil.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include <assert.h>
-#include "os/os.h"
-#include "hal/hal_flash.h"
-#include "testutil/testutil.h"
-#include "testutil_priv.h"
-
-struct tu_config tu_config;
-int tu_any_failed;
-int tu_first_idx;
-
-int
-tu_init(void)
-{
- os_init();
-
- return 0;
-}
-
-void
-tu_restart(void)
-{
- tu_case_write_pass_auto();
-
- tu_first_idx = tu_case_idx + 1;
-
- if (tu_config.tc_restart_cb != NULL) {
- tu_config.tc_restart_cb(tu_config.tc_restart_arg);
- }
-
- tu_arch_restart();
-}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/testutil/src/testutil_priv.h
----------------------------------------------------------------------
diff --git a/libs/testutil/src/testutil_priv.h b/libs/testutil/src/testutil_priv.h
deleted file mode 100644
index 3f8cb2d..0000000
--- a/libs/testutil/src/testutil_priv.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef H_TESTUTIL_PRIV_
-#define H_TESTUTIL_PRIV_
-
-#include <stddef.h>
-#include <inttypes.h>
-
-#include "testutil/testutil.h"
-
-void tu_arch_restart(void);
-void tu_case_abort(void);
-
-extern tu_post_test_fn_t *tu_case_post_test_cb;
-extern void *tu_case_post_test_cb_arg;
-
-#endif
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/assert_p.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/assert_p.h b/libs/tinycbor/include/tinycbor/assert_p.h
deleted file mode 100644
index 994be06..0000000
--- a/libs/tinycbor/include/tinycbor/assert_p.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#include <assert.h>
-#ifdef NDEBUG
-# undef assert
-# define assert(cond) do { if (!(cond)) unreachable(); } while (0)
-#endif
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/cbor.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/cbor.h b/libs/tinycbor/include/tinycbor/cbor.h
deleted file mode 100644
index f78e4af..0000000
--- a/libs/tinycbor/include/tinycbor/cbor.h
+++ /dev/null
@@ -1,479 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#ifndef CBOR_H
-#define CBOR_H
-
-#include <assert.h>
-#include <limits.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#else
-#include <stdbool.h>
-#endif
-
-#ifndef SIZE_MAX
-/* Some systems fail to define SIZE_MAX in <stdint.h>, even though C99 requires it...
- * Conversion from signed to unsigned is defined in 6.3.1.3 (Signed and unsigned integers) p2,
- * which says: "the value is converted by repeatedly adding or subtracting one more than the
- * maximum value that can be represented in the new type until the value is in the range of the
- * new type."
- * So -1 gets converted to size_t by adding SIZE_MAX + 1, which results in SIZE_MAX.
- */
-# define SIZE_MAX ((size_t)-1)
-#endif
-
-#ifndef CBOR_API
-# define CBOR_API
-#endif
-#ifndef CBOR_PRIVATE_API
-# define CBOR_PRIVATE_API
-#endif
-#ifndef CBOR_INLINE_API
-# if defined(__cplusplus)
-# define CBOR_INLINE inline
-# define CBOR_INLINE_API inline
-# else
-# define CBOR_INLINE_API static CBOR_INLINE
-# if defined(_MSC_VER)
-# define CBOR_INLINE __inline
-# elif defined(__GNUC__)
-# define CBOR_INLINE __inline__
-# elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-# define CBOR_INLINE inline
-# else
-# define CBOR_INLINE
-# endif
-# endif
-#endif
-
-typedef enum CborType {
- CborIntegerType = 0x00,
- CborByteStringType = 0x40,
- CborTextStringType = 0x60,
- CborArrayType = 0x80,
- CborMapType = 0xa0,
- CborTagType = 0xc0,
- CborSimpleType = 0xe0,
- CborBooleanType = 0xf5,
- CborNullType = 0xf6,
- CborUndefinedType = 0xf7,
- CborHalfFloatType = 0xf9,
- CborFloatType = 0xfa,
- CborDoubleType = 0xfb,
-
- CborInvalidType = 0xff /* equivalent to the break byte, so it will never be used */
-} CborType;
-
-typedef uint64_t CborTag;
-typedef enum CborKnownTags {
- CborDateTimeStringTag = 0, /* RFC 3339 format: YYYY-MM-DD hh:mm:ss+zzzz */
- CborUnixTime_tTag = 1,
- CborPositiveBignumTag = 2,
- CborNegativeBignumTag = 3,
- CborDecimalTag = 4,
- CborBigfloatTag = 5,
- CborExpectedBase64urlTag = 21,
- CborExpectedBase64Tag = 22,
- CborExpectedBase16Tag = 23,
- CborUriTag = 32,
- CborBase64urlTag = 33,
- CborBase64Tag = 34,
- CborRegularExpressionTag = 35,
- CborMimeMessageTag = 36, /* RFC 2045-2047 */
- CborSignatureTag = 55799
-} CborKnownTags;
-
-/* Error API */
-
-typedef enum CborError {
- CborNoError = 0,
-
- /* errors in all modes */
- CborUnknownError,
- CborErrorUnknownLength, /* request for length in array, map, or string with indeterminate length */
- CborErrorAdvancePastEOF,
- CborErrorIO,
-
- /* parser errors streaming errors */
- CborErrorGarbageAtEnd = 256,
- CborErrorUnexpectedEOF,
- CborErrorUnexpectedBreak,
- CborErrorUnknownType, /* can only heppen in major type 7 */
- CborErrorIllegalType, /* type not allowed here */
- CborErrorIllegalNumber,
- CborErrorIllegalSimpleType, /* types of value less than 32 encoded in two bytes */
-
- /* parser errors in strict mode parsing only */
- CborErrorUnknownSimpleType = 512,
- CborErrorUnknownTag,
- CborErrorInappropriateTagForType,
- CborErrorDuplicateObjectKeys,
- CborErrorInvalidUtf8TextString,
-
- /* encoder errors */
- CborErrorTooManyItems = 768,
- CborErrorTooFewItems,
-
- /* internal implementation errors */
- CborErrorDataTooLarge = 1024,
- CborErrorNestingTooDeep,
- CborErrorUnsupportedType,
-
- /* errors in converting to JSON */
- CborErrorJsonObjectKeyIsAggregate,
- CborErrorJsonObjectKeyNotString,
- CborErrorJsonNotImplemented,
-
- CborErrorOutOfMemory = ~0U / 2 + 1,
- CborErrorInternalError = ~0U
-} CborError;
-
-CBOR_API const char *cbor_error_string(CborError error);
-
-/* Encoder API */
-struct CborEncoder
-{
- union {
- uint8_t *ptr;
- ptrdiff_t bytes_needed;
- };
- const uint8_t *end;
- size_t added;
- int flags;
-};
-typedef struct CborEncoder CborEncoder;
-
-static const size_t CborIndefiniteLength = SIZE_MAX;
-
-CBOR_API void cbor_encoder_init(CborEncoder *encoder, uint8_t *buffer, size_t size, int flags);
-CBOR_API CborError cbor_encode_uint(CborEncoder *encoder, uint64_t value);
-CBOR_API CborError cbor_encode_int(CborEncoder *encoder, int64_t value);
-CBOR_API CborError cbor_encode_negative_int(CborEncoder *encoder, uint64_t absolute_value);
-CBOR_API CborError cbor_encode_simple_value(CborEncoder *encoder, uint8_t value);
-CBOR_API CborError cbor_encode_tag(CborEncoder *encoder, CborTag tag);
-CBOR_API CborError cbor_encode_text_string(CborEncoder *encoder, const char *string, size_t length);
-CBOR_INLINE_API CborError cbor_encode_text_stringz(CborEncoder *encoder, const char *string)
-{ return cbor_encode_text_string(encoder, string, strlen(string)); }
-CBOR_API CborError cbor_encode_byte_string(CborEncoder *encoder, const uint8_t *string, size_t length);
-CBOR_API CborError cbor_encode_floating_point(CborEncoder *encoder, CborType fpType, const void *value);
-
-CBOR_INLINE_API CborError cbor_encode_boolean(CborEncoder *encoder, bool value)
-{ return cbor_encode_simple_value(encoder, (int)value - 1 + (CborBooleanType & 0x1f)); }
-CBOR_INLINE_API CborError cbor_encode_null(CborEncoder *encoder)
-{ return cbor_encode_simple_value(encoder, CborNullType & 0x1f); }
-CBOR_INLINE_API CborError cbor_encode_undefined(CborEncoder *encoder)
-{ return cbor_encode_simple_value(encoder, CborUndefinedType & 0x1f); }
-
-CBOR_INLINE_API CborError cbor_encode_half_float(CborEncoder *encoder, const void *value)
-{ return cbor_encode_floating_point(encoder, CborHalfFloatType, value); }
-CBOR_INLINE_API CborError cbor_encode_float(CborEncoder *encoder, float value)
-{ return cbor_encode_floating_point(encoder, CborFloatType, &value); }
-CBOR_INLINE_API CborError cbor_encode_double(CborEncoder *encoder, double value)
-{ return cbor_encode_floating_point(encoder, CborDoubleType, &value); }
-
-CBOR_API CborError cbor_encoder_create_array(CborEncoder *encoder, CborEncoder *arrayEncoder, size_t length);
-CBOR_API CborError cbor_encoder_create_map(CborEncoder *encoder, CborEncoder *mapEncoder, size_t length);
-CBOR_API CborError cbor_encoder_close_container(CborEncoder *encoder, const CborEncoder *containerEncoder);
-CBOR_API CborError cbor_encoder_close_container_checked(CborEncoder *encoder, const CborEncoder *containerEncoder);
-
-CBOR_INLINE_API size_t cbor_encoder_get_buffer_size(const CborEncoder *encoder, const uint8_t *buffer)
-{
- return (size_t)(encoder->ptr - buffer);
-}
-
-CBOR_INLINE_API size_t cbor_encoder_get_extra_bytes_needed(const CborEncoder *encoder)
-{
- return encoder->end ? 0 : (size_t)encoder->bytes_needed;
-}
-
-/* Parser API */
-
-enum CborParserIteratorFlags
-{
- CborIteratorFlag_IntegerValueTooLarge = 0x01,
- CborIteratorFlag_NegativeInteger = 0x02,
- CborIteratorFlag_UnknownLength = 0x04,
- CborIteratorFlag_ContainerIsMap = 0x20
-};
-
-struct CborParser
-{
- const uint8_t *end;
- int flags;
-};
-typedef struct CborParser CborParser;
-
-struct CborValue
-{
- const CborParser *parser;
- const uint8_t *ptr;
- uint32_t remaining;
- uint16_t extra;
- uint8_t type;
- uint8_t flags;
-};
-typedef struct CborValue CborValue;
-
-CBOR_API CborError cbor_parser_init(const uint8_t *buffer, size_t size, int flags, CborParser *parser, CborValue *it);
-
-CBOR_INLINE_API bool cbor_value_at_end(const CborValue *it)
-{ return it->remaining == 0; }
-CBOR_INLINE_API const uint8_t *cbor_value_get_next_byte(const CborValue *it)
-{ return it->ptr; }
-CBOR_API CborError cbor_value_advance_fixed(CborValue *it);
-CBOR_API CborError cbor_value_advance(CborValue *it);
-CBOR_INLINE_API bool cbor_value_is_container(const CborValue *it)
-{ return it->type == CborArrayType || it->type == CborMapType; }
-CBOR_API CborError cbor_value_enter_container(const CborValue *it, CborValue *recursed);
-CBOR_API CborError cbor_value_leave_container(CborValue *it, const CborValue *recursed);
-
-CBOR_PRIVATE_API uint64_t _cbor_value_decode_int64_internal(const CborValue *value);
-CBOR_INLINE_API uint64_t _cbor_value_extract_int64_helper(const CborValue *value)
-{
- return value->flags & CborIteratorFlag_IntegerValueTooLarge ?
- _cbor_value_decode_int64_internal(value) : value->extra;
-}
-
-CBOR_INLINE_API bool cbor_value_is_valid(const CborValue *value)
-{ return value && value->type != CborInvalidType; }
-CBOR_INLINE_API CborType cbor_value_get_type(const CborValue *value)
-{ return (CborType)value->type; }
-
-/* Null & undefined type */
-CBOR_INLINE_API bool cbor_value_is_null(const CborValue *value)
-{ return value->type == CborNullType; }
-CBOR_INLINE_API bool cbor_value_is_undefined(const CborValue *value)
-{ return value->type == CborUndefinedType; }
-
-/* Booleans */
-CBOR_INLINE_API bool cbor_value_is_boolean(const CborValue *value)
-{ return value->type == CborBooleanType; }
-CBOR_INLINE_API CborError cbor_value_get_boolean(const CborValue *value, bool *result)
-{
- assert(cbor_value_is_boolean(value));
- *result = !!value->extra;
- return CborNoError;
-}
-
-/* Simple types */
-CBOR_INLINE_API bool cbor_value_is_simple_type(const CborValue *value)
-{ return value->type == CborSimpleType; }
-CBOR_INLINE_API CborError cbor_value_get_simple_type(const CborValue *value, uint8_t *result)
-{
- assert(cbor_value_is_simple_type(value));
- *result = (uint8_t)value->extra;
- return CborNoError;
-}
-
-/* Integers */
-CBOR_INLINE_API bool cbor_value_is_integer(const CborValue *value)
-{ return value->type == CborIntegerType; }
-CBOR_INLINE_API bool cbor_value_is_unsigned_integer(const CborValue *value)
-{ return cbor_value_is_integer(value) && (value->flags & CborIteratorFlag_NegativeInteger) == 0; }
-CBOR_INLINE_API bool cbor_value_is_negative_integer(const CborValue *value)
-{ return cbor_value_is_integer(value) && (value->flags & CborIteratorFlag_NegativeInteger); }
-
-CBOR_INLINE_API CborError cbor_value_get_raw_integer(const CborValue *value, uint64_t *result)
-{
- assert(cbor_value_is_integer(value));
- *result = _cbor_value_extract_int64_helper(value);
- return CborNoError;
-}
-
-CBOR_INLINE_API CborError cbor_value_get_uint64(const CborValue *value, uint64_t *result)
-{
- assert(cbor_value_is_unsigned_integer(value));
- *result = _cbor_value_extract_int64_helper(value);
- return CborNoError;
-}
-
-CBOR_INLINE_API CborError cbor_value_get_int64(const CborValue *value, int64_t *result)
-{
- assert(cbor_value_is_integer(value));
- *result = (int64_t) _cbor_value_extract_int64_helper(value);
- if (value->flags & CborIteratorFlag_NegativeInteger)
- *result = -*result - 1;
- return CborNoError;
-}
-
-CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
-{
- assert(cbor_value_is_integer(value));
- *result = (int) _cbor_value_extract_int64_helper(value);
- if (value->flags & CborIteratorFlag_NegativeInteger)
- *result = -*result - 1;
- return CborNoError;
-}
-
-CBOR_API CborError cbor_value_get_int64_checked(const CborValue *value, int64_t *result);
-CBOR_API CborError cbor_value_get_int_checked(const CborValue *value, int *result);
-
-CBOR_INLINE_API bool cbor_value_is_length_known(const CborValue *value)
-{ return (value->flags & CborIteratorFlag_UnknownLength) == 0; }
-
-/* Tags */
-CBOR_INLINE_API bool cbor_value_is_tag(const CborValue *value)
-{ return value->type == CborTagType; }
-CBOR_INLINE_API CborError cbor_value_get_tag(const CborValue *value, CborTag *result)
-{
- assert(cbor_value_is_tag(value));
- *result = _cbor_value_extract_int64_helper(value);
- return CborNoError;
-}
-CBOR_API CborError cbor_value_skip_tag(CborValue *it);
-
-/* Strings */
-CBOR_INLINE_API bool cbor_value_is_byte_string(const CborValue *value)
-{ return value->type == CborByteStringType; }
-CBOR_INLINE_API bool cbor_value_is_text_string(const CborValue *value)
-{ return value->type == CborTextStringType; }
-
-CBOR_INLINE_API CborError cbor_value_get_string_length(const CborValue *value, size_t *length)
-{
- assert(cbor_value_is_byte_string(value) || cbor_value_is_text_string(value));
- if (!cbor_value_is_length_known(value))
- return CborErrorUnknownLength;
- uint64_t v = _cbor_value_extract_int64_helper(value);
- *length = v;
- if (*length != v)
- return CborErrorDataTooLarge;
- return CborNoError;
-}
-
-CBOR_PRIVATE_API CborError _cbor_value_copy_string(const CborValue *value, void *buffer,
- size_t *buflen, CborValue *next);
-CBOR_PRIVATE_API CborError _cbor_value_dup_string(const CborValue *value, void **buffer,
- size_t *buflen, CborValue *next);
-
-CBOR_API CborError cbor_value_calculate_string_length(const CborValue *value, size_t *length);
-
-CBOR_INLINE_API CborError cbor_value_copy_text_string(const CborValue *value, char *buffer,
- size_t *buflen, CborValue *next)
-{
- assert(cbor_value_is_text_string(value));
- return _cbor_value_copy_string(value, buffer, buflen, next);
-}
-CBOR_INLINE_API CborError cbor_value_copy_byte_string(const CborValue *value, uint8_t *buffer,
- size_t *buflen, CborValue *next)
-{
- assert(cbor_value_is_byte_string(value));
- return _cbor_value_copy_string(value, buffer, buflen, next);
-}
-
-CBOR_INLINE_API CborError cbor_value_dup_text_string(const CborValue *value, char **buffer,
- size_t *buflen, CborValue *next)
-{
- assert(cbor_value_is_text_string(value));
- return _cbor_value_dup_string(value, (void **)buffer, buflen, next);
-}
-CBOR_INLINE_API CborError cbor_value_dup_byte_string(const CborValue *value, uint8_t **buffer,
- size_t *buflen, CborValue *next)
-{
- assert(cbor_value_is_byte_string(value));
- return _cbor_value_dup_string(value, (void **)buffer, buflen, next);
-}
-
-/* ### TBD: partial reading API */
-
-CBOR_API CborError cbor_value_text_string_equals(const CborValue *value, const char *string, bool *result);
-
-/* Maps and arrays */
-CBOR_INLINE_API bool cbor_value_is_array(const CborValue *value)
-{ return value->type == CborArrayType; }
-CBOR_INLINE_API bool cbor_value_is_map(const CborValue *value)
-{ return value->type == CborMapType; }
-
-CBOR_INLINE_API CborError cbor_value_get_array_length(const CborValue *value, size_t *length)
-{
- assert(cbor_value_is_array(value));
- if (!cbor_value_is_length_known(value))
- return CborErrorUnknownLength;
- uint64_t v = _cbor_value_extract_int64_helper(value);
- *length = v;
- if (*length != v)
- return CborErrorDataTooLarge;
- return CborNoError;
-}
-
-CBOR_INLINE_API CborError cbor_value_get_map_length(const CborValue *value, size_t *length)
-{
- assert(cbor_value_is_map(value));
- if (!cbor_value_is_length_known(value))
- return CborErrorUnknownLength;
- uint64_t v = _cbor_value_extract_int64_helper(value);
- *length = v;
- if (*length != v)
- return CborErrorDataTooLarge;
- return CborNoError;
-}
-
-CBOR_API CborError cbor_value_map_find_value(const CborValue *map, const char *string, CborValue *element);
-
-/* Floating point */
-CBOR_INLINE_API bool cbor_value_is_half_float(const CborValue *value)
-{ return value->type == CborHalfFloatType; }
-CBOR_API CborError cbor_value_get_half_float(const CborValue *value, void *result);
-
-CBOR_INLINE_API bool cbor_value_is_float(const CborValue *value)
-{ return value->type == CborFloatType; }
-CBOR_INLINE_API CborError cbor_value_get_float(const CborValue *value, float *result)
-{
- assert(cbor_value_is_float(value));
- assert(value->flags & CborIteratorFlag_IntegerValueTooLarge);
- uint32_t data = (uint32_t)_cbor_value_decode_int64_internal(value);
- memcpy(result, &data, sizeof(*result));
- return CborNoError;
-}
-
-CBOR_INLINE_API bool cbor_value_is_double(const CborValue *value)
-{ return value->type == CborDoubleType; }
-CBOR_INLINE_API CborError cbor_value_get_double(const CborValue *value, double *result)
-{
- assert(cbor_value_is_double(value));
- assert(value->flags & CborIteratorFlag_IntegerValueTooLarge);
- uint64_t data = _cbor_value_decode_int64_internal(value);
- memcpy(result, &data, sizeof(*result));
- return CborNoError;
-}
-
-/* Human-readable (dump) API */
-CBOR_API CborError cbor_value_to_pretty_advance(FILE *out, CborValue *value);
-CBOR_INLINE_API CborError cbor_value_to_pretty(FILE *out, const CborValue *value)
-{
- CborValue copy = *value;
- return cbor_value_to_pretty_advance(out, ©);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* CBOR_H */
-
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/cborconstants_p.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/cborconstants_p.h b/libs/tinycbor/include/tinycbor/cborconstants_p.h
deleted file mode 100644
index d5808c3..0000000
--- a/libs/tinycbor/include/tinycbor/cborconstants_p.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef CBORCONSTANTS_P_H
-#define CBORCONSTANTS_P_H
-
-/*
- * CBOR Major types
- * Encoded in the high 3 bits of the descriptor byte
- * See http://tools.ietf.org/html/rfc7049#section-2.1
- */
-typedef enum CborMajorTypes {
- UnsignedIntegerType = 0U,
- NegativeIntegerType = 1U,
- ByteStringType = 2U,
- TextStringType = 3U,
- ArrayType = 4U,
- MapType = 5U, /* a.k.a. object */
- TagType = 6U,
- SimpleTypesType = 7U
-} CborMajorTypes;
-
-/*
- * CBOR simple and floating point types
- * Encoded in the low 8 bits of the descriptor byte when the
- * Major Type is 7.
- */
-typedef enum CborSimpleTypes {
- FalseValue = 20,
- TrueValue = 21,
- NullValue = 22,
- UndefinedValue = 23,
- SimpleTypeInNextByte = 24, /* not really a simple type */
- HalfPrecisionFloat = 25, /* ditto */
- SinglePrecisionFloat = 26, /* ditto */
- DoublePrecisionFloat = 27, /* ditto */
- Break = 31
-} CborSimpleTypes;
-
-enum {
- SmallValueBitLength = 5U,
- SmallValueMask = (1U << SmallValueBitLength) - 1, /* 31 */
- Value8Bit = 24U,
- Value16Bit = 25U,
- Value32Bit = 26U,
- Value64Bit = 27U,
- IndefiniteLength = 31U,
-
- MajorTypeShift = SmallValueBitLength,
- MajorTypeMask = ~0U << MajorTypeShift,
-
- BreakByte = (unsigned)Break | (SimpleTypesType << MajorTypeShift)
-};
-
-#endif /* CBORCONSTANTS_P_H */
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/cborjson.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/cborjson.h b/libs/tinycbor/include/tinycbor/cborjson.h
deleted file mode 100644
index 8ff27b9..0000000
--- a/libs/tinycbor/include/tinycbor/cborjson.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#ifndef CBORJSON_H
-#define CBORJSON_H
-
-#include "cbor.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Conversion to JSON */
-enum CborToJsonFlags
-{
- CborConvertAddMetadata = 1,
- CborConvertTagsToObjects = 2,
- CborConvertIgnoreTags = 0,
-
- CborConvertObeyByteStringTags = 0,
- CborConvertByteStringsToBase64Url = 4,
-
- CborConvertRequireMapStringKeys = 0,
- CborConvertStringifyMapKeys = 8,
-
- CborConvertDefaultFlags = 0
-};
-
-CBOR_API CborError cbor_value_to_json_advance(FILE *out, CborValue *value, int flags);
-CBOR_INLINE_API CborError cbor_value_to_json(FILE *out, const CborValue *value, int flags)
-{
- CborValue copy = *value;
- return cbor_value_to_json_advance(out, ©, flags);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* CBORJSON_H */
-
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/compilersupport_p.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/compilersupport_p.h b/libs/tinycbor/include/tinycbor/compilersupport_p.h
deleted file mode 100644
index 4e0dbe3..0000000
--- a/libs/tinycbor/include/tinycbor/compilersupport_p.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#ifndef COMPILERSUPPORT_H
-#define COMPILERSUPPORT_H
-
-#include "cbor.h"
-
-#ifndef _BSD_SOURCE
-# define _BSD_SOURCE
-#endif
-#ifndef _DEFAULT_SOURCE
-# define _DEFAULT_SOURCE
-#endif
-#include <assert.h>
-#include <float.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-
-#ifndef __cplusplus
-# include <stdbool.h>
-#endif
-
-#ifdef __F16C__
-# include <immintrin.h>
-#endif
-
-#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L || __cpp_static_assert >= 200410
-# define cbor_static_assert(x) _Static_assert(x, #x)
-#elif !defined(__cplusplus) && defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)
-# define cbor_static_assert(x) _Static_assert(x, #x)
-#else
-# define cbor_static_assert(x) ((void)sizeof(char[2*!!(x) - 1]))
-#endif
-#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
-/* inline is a keyword */
-#else
-/* use the definition from cbor.h */
-# define inline CBOR_INLINE
-#endif
-
-#define STRINGIFY(x) STRINGIFY2(x)
-#define STRINGIFY2(x) #x
-
-#if !defined(UINT32_MAX) || !defined(INT64_MAX)
-/* C89? We can define UINT32_MAX portably, but not INT64_MAX */
-# error "Your system has stdint.h but that doesn't define UINT32_MAX or INT64_MAX"
-#endif
-
-#ifndef DBL_DECIMAL_DIG
-/* DBL_DECIMAL_DIG is C11 */
-# define DBL_DECIMAL_DIG 17
-#endif
-#define DBL_DECIMAL_DIG_STR STRINGIFY(DBL_DECIMAL_DIG)
-
-#ifndef __has_builtin
-# define __has_builtin(x) 0
-#endif
-
-#if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) || \
- (__has_builtin(__builtin_bswap64) && __has_builtin(__builtin_bswap32))
-# if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-# define cbor_ntohll __builtin_bswap64
-# define cbor_htonll __builtin_bswap64
-# define cbor_ntohl __builtin_bswap32
-# define cbor_htonl __builtin_bswap32
-# ifdef __INTEL_COMPILER
-# define cbor_ntohs _bswap16
-# define cbor_htons _bswap16
-# elif (__GNUC__ * 100 + __GNUC_MINOR__ >= 608) || __has_builtin(__builtin_bswap16)
-# define cbor_ntohs __builtin_bswap16
-# define cbor_htons __builtin_bswap16
-# else
-# define cbor_ntohs(x) (((uint16_t)x >> 8) | ((uint16_t)x << 8))
-# define cbor_htons cbor_ntohs
-# endif
-# else
-# define cbor_ntohll
-# define cbor_htonll
-# define cbor_ntohl
-# define cbor_htonl
-# define cbor_ntohs
-# define cbor_htons
-# endif
-#elif defined(__sun)
-# include <sys/byteorder.h>
-#elif defined(_MSC_VER)
-/* MSVC, which implies Windows, which implies little-endian and sizeof(long) == 4 */
-# define cbor_ntohll _byteswap_uint64
-# define cbor_htonll _byteswap_uint64
-# define cbor_ntohl _byteswap_ulong
-# define cbor_htonl _byteswap_ulong
-# define cbor_ntohs _byteswap_ushort
-# define cbor_htons _byteswap_ushort
-#endif
-#ifndef cbor_ntohs
-# include <arpa/inet.h>
-# define cbor_ntohs ntohs
-# define cbor_htons htons
-#endif
-#ifndef cbor_ntohl
-# include <arpa/inet.h>
-# define cbor_ntohl ntohl
-# define cbor_htonl htonl
-#endif
-#ifndef cbor_ntohll
-# define cbor_ntohll ntohll
-# define cbor_htonll htonll
-/* ntohll isn't usually defined */
-# ifndef ntohll
-# if defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-# define ntohll
-# define htonll
-# elif defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-# define ntohll(x) ((ntohl((uint32_t)(x)) * UINT64_C(0x100000000)) + (ntohl((x) >> 32)))
-# define htonll ntohll
-# else
-# error "Unable to determine byte order!"
-# endif
-# endif
-#endif
-
-
-#ifdef __cplusplus
-# define CONST_CAST(t, v) const_cast<t>(v)
-#else
-/* C-style const_cast without triggering a warning with -Wcast-qual */
-# define CONST_CAST(t, v) (t)(uintptr_t)(v)
-#endif
-
-#ifdef __GNUC__
-# define likely(x) __builtin_expect(!!(x), 1)
-# define unlikely(x) __builtin_expect(!!(x), 0)
-# define unreachable() __builtin_unreachable()
-#elif defined(_MSC_VER)
-# define likely(x) (x)
-# define unlikely(x) (x)
-# define unreachable() __assume(0)
-#else
-# define likely(x) (x)
-# define unlikely(x) (x)
-# define unreachable() do {} while (0)
-#endif
-
-#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__) && \
- (__GNUC__ * 100 + __GNUC_MINOR__ >= 404)
-# pragma GCC optimize("-ffunction-sections")
-#endif
-
-static inline bool add_check_overflow(size_t v1, size_t v2, size_t *r)
-{
-#if ((defined(__GNUC__) && (__GNUC__ >= 5)) && !defined(__INTEL_COMPILER)) || __has_builtin(__builtin_add_overflow)
- return __builtin_add_overflow(v1, v2, r);
-#else
- /* unsigned additions are well-defined */
- *r = v1 + v2;
- return v1 > v1 + v2;
-#endif
-}
-
-static inline unsigned short encode_half(double val)
-{
-#ifdef __F16C__
- return _cvtss_sh(val, 3);
-#else
- uint64_t v;
- memcpy(&v, &val, sizeof(v));
- int sign = v >> 63 << 15;
- int exp = (v >> 52) & 0x7ff;
- int mant = v << 12 >> 12 >> (53-11); /* keep only the 11 most significant bits of the mantissa */
- exp -= 1023;
- if (exp == 1024) {
- /* infinity or NaN */
- exp = 16;
- mant >>= 1;
- } else if (exp >= 16) {
- /* overflow, as largest number */
- exp = 15;
- mant = 1023;
- } else if (exp >= -14) {
- /* regular normal */
- } else if (exp >= -24) {
- /* subnormal */
- mant |= 1024;
- mant >>= -(exp + 14);
- exp = -15;
- } else {
- /* underflow, make zero */
- return 0;
- }
- return sign | ((exp + 15) << 10) | mant;
-#endif
-}
-
-#endif /* COMPILERSUPPORT_H */
-
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/extract_number_p.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/extract_number_p.h b/libs/tinycbor/include/tinycbor/extract_number_p.h
deleted file mode 100644
index b65ca44..0000000
--- a/libs/tinycbor/include/tinycbor/extract_number_p.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#define _BSD_SOURCE 1
-#define _DEFAULT_SOURCE 1
-#include "cbor.h"
-#include "cborconstants_p.h"
-#include "compilersupport_p.h"
-#include <stdlib.h>
-
-static inline uint16_t get16(const uint8_t *ptr)
-{
- uint16_t result;
- memcpy(&result, ptr, sizeof(result));
- return cbor_ntohs(result);
-}
-
-static inline uint32_t get32(const uint8_t *ptr)
-{
- uint32_t result;
- memcpy(&result, ptr, sizeof(result));
- return cbor_ntohl(result);
-}
-
-static inline uint64_t get64(const uint8_t *ptr)
-{
- uint64_t result;
- memcpy(&result, ptr, sizeof(result));
- return cbor_ntohll(result);
-}
-
-static CborError extract_number(const uint8_t **ptr, const uint8_t *end, uint64_t *len)
-{
- uint8_t additional_information = **ptr & SmallValueMask;
- ++*ptr;
- if (additional_information < Value8Bit) {
- *len = additional_information;
- return CborNoError;
- }
- if (unlikely(additional_information > Value64Bit))
- return CborErrorIllegalNumber;
-
- size_t bytesNeeded = (size_t)(1 << (additional_information - Value8Bit));
- if (unlikely(bytesNeeded > (size_t)(end - *ptr))) {
- return CborErrorUnexpectedEOF;
- } else if (bytesNeeded == 1) {
- *len = (uint8_t)(*ptr)[0];
- } else if (bytesNeeded == 2) {
- *len = get16(*ptr);
- } else if (bytesNeeded == 4) {
- *len = get32(*ptr);
- } else {
- *len = get64(*ptr);
- }
- *ptr += bytesNeeded;
- return CborNoError;
-}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/include/tinycbor/math_support_p.h
----------------------------------------------------------------------
diff --git a/libs/tinycbor/include/tinycbor/math_support_p.h b/libs/tinycbor/include/tinycbor/math_support_p.h
deleted file mode 100644
index 676f781..0000000
--- a/libs/tinycbor/include/tinycbor/math_support_p.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#ifndef MATH_SUPPORT_H
-#define MATH_SUPPORT_H
-
-#include <math.h>
-
-/* this function was copied & adapted from RFC 7049 Appendix D */
-static inline double decode_half(unsigned short half)
-{
-#ifdef __F16C__
- return _cvtsh_ss(half);
-#else
- int exp = (half >> 10) & 0x1f;
- int mant = half & 0x3ff;
- double val;
- if (exp == 0) val = ldexp(mant, -24);
- else if (exp != 31) val = ldexp(mant + 1024, exp - 25);
- else val = mant == 0 ? INFINITY : NAN;
- return half & 0x8000 ? -val : val;
-#endif
-}
-
-#endif // MATH_SUPPORT_H
-
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/pkg.yml
----------------------------------------------------------------------
diff --git a/libs/tinycbor/pkg.yml b/libs/tinycbor/pkg.yml
deleted file mode 100644
index 3eb846d..0000000
--- a/libs/tinycbor/pkg.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-pkg.name: libs/tinycbor
-pkg.description: CBOR encoding/decoding library
-pkg.author: "Apache Mynewt <de...@mynewt.incubator.apache.org>"
-pkg.homepage: "http://mynewt.apache.org/"
-pkg.keywords:
-
-pkg.cflags: -DWITHOUT_OPEN_MEMSTREAM -I../include/tinycbor
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/src/cborencoder.c
----------------------------------------------------------------------
diff --git a/libs/tinycbor/src/cborencoder.c b/libs/tinycbor/src/cborencoder.c
deleted file mode 100644
index eef05cd..0000000
--- a/libs/tinycbor/src/cborencoder.c
+++ /dev/null
@@ -1,629 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#define _BSD_SOURCE 1
-#define _DEFAULT_SOURCE 1
-#ifndef __STDC_LIMIT_MACROS
-# define __STDC_LIMIT_MACROS 1
-#endif
-
-#include "cbor.h"
-#include "cborconstants_p.h"
-#include "compilersupport_p.h"
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "assert_p.h" /* Always include last */
-
-/**
- * \defgroup CborEncoding Encoding to CBOR
- * \brief Group of functions used to encode data to CBOR.
- *
- * CborEncoder is used to encode data into a CBOR stream. The outermost
- * CborEncoder is initialized by calling cbor_encoder_init(), with the buffer
- * where the CBOR stream will be stored. The outermost CborEncoder is usually
- * used to encode exactly one item, most often an array or map. It is possible
- * to encode more than one item, but care must then be taken on the decoder
- * side to ensure the state is reset after each item was decoded.
- *
- * Nested CborEncoder objects are created using cbor_encoder_create_array() and
- * cbor_encoder_create_map(), later closed with cbor_encoder_close_container()
- * or cbor_encoder_close_container_checked(). The pairs of creation and closing
- * must be exactly matched and their parameters are always the same.
- *
- * CborEncoder writes directly to the user-supplied buffer, without extra
- * buffering. CborEncoder does not allocate memory and CborEncoder objects are
- * usually created on the stack of the encoding functions.
- *
- * The example below initializes a CborEncoder object with a buffer and encodes
- * a single integer.
- *
- * \code
- * uint8_t buf[16];
- * CborEncoder encoder;
- * cbor_encoder_init(&encoder, &buf, sizeof(buf), 0);
- * cbor_encode_int(&encoder, some_value);
- * \endcode
- *
- * As explained before, usually the outermost CborEncoder object is used to add
- * one array or map, which in turn contains multiple elements. The example
- * below creates a CBOR map with one element: a key "foo" and a boolean value.
- *
- * \code
- * uint8_t buf[16];
- * CborEncoder encoder, mapEncoder;
- * cbor_encoder_init(&encoder, &buf, sizeof(buf), 0);
- * cbor_encoder_create_map(&encoder, &mapEncoder, 1);
- * cbor_encode_text_stringz(&mapEncoder, "foo");
- * cbor_encode_boolean(&mapEncoder, some_value);
- * cbor_encoder_close_container(&encoder, &mapEncoder);
- * \endcode
- *
- * <h3 class="groupheader">Error checking and buffer size</h2>
- *
- * All functions operating on CborEncoder return a condition of type CborError.
- * If the encoding was successful, they return CborNoError. Some functions do
- * extra checking on the input provided and may return some other error
- * conditions (for example, cbor_encode_simple_value() checks that the type is
- * of the correct type).
- *
- * In addition, all functions check whether the buffer has enough bytes to
- * encode the item being appended. If that is not possible, they return
- * CborErrorOutOfMemory.
- *
- * It is possible to continue with the encoding of data past the first function
- * that returns CborErrorOutOfMemory. CborEncoder functions will not overrun
- * the buffer, but will instead count how many more bytes are needed to
- * complete the encoding. At the end, you can obtain that count by calling
- * cbor_encoder_get_extra_bytes_needed().
- *
- * \section1 Finalizing the encoding
- *
- * Once all items have been appended and the containers have all been properly
- * closed, the user-supplied buffer will contain the CBOR stream and may be
- * immediately used. To obtain the size of the buffer, call
- * cbor_encoder_get_buffer_size() with the original buffer pointer.
- *
- * The example below illustrates how one can encode an item with error checking
- * and then pass on the buffer for network sending.
- *
- * \code
- * uint8_t buf[16];
- * CborError err;
- * CborEncoder encoder, mapEncoder;
- * cbor_encoder_init(&encoder, &buf, sizeof(buf), 0);
- * err = cbor_encoder_create_map(&encoder, &mapEncoder, 1);
- * if (!err)
- * return err;
- * err = cbor_encode_text_stringz(&mapEncoder, "foo");
- * if (!err)
- * return err;
- * err = cbor_encode_boolean(&mapEncoder, some_value);
- * if (!err)
- * return err;
- * err = cbor_encoder_close_container_checked(&encoder, &mapEncoder);
- * if (!err)
- * return err;
- *
- * size_t len = cbor_encoder_get_buffer_size(&encoder, buf);
- * send_payload(buf, len);
- * return CborNoError;
- * \endcode
- *
- * Finally, the example below illustrates expands on the one above and also
- * deals with dynamically growing the buffer if the initial allocation wasn't
- * big enough. Note the two places where the error checking was replaced with
- * an assertion, showing where the author assumes no error can occur.
- *
- * \code
- * uint8_t *encode_string_array(const char **strings, int n, size_t *bufsize)
- * {
- * CborError err;
- * CborEncoder encoder, arrayEncoder;
- * size_t size = 256;
- * uint8_t *buf = NULL;
- *
- * while (1) {
- * int i;
- * size_t more_bytes;
- * uint8_t *nbuf = realloc(buf, size);
- * if (nbuf == NULL)
- * goto error;
- * buf = nbuf;
- *
- * cbor_encoder_init(&encoder, &buf, size, 0);
- * err = cbor_encoder_create_array(&encoder, &arrayEncoder, n);
- * assert(err); // can't fail, the buffer is always big enough
- *
- * for (i = 0; i < n; ++i) {
- * err = cbor_encode_text_stringz(&arrayEncoder, strings[i]);
- * if (err && err != CborErrorOutOfMemory)
- * goto error;
- * }
- *
- * err = cbor_encoder_close_container_checked(&encoder, &arrayEncoder);
- * assert(err); // shouldn't fail!
- *
- * more_bytes = cbor_encoder_get_extra_bytes_needed(encoder);
- * if (more_size) {
- * // buffer wasn't big enough, try again
- * size += more_bytes;
- * continue;
- * }
- *
- * *bufsize = cbor_encoder_get_buffer_size(encoder, buf);
- * return buf;
- * }
- * error:
- * free(buf);
- * return NULL;
- * }
- * \endcode
- */
-
-/**
- * \addtogroup CborEncoding
- * @{
- */
-
-/**
- * \struct CborEncoder
- * Structure used to encode to CBOR.
- */
-
-/**
- * Initializes a CborEncoder structure \a encoder by pointing it to buffer \a
- * buffer of size \a size. The \a flags field is currently unused and must be
- * zero.
- */
-void cbor_encoder_init(CborEncoder *encoder, uint8_t *buffer, size_t size, int flags)
-{
- encoder->ptr = buffer;
- encoder->end = buffer + size;
- encoder->added = 0;
- encoder->flags = flags;
-}
-
-static inline void put16(void *where, uint16_t v)
-{
- v = cbor_htons(v);
- memcpy(where, &v, sizeof(v));
-}
-
-/* Note: Since this is currently only used in situations where OOM is the only
- * valid error, we KNOW this to be true. Thus, this function now returns just 'true',
- * but if in the future, any function starts returning a non-OOM error, this will need
- * to be changed to the test. At the moment, this is done to prevent more branches
- * being created in the tinycbor output */
-static inline bool isOomError(CborError err)
-{
- (void) err;
- return true;
-}
-
-static inline void put32(void *where, uint32_t v)
-{
- v = cbor_htonl(v);
- memcpy(where, &v, sizeof(v));
-}
-
-static inline void put64(void *where, uint64_t v)
-{
- v = cbor_htonll(v);
- memcpy(where, &v, sizeof(v));
-}
-
-static inline bool would_overflow(CborEncoder *encoder, size_t len)
-{
- ptrdiff_t remaining = (ptrdiff_t)encoder->end;
- remaining -= remaining ? (ptrdiff_t)encoder->ptr : encoder->bytes_needed;
- remaining -= (ptrdiff_t)len;
- return unlikely(remaining < 0);
-}
-
-static inline void advance_ptr(CborEncoder *encoder, size_t n)
-{
- if (encoder->end)
- encoder->ptr += n;
- else
- encoder->bytes_needed += n;
-}
-
-static inline CborError append_to_buffer(CborEncoder *encoder, const void *data, size_t len)
-{
- if (would_overflow(encoder, len)) {
- if (encoder->end != NULL) {
- len -= encoder->end - encoder->ptr;
- encoder->end = NULL;
- encoder->bytes_needed = 0;
- }
-
- advance_ptr(encoder, len);
- return CborErrorOutOfMemory;
- }
-
- memcpy(encoder->ptr, data, len);
- encoder->ptr += len;
- return CborNoError;
-}
-
-static inline CborError append_byte_to_buffer(CborEncoder *encoder, uint8_t byte)
-{
- return append_to_buffer(encoder, &byte, 1);
-}
-
-static inline CborError encode_number_no_update(CborEncoder *encoder, uint64_t ui, uint8_t shiftedMajorType)
-{
- /* Little-endian would have been so much more convenient here:
- * We could just write at the beginning of buf but append_to_buffer
- * only the necessary bytes.
- * Since it has to be big endian, do it the other way around:
- * write from the end. */
- uint64_t buf[2];
- uint8_t *const bufend = (uint8_t *)buf + sizeof(buf);
- uint8_t *bufstart = bufend - 1;
- put64(buf + 1, ui); /* we probably have a bunch of zeros in the beginning */
-
- if (ui < Value8Bit) {
- *bufstart += shiftedMajorType;
- } else {
- unsigned more = 0;
- if (ui > 0xffU)
- ++more;
- if (ui > 0xffffU)
- ++more;
- if (ui > 0xffffffffU)
- ++more;
- bufstart -= (size_t)1 << more;
- *bufstart = shiftedMajorType + Value8Bit + more;
- }
-
- return append_to_buffer(encoder, bufstart, bufend - bufstart);
-}
-
-static inline CborError encode_number(CborEncoder *encoder, uint64_t ui, uint8_t shiftedMajorType)
-{
- ++encoder->added;
- return encode_number_no_update(encoder, ui, shiftedMajorType);
-}
-
-/**
- * Appends the unsigned 64-bit integer \a value to the CBOR stream provided by
- * \a encoder.
- *
- * \sa cbor_encode_negative_int, cbor_encode_int
- */
-CborError cbor_encode_uint(CborEncoder *encoder, uint64_t value)
-{
- return encode_number(encoder, value, UnsignedIntegerType << MajorTypeShift);
-}
-
-/**
- * Appends the negative 64-bit integer whose absolute value is \a
- * absolute_value to the CBOR stream provided by \a encoder.
- *
- * \sa cbor_encode_uint, cbor_encode_int
- */
-CborError cbor_encode_negative_int(CborEncoder *encoder, uint64_t absolute_value)
-{
- return encode_number(encoder, absolute_value, NegativeIntegerType << MajorTypeShift);
-}
-
-/**
- * Appends the signed 64-bit integer \a value to the CBOR stream provided by
- * \a encoder.
- *
- * \sa cbor_encode_negative_int, cbor_encode_uint
- */
-CborError cbor_encode_int(CborEncoder *encoder, int64_t value)
-{
- /* adapted from code in RFC 7049 appendix C (pseudocode) */
- uint64_t ui = value >> 63; /* extend sign to whole length */
- uint8_t majorType = ui & 0x20; /* extract major type */
- ui ^= value; /* complement negatives */
- return encode_number(encoder, ui, majorType);
-}
-
-/**
- * Appends the CBOR Simple Type of value \a value to the CBOR stream provided by
- * \a encoder.
- *
- * This function may return error CborErrorIllegalSimpleType if the \a value
- * variable contains a number that is not a valid simple type.
- */
-CborError cbor_encode_simple_value(CborEncoder *encoder, uint8_t value)
-{
-#ifndef CBOR_ENCODER_NO_CHECK_USER
- /* check if this is a valid simple type */
- if (value >= HalfPrecisionFloat && value <= Break)
- return CborErrorIllegalSimpleType;
-#endif
- return encode_number(encoder, value, SimpleTypesType << MajorTypeShift);
-}
-
-/**
- * Appends the floating-point value of type \a fpType and pointed to by \a
- * value to the CBOR stream provided by \a encoder. The value of \a fpType must
- * be one of CborHalfFloatType, CborFloatType or CborDoubleType, otherwise the
- * behavior of this function is undefined.
- *
- * This function is useful for code that needs to pass through floating point
- * values but does not wish to have the actual floating-point code.
- *
- * \sa cbor_encode_half_float, cbor_encode_float, cbor_encode_double
- */
-CborError cbor_encode_floating_point(CborEncoder *encoder, CborType fpType, const void *value)
-{
- uint8_t buf[1 + sizeof(uint64_t)];
- assert(fpType == CborHalfFloatType || fpType == CborFloatType || fpType == CborDoubleType);
- buf[0] = fpType;
-
- unsigned size = 2U << (fpType - CborHalfFloatType);
- if (size == 8)
- put64(buf + 1, *(const uint64_t*)value);
- else if (size == 4)
- put32(buf + 1, *(const uint32_t*)value);
- else
- put16(buf + 1, *(const uint16_t*)value);
- ++encoder->added;
- return append_to_buffer(encoder, buf, size + 1);
-}
-
-/**
- * Appends the CBOR tag \a tag to the CBOR stream provided by \a encoder.
- *
- * \sa CborTag
- */
-CborError cbor_encode_tag(CborEncoder *encoder, CborTag tag)
-{
- /* tags don't count towards the number of elements in an array or map */
- return encode_number_no_update(encoder, tag, TagType << MajorTypeShift);
-}
-
-static CborError encode_string(CborEncoder *encoder, size_t length, uint8_t shiftedMajorType, const void *string)
-{
- CborError err = encode_number(encoder, length, shiftedMajorType);
- if (err && !isOomError(err))
- return err;
- return append_to_buffer(encoder, string, length);
-}
-
-/**
- * \fn CborError cbor_encode_text_stringz(CborEncoder *encoder, const char *string)
- *
- * Appends the null-terminated text string \a string to the CBOR stream
- * provided by \a encoder. CBOR requires that \a string be valid UTF-8, but
- * TinyCBOR makes no verification of correctness. The terminating null is not
- * included in the stream.
- *
- * \sa cbor_encode_text_string, cbor_encode_byte_string
- */
-
-/**
- * Appends the text string \a string of length \a length to the CBOR stream
- * provided by \a encoder. CBOR requires that \a string be valid UTF-8, but
- * TinyCBOR makes no verification of correctness.
- *
- * \sa CborError cbor_encode_text_stringz, cbor_encode_byte_string
- */
-CborError cbor_encode_byte_string(CborEncoder *encoder, const uint8_t *string, size_t length)
-{
- return encode_string(encoder, length, ByteStringType << MajorTypeShift, string);
-}
-
-/**
- * Appends the byte string \a string of length \a length to the CBOR stream
- * provided by \a encoder. CBOR byte strings are arbitrary raw data.
- *
- * \sa cbor_encode_text_stringz, cbor_encode_text_string
- */
-CborError cbor_encode_text_string(CborEncoder *encoder, const char *string, size_t length)
-{
- return encode_string(encoder, length, TextStringType << MajorTypeShift, string);
-}
-
-#ifdef __GNUC__
-__attribute__((noinline))
-#endif
-static CborError create_container(CborEncoder *encoder, CborEncoder *container, size_t length, uint8_t shiftedMajorType)
-{
- CborError err;
- container->ptr = encoder->ptr;
- container->end = encoder->end;
- ++encoder->added;
- container->added = 0;
-
- cbor_static_assert(((MapType << MajorTypeShift) & CborIteratorFlag_ContainerIsMap) == CborIteratorFlag_ContainerIsMap);
- cbor_static_assert(((ArrayType << MajorTypeShift) & CborIteratorFlag_ContainerIsMap) == 0);
- container->flags = shiftedMajorType & CborIteratorFlag_ContainerIsMap;
-
- if (length == CborIndefiniteLength) {
- container->flags |= CborIteratorFlag_UnknownLength;
- err = append_byte_to_buffer(container, shiftedMajorType + IndefiniteLength);
- } else {
- err = encode_number_no_update(container, length, shiftedMajorType);
- }
- if (err && !isOomError(err))
- return err;
-
- return CborNoError;
-}
-
-/**
- * Creates a CBOR array in the CBOR stream provided by \a encoder and
- * initializes \a arrayEncoder so that items can be added to the array using
- * the CborEncoder functions. The array must be terminated by calling either
- * cbor_encoder_close_container() or cbor_encoder_close_container_checked()
- * with the same \a encoder and \a arrayEncoder parameters.
- *
- * The number of items inserted into the array must be exactly \a length items,
- * otherwise the stream is invalid. If the number of items is not known when
- * creating the array, the constant \ref CborIndefiniteLength may be passed as
- * length instead.
- *
- * \sa cbor_encoder_create_map
- */
-CborError cbor_encoder_create_array(CborEncoder *encoder, CborEncoder *arrayEncoder, size_t length)
-{
- return create_container(encoder, arrayEncoder, length, ArrayType << MajorTypeShift);
-}
-
-/**
- * Creates a CBOR map in the CBOR stream provided by \a encoder and
- * initializes \a mapEncoder so that items can be added to the map using
- * the CborEncoder functions. The map must be terminated by calling either
- * cbor_encoder_close_container() or cbor_encoder_close_container_checked()
- * with the same \a encoder and \a mapEncoder parameters.
- *
- * The number of pair of items inserted into the map must be exactly \a length
- * items, otherwise the stream is invalid. If the number of items is not known
- * when creating the map, the constant \ref CborIndefiniteLength may be passed as
- * length instead.
- *
- * \b{Implementation limitation:} TinyCBOR cannot encode more than SIZE_MAX/2
- * key-value pairs in the stream. If the length \a length is larger than this
- * value, this function returns error CborErrorDataTooLarge.
- *
- * \sa cbor_encoder_create_array
- */
-CborError cbor_encoder_create_map(CborEncoder *encoder, CborEncoder *mapEncoder, size_t length)
-{
- if (length != CborIndefiniteLength && length > SIZE_MAX / 2)
- return CborErrorDataTooLarge;
- return create_container(encoder, mapEncoder, length, MapType << MajorTypeShift);
-}
-
-/**
- * Closes the CBOR container (array or map) provided by \a containerEncoder and
- * updates the CBOR stream provided by \a encoder. Both parameters must be the
- * same as were passed to cbor_encoder_create_array() or
- * cbor_encoder_create_map().
- *
- * This function does not verify that the number of items (or pair of items, in
- * the case of a map) was correct. To execute that verification, call
- * cbor_encoder_close_container_checked() instead.
- *
- * \sa cbor_encoder_create_array(), cbor_encoder_create_map()
- */
-CborError cbor_encoder_close_container(CborEncoder *encoder, const CborEncoder *containerEncoder)
-{
- if (encoder->end)
- encoder->ptr = containerEncoder->ptr;
- else
- encoder->bytes_needed = containerEncoder->bytes_needed;
- encoder->end = containerEncoder->end;
- if (containerEncoder->flags & CborIteratorFlag_UnknownLength)
- return append_byte_to_buffer(encoder, BreakByte);
- return CborNoError;
-}
-
-/**
- * \fn CborError cbor_encode_boolean(CborEncoder *encoder, bool value)
- *
- * Appends the boolean value \a value to the CBOR stream provided by \a encoder.
- */
-
-/**
- * \fn CborError cbor_encode_null(CborEncoder *encoder)
- *
- * Appends the CBOR type representing a null value to the CBOR stream provided
- * by \a encoder.
- *
- * \sa cbor_encode_undefined()
- */
-
-/**
- * \fn CborError cbor_encode_undefined(CborEncoder *encoder)
- *
- * Appends the CBOR type representing an undefined value to the CBOR stream
- * provided by \a encoder.
- *
- * \sa cbor_encode_null()
- */
-
-/**
- * \fn CborError cbor_encode_half_float(CborEncoder *encoder, const void *value)
- *
- * Appends the IEEE 754 half-precision (16-bit) floating point value pointed to
- * by \a value to the CBOR stream provided by \a encoder.
- *
- * \sa cbor_encode_floating_point(), cbor_encode_float(), cbor_encode_double()
- */
-
-/**
- * \fn CborError cbor_encode_float(CborEncoder *encoder, float value)
- *
- * Appends the IEEE 754 single-precision (32-bit) floating point value \a value
- * to the CBOR stream provided by \a encoder.
- *
- * \sa cbor_encode_floating_point(), cbor_encode_half_float(), cbor_encode_double()
- */
-
-/**
- * \fn CborError cbor_encode_double(CborEncoder *encoder, double value)
- *
- * Appends the IEEE 754 double-precision (64-bit) floating point value \a value
- * to the CBOR stream provided by \a encoder.
- *
- * \sa cbor_encode_floating_point(), cbor_encode_half_float(), cbor_encode_float()
- */
-
-/**
- * \fn size_t cbor_encoder_get_buffer_size(const CborEncoder *encoder, const uint8_t *buffer)
- *
- * Returns the total size of the buffer starting at \a buffer after the
- * encoding finished without errors. The \a encoder and \a buffer arguments
- * must be the same as supplied to cbor_encoder_init().
- *
- * If the encoding process had errors, the return value of this function is
- * meaningless. If the only errors were CborErrorOutOfMemory, instead use
- * cbor_encoder_get_extra_bytes_needed() to find out by how much to grow the
- * buffer before encoding again.
- *
- * See \ref CborEncoding for an example of using this function.
- *
- * \sa cbor_encoder_init(), cbor_encoder_get_extra_bytes_needed(), CborEncoding
- */
-
-/**
- * \fn size_t cbor_encoder_get_extra_bytes_needed(const CborEncoder *encoder)
- *
- * Returns how many more bytes the original buffer supplied to
- * cbor_encoder_init() needs to be extended by so that no CborErrorOutOfMemory
- * condition will happen for the encoding. If the buffer was big enough, this
- * function returns 0. The \a encoder must be the original argument as passed
- * to cbor_encoder_init().
- *
- * This function is usually called after an encoding sequence ended with one or
- * more CborErrorOutOfMemory errors, but no other error. If any other error
- * happened, the return value of this function is meaningless.
- *
- * See \ref CborEncoding for an example of using this function.
- *
- * \sa cbor_encoder_init(), cbor_encoder_get_buffer_size(), CborEncoding
- */
-
-/** @} */
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/src/cborencoder_close_container_checked.c
----------------------------------------------------------------------
diff --git a/libs/tinycbor/src/cborencoder_close_container_checked.c b/libs/tinycbor/src/cborencoder_close_container_checked.c
deleted file mode 100644
index cad8335..0000000
--- a/libs/tinycbor/src/cborencoder_close_container_checked.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#define _BSD_SOURCE 1
-#define _DEFAULT_SOURCE 1
-#ifndef __STDC_LIMIT_MACROS
-# define __STDC_LIMIT_MACROS 1
-#endif
-
-#include "cbor.h"
-#include "cborconstants_p.h"
-#include "compilersupport_p.h"
-#include "extract_number_p.h"
-
-#include <assert.h>
-
-#include "assert_p.h" /* Always include last */
-
-/**
- * \addtogroup CborEncoding
- * @{
- */
-
-/**
- *
- * Closes the CBOR container (array or map) provided by \a containerEncoder and
- * updates the CBOR stream provided by \a encoder. Both parameters must be the
- * same as were passed to cbor_encoder_create_array() or
- * cbor_encoder_create_map().
- *
- * Unlike cbor_encoder_close_container(), this function checks that the number
- * of items (or pair of items, in the case of a map) was correct. If the number
- * of items inserted does not match the length originally passed to
- * cbor_encoder_create_array() or cbor_encoder_create_map(), this function
- * returns either CborErrorTooFewItems or CborErrorTooManyItems.
- *
- * \sa cbor_encoder_create_array(), cbor_encoder_create_map()
- */
-CborError cbor_encoder_close_container_checked(CborEncoder *encoder, const CborEncoder *containerEncoder)
-{
- const uint8_t *ptr = encoder->ptr;
- CborError err = cbor_encoder_close_container(encoder, containerEncoder);
- if (containerEncoder->flags & CborIteratorFlag_UnknownLength || encoder->end == NULL)
- return err;
-
- /* check what the original length was */
- uint64_t actually_added;
- err = extract_number(&ptr, encoder->ptr, &actually_added);
- if (err)
- return err;
-
- if (containerEncoder->flags & CborIteratorFlag_ContainerIsMap) {
- if (actually_added > SIZE_MAX / 2)
- return CborErrorDataTooLarge;
- actually_added *= 2;
- }
- return actually_added == containerEncoder->added ? CborNoError :
- actually_added < containerEncoder->added ? CborErrorTooManyItems : CborErrorTooFewItems;
-}
-
-/** @} */
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/6a7432f4/libs/tinycbor/src/cborerrorstrings.c
----------------------------------------------------------------------
diff --git a/libs/tinycbor/src/cborerrorstrings.c b/libs/tinycbor/src/cborerrorstrings.c
deleted file mode 100644
index d2fe42f..0000000
--- a/libs/tinycbor/src/cborerrorstrings.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Intel Corporation
-**
-** Permission is hereby granted, free of charge, to any person obtaining a copy
-** of this software and associated documentation files (the "Software"), to deal
-** in the Software without restriction, including without limitation the rights
-** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-** copies of the Software, and to permit persons to whom the Software is
-** furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Software.
-**
-** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-** THE SOFTWARE.
-**
-****************************************************************************/
-
-#include "cbor.h"
-
-#ifndef _
-# define _(msg) msg
-#endif
-
-/**
- * \enum CborError
- * \ingroup CborGlobals
- * The CborError enum contains the possible error values used by the CBOR encoder and decoder.
- *
- * TinyCBOR functions report success by returning CborNoError, or one error
- * condition by returning one of the values below. One exception is the
- * out-of-memory condition (CborErrorOutOfMemory), which the functions for \ref
- * CborEncoding may report in bit-wise OR with other conditions.
- *
- * This technique allows code to determine whether the only error condition was
- * a lack of buffer space, which may not be a fatal condition if the buffer can
- * be resized. Additionally, the functions for \ref CborEncoding may continue
- * to be used even after CborErrorOutOfMemory is returned, and instead they
- * will simply calculate the extra space needed.
- *
- * \value CborNoError No error occurred
- * \omitvalue CborUnknownError
- * \value CborErrorUnknownLength Request for the length of an array, map or string whose length is not provided in the CBOR stream
- * \value CborErrorAdvancePastEOF Not enough data in the stream to decode item (decoding would advance past end of stream)
- * \value CborErrorIO An I/O error occurred, probably due to an out-of-memory situation
- * \value CborErrorGarbageAtEnd Bytes exist past the end of the CBOR stream
- * \value CborErrorUnexpectedEOF End of stream reached unexpectedly
- * \value CborErrorUnexpectedBreak A CBOR break byte was found where not expected
- * \value CborErrorUnknownType An unknown type (future extension to CBOR) was found in the stream
- * \value CborErrorIllegalType An invalid type was found while parsing a chunked CBOR string
- * \value CborErrorIllegalNumber An illegal initial byte (encoding unspecified additional information) was found
- * \value CborErrorIllegalSimpleType An illegal encoding of a CBOR Simple Type of value less than 32 was found
- * \omitvalue CborErrorUnknownSimpleType
- * \omitvalue CborErrorUnknownTag
- * \omitvalue CborErrorInappropriateTagForType
- * \omitvalue CborErrorDuplicateObjectKeys
- * \value CborErrorInvalidUtf8TextString Illegal UTF-8 encoding found while parsing CBOR Text String
- * \value CborErrorTooManyItems Too many items were added to CBOR map or array of pre-determined length
- * \value CborErrorTooFewItems Too few items were added to CBOR map or array of pre-determeined length
- * \value CborErrorDataTooLarge Data item size exceeds TinyCBOR's implementation limits
- * \value CborErrorNestingTooDeep Data item nesting exceeds TinyCBOR's implementation limits
- * \omitvalue CborErrorUnsupportedType
- * \value CborErrorJsonObjectKeyIsAggregate Conversion to JSON failed because the key in a map is a CBOR map or array
- * \value CborErrorJsonObjectKeyNotString Conversion to JSON failed because the key in a map is not a text string
- * \value CborErrorOutOfMemory During CBOR encoding, the buffer provided is insufficient for encoding the data item;
- * in other situations, TinyCBOR failed to allocate memory
- * \value CborErrorInternalError An internal error occurred in TinyCBOR
- */
-
-/**
- * \ingroup CborGlobals
- * Returns the error string corresponding to the CBOR error condition \a error.
- */
-const char *cbor_error_string(CborError error)
-{
- switch (error) {
- case CborNoError:
- return "";
-
- case CborUnknownError:
- return _("unknown error");
-
- case CborErrorOutOfMemory:
- return _("out of memory/need more memory");
-
- case CborErrorUnknownLength:
- return _("unknown length (attempted to get the length of a map/array/string of indeterminate length");
-
- case CborErrorAdvancePastEOF:
- return _("attempted to advance past EOF");
-
- case CborErrorIO:
- return _("I/O error");
-
- case CborErrorGarbageAtEnd:
- return _("garbage after the end of the content");
-
- case CborErrorUnexpectedEOF:
- return _("unexpected end of data");
-
- case CborErrorUnexpectedBreak:
- return _("unexpected 'break' byte");
-
- case CborErrorUnknownType:
- return _("illegal byte (encodes future extension type)");
-
- case CborErrorIllegalType:
- return _("mismatched string type in chunked string");
-
- case CborErrorIllegalNumber:
- return _("illegal initial byte (encodes unspecified additional information)");
-
- case CborErrorIllegalSimpleType:
- return _("illegal encoding of simple type smaller than 32");
-
- case CborErrorUnknownSimpleType:
- return _("unknown simple type");
-
- case CborErrorUnknownTag:
- return _("unknown tag");
-
- case CborErrorInappropriateTagForType:
- return _("inappropriate tag for type");
-
- case CborErrorDuplicateObjectKeys:
- return _("duplicate keys in object");
-
- case CborErrorInvalidUtf8TextString:
- return _("invalid UTF-8 content in string");
-
- case CborErrorTooManyItems:
- return _("too many items added to encoder");
-
- case CborErrorTooFewItems:
- return _("too few items added to encoder");
-
- case CborErrorDataTooLarge:
- return _("internal error: data too large");
-
- case CborErrorNestingTooDeep:
- return _("internal error: too many nested containers found in recursive function");
-
- case CborErrorUnsupportedType:
- return _("unsupported type");
-
- case CborErrorJsonObjectKeyIsAggregate:
- return _("conversion to JSON failed: key in object is an array or map");
-
- case CborErrorJsonObjectKeyNotString:
- return _("conversion to JSON failed: key in object is not a string");
-
- case CborErrorJsonNotImplemented:
- return _("conversion to JSON failed: open_memstream unavailable");
-
- case CborErrorInternalError:
- return _("internal error");
- }
- return cbor_error_string(CborUnknownError);
-}