You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2016/09/19 19:06:41 UTC

incubator-mynewt-core git commit: newtmgr; move default handlers to separate package.

Repository: incubator-mynewt-core
Updated Branches:
  refs/heads/develop 9317ddb1e -> 7dc40e7af


newtmgr; move default handlers to separate package.


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/7dc40e7a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/7dc40e7a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/7dc40e7a

Branch: refs/heads/develop
Commit: 7dc40e7af58fa27d074198af528f20a653ab8a36
Parents: 9317ddb
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Mon Sep 19 12:04:30 2016 -0700
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Mon Sep 19 12:05:28 2016 -0700

----------------------------------------------------------------------
 libs/newtmgr/include/newtmgr/newtmgr_priv.h |  24 ++
 libs/newtmgr/os/include/nmgr_os/nmgr_os.h   |  25 ++
 libs/newtmgr/os/pkg.yml                     |  36 +++
 libs/newtmgr/os/src/newtmgr_os.c            | 327 +++++++++++++++++++++++
 libs/newtmgr/pkg.yml                        |   1 +
 libs/newtmgr/src/newtmgr.c                  | 100 +------
 libs/newtmgr/src/newtmgr_os.c               | 236 ----------------
 libs/newtmgr/src/newtmgr_priv.h             |  31 ---
 8 files changed, 416 insertions(+), 364 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/include/newtmgr/newtmgr_priv.h
----------------------------------------------------------------------
diff --git a/libs/newtmgr/include/newtmgr/newtmgr_priv.h b/libs/newtmgr/include/newtmgr/newtmgr_priv.h
new file mode 100644
index 0000000..7217711
--- /dev/null
+++ b/libs/newtmgr/include/newtmgr/newtmgr_priv.h
@@ -0,0 +1,24 @@
+/**
+ * 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 __NETMGR_PRIV_H_
+#define __NETMGR_PRIV_H_
+
+extern struct os_eventq g_nmgr_evq;
+
+#endif

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/os/include/nmgr_os/nmgr_os.h
----------------------------------------------------------------------
diff --git a/libs/newtmgr/os/include/nmgr_os/nmgr_os.h b/libs/newtmgr/os/include/nmgr_os/nmgr_os.h
new file mode 100644
index 0000000..2c89237
--- /dev/null
+++ b/libs/newtmgr/os/include/nmgr_os/nmgr_os.h
@@ -0,0 +1,25 @@
+/**
+ * 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 _NMGR_OS_H_
+#define _NMGR_OS_H_
+
+int nmgr_os_groups_register(void);
+
+#endif /* _NMGR_OS_H_ */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/os/pkg.yml
----------------------------------------------------------------------
diff --git a/libs/newtmgr/os/pkg.yml b/libs/newtmgr/os/pkg.yml
new file mode 100644
index 0000000..4260849
--- /dev/null
+++ b/libs/newtmgr/os/pkg.yml
@@ -0,0 +1,36 @@
+#
+# 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/newtmgr/os
+pkg.description: Default newtmgr command.
+pkg.author: "Apache Mynewt <de...@mynewt.incubator.apache.org>"
+pkg.homepage: "http://mynewt.apache.org/"
+pkg.keywords:
+
+pkg.deps:
+    - hw/hal
+    - libs/os
+    - libs/json
+    - libs/util
+    - libs/testutil
+    - libs/newtmgr
+    - sys/reboot
+
+pkg.reqs:
+    - console

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/os/src/newtmgr_os.c
----------------------------------------------------------------------
diff --git a/libs/newtmgr/os/src/newtmgr_os.c b/libs/newtmgr/os/src/newtmgr_os.c
new file mode 100644
index 0000000..88b6553
--- /dev/null
+++ b/libs/newtmgr/os/src/newtmgr_os.c
@@ -0,0 +1,327 @@
+/**
+ * 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 <os/os.h>
+#include <os/endian.h>
+
+#include <assert.h>
+#include <string.h>
+
+#include <hal/hal_system.h>
+
+#include <newtmgr/newtmgr.h>
+#include <newtmgr/newtmgr_priv.h>
+
+#include <console/console.h>
+#include <util/datetime.h>
+#include <reboot/log_reboot.h>
+
+static struct os_callout_func nmgr_reset_callout;
+
+static int nmgr_def_echo(struct nmgr_jbuf *);
+static int nmgr_def_console_echo(struct nmgr_jbuf *);
+static int nmgr_def_taskstat_read(struct nmgr_jbuf *njb);
+static int nmgr_def_mpstat_read(struct nmgr_jbuf *njb);
+static int nmgr_datetime_get(struct nmgr_jbuf *njb);
+static int nmgr_datetime_set(struct nmgr_jbuf *njb);
+static int nmgr_reset(struct nmgr_jbuf *njb);
+
+static const struct nmgr_handler nmgr_def_group_handlers[] = {
+    [NMGR_ID_ECHO] = {
+        nmgr_def_echo, nmgr_def_echo
+    },
+    [NMGR_ID_CONS_ECHO_CTRL] = {
+        nmgr_def_console_echo, nmgr_def_console_echo
+    },
+    [NMGR_ID_TASKSTATS] = {
+        nmgr_def_taskstat_read, NULL
+    },
+    [NMGR_ID_MPSTATS] = {
+        nmgr_def_mpstat_read, NULL
+    },
+    [NMGR_ID_DATETIME_STR] = {
+        nmgr_datetime_get, nmgr_datetime_set
+    },
+    [NMGR_ID_RESET] = {
+        NULL, nmgr_reset
+    },
+};
+
+#define NMGR_DEF_GROUP_SZ                                               \
+    (sizeof(nmgr_def_group_handlers) / sizeof(nmgr_def_group_handlers[0]))
+
+static struct nmgr_group nmgr_def_group = {
+    .ng_handlers = (struct nmgr_handler *)nmgr_def_group_handlers,
+    .ng_handlers_count = NMGR_DEF_GROUP_SZ,
+    .ng_group_id = NMGR_GROUP_ID_DEFAULT
+};
+
+static int
+nmgr_def_echo(struct nmgr_jbuf *njb)
+{
+    uint8_t echo_buf[128];
+    struct json_attr_t attrs[] = {
+        { "d", t_string, .addr.string = (char *) &echo_buf[0],
+            .len = sizeof(echo_buf) },
+        { NULL },
+    };
+    struct json_value jv;
+    int rc;
+
+    rc = json_read_object((struct json_buffer *) njb, attrs);
+    if (rc != 0) {
+        goto err;
+    }
+
+    json_encode_object_start(&njb->njb_enc);
+    JSON_VALUE_STRINGN(&jv, (char *) echo_buf, strlen((char *) echo_buf));
+    json_encode_object_entry(&njb->njb_enc, "r", &jv);
+    json_encode_object_finish(&njb->njb_enc);
+
+    return (0);
+err:
+    return (rc);
+}
+
+static int
+nmgr_def_console_echo(struct nmgr_jbuf *njb)
+{
+    long long int echo_on = 1;
+    int rc;
+    struct json_attr_t attrs[3] = {
+        [0] = {
+            .attribute = "echo",
+            .type = t_integer,
+            .addr.integer = &echo_on,
+            .nodefault = 1
+        },
+        [1] = {
+            .attribute = NULL
+        }
+    };
+
+    rc = json_read_object(&njb->njb_buf, attrs);
+    if (rc) {
+        return OS_EINVAL;
+    }
+
+    if (echo_on) {
+        console_echo(1);
+    } else {
+        console_echo(0);
+    }
+    return (0);
+}
+
+static int
+nmgr_def_taskstat_read(struct nmgr_jbuf *njb)
+{
+    struct os_task *prev_task;
+    struct os_task_info oti;
+    struct json_value jv;
+
+    json_encode_object_start(&njb->njb_enc);
+    JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
+    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
+
+    json_encode_object_key(&njb->njb_enc, "tasks");
+    json_encode_object_start(&njb->njb_enc);
+
+    prev_task = NULL;
+    while (1) {
+        prev_task = os_task_info_get_next(prev_task, &oti);
+        if (prev_task == NULL) {
+            break;
+        }
+
+        json_encode_object_key(&njb->njb_enc, oti.oti_name);
+
+        json_encode_object_start(&njb->njb_enc);
+        JSON_VALUE_UINT(&jv, oti.oti_prio);
+        json_encode_object_entry(&njb->njb_enc, "prio", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_taskid);
+        json_encode_object_entry(&njb->njb_enc, "tid", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_state);
+        json_encode_object_entry(&njb->njb_enc, "state", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_stkusage);
+        json_encode_object_entry(&njb->njb_enc, "stkuse", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_stksize);
+        json_encode_object_entry(&njb->njb_enc, "stksiz", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_cswcnt);
+        json_encode_object_entry(&njb->njb_enc, "cswcnt", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_runtime);
+        json_encode_object_entry(&njb->njb_enc, "runtime", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_last_checkin);
+        json_encode_object_entry(&njb->njb_enc, "last_checkin", &jv);
+        JSON_VALUE_UINT(&jv, oti.oti_next_checkin);
+        json_encode_object_entry(&njb->njb_enc, "next_checkin", &jv);
+        json_encode_object_finish(&njb->njb_enc);
+    }
+    json_encode_object_finish(&njb->njb_enc);
+    json_encode_object_finish(&njb->njb_enc);
+
+    return (0);
+}
+
+static int
+nmgr_def_mpstat_read(struct nmgr_jbuf *njb)
+{
+    struct os_mempool *prev_mp;
+    struct os_mempool_info omi;
+    struct json_value jv;
+
+    json_encode_object_start(&njb->njb_enc);
+    JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
+    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
+
+    json_encode_object_key(&njb->njb_enc, "mpools");
+    json_encode_object_start(&njb->njb_enc);
+
+    prev_mp = NULL;
+    while (1) {
+        prev_mp = os_mempool_info_get_next(prev_mp, &omi);
+        if (prev_mp == NULL) {
+            break;
+        }
+
+        json_encode_object_key(&njb->njb_enc, omi.omi_name);
+
+        json_encode_object_start(&njb->njb_enc);
+        JSON_VALUE_UINT(&jv, omi.omi_block_size);
+        json_encode_object_entry(&njb->njb_enc, "blksiz", &jv);
+        JSON_VALUE_UINT(&jv, omi.omi_num_blocks);
+        json_encode_object_entry(&njb->njb_enc, "nblks", &jv);
+        JSON_VALUE_UINT(&jv, omi.omi_num_free);
+        json_encode_object_entry(&njb->njb_enc, "nfree", &jv);
+        json_encode_object_finish(&njb->njb_enc);
+    }
+
+    json_encode_object_finish(&njb->njb_enc);
+    json_encode_object_finish(&njb->njb_enc);
+
+    return (0);
+}
+
+static int
+nmgr_datetime_get(struct nmgr_jbuf *njb)
+{
+    struct os_timeval tv;
+    struct os_timezone tz;
+    char buf[DATETIME_BUFSIZE];
+    struct json_value jv;
+    int rc;
+
+    json_encode_object_start(&njb->njb_enc);
+    JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
+    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
+
+    /* Display the current datetime */
+    rc = os_gettimeofday(&tv, &tz);
+    assert(rc == 0);
+    rc = format_datetime(&tv, &tz, buf, DATETIME_BUFSIZE);
+    if (rc) {
+        rc = OS_EINVAL;
+        goto err;
+    }
+
+    JSON_VALUE_STRING(&jv, buf)
+    json_encode_object_entry(&njb->njb_enc, "datetime", &jv);
+    json_encode_object_finish(&njb->njb_enc);
+
+    return OS_OK;
+err:
+    return (rc);
+}
+
+static int
+nmgr_datetime_set(struct nmgr_jbuf *njb)
+{
+    struct os_timeval tv;
+    struct os_timezone tz;
+    struct json_value jv;
+    char buf[DATETIME_BUFSIZE];
+    int rc = OS_OK;
+    const struct json_attr_t datetime_write_attr[2] = {
+        [0] = {
+            .attribute = "datetime",
+            .type = t_string,
+            .addr.string = buf,
+            .len = sizeof(buf),
+        },
+        [1] = {
+            .attribute = "rc",
+            .type = t_uinteger,
+
+        }
+    };
+
+    rc = json_read_object(&njb->njb_buf, datetime_write_attr);
+    if (rc) {
+        rc = OS_EINVAL;
+        goto out;
+    }
+
+    /* Set the current datetime */
+    rc = parse_datetime(buf, &tv, &tz);
+    if (!rc) {
+        rc = os_settimeofday(&tv, &tz);
+        if (rc) {
+          rc = OS_EINVAL;
+          goto out;
+        }
+    } else {
+        rc = OS_EINVAL;
+        goto out;
+    }
+
+out:
+    json_encode_object_start(&njb->njb_enc);
+    JSON_VALUE_INT(&jv, rc);
+    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
+    json_encode_object_finish(&njb->njb_enc);
+    return OS_OK;
+}
+
+static void
+nmgr_reset_tmo(void *arg)
+{
+    system_reset();
+}
+
+static int
+nmgr_reset(struct nmgr_jbuf *njb)
+{
+    if (nmgr_reset_callout.cf_func == NULL) {
+        os_callout_func_init(&nmgr_reset_callout, &g_nmgr_evq,
+          nmgr_reset_tmo, NULL);
+    }
+    log_reboot(SOFT_REBOOT);
+    os_callout_reset(&nmgr_reset_callout.cf_c, OS_TICKS_PER_SEC / 4);
+
+    nmgr_jbuf_setoerr(njb, 0);
+
+    return OS_OK;
+}
+
+int
+nmgr_os_groups_register(void)
+{
+    return nmgr_group_register(&nmgr_def_group);
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/pkg.yml
----------------------------------------------------------------------
diff --git a/libs/newtmgr/pkg.yml b/libs/newtmgr/pkg.yml
index a0e75a2..40301b7 100644
--- a/libs/newtmgr/pkg.yml
+++ b/libs/newtmgr/pkg.yml
@@ -27,6 +27,7 @@ pkg.deps:
     - hw/hal
     - libs/os
     - libs/json
+    - libs/newtmgr/os
     - libs/util
     - libs/testutil
     - libs/shell

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/src/newtmgr.c
----------------------------------------------------------------------
diff --git a/libs/newtmgr/src/newtmgr.c b/libs/newtmgr/src/newtmgr.c
index d15b4b9..2bd88b4 100644
--- a/libs/newtmgr/src/newtmgr.c
+++ b/libs/newtmgr/src/newtmgr.c
@@ -24,10 +24,10 @@
 #include <string.h>
 
 #include <shell/shell.h>
-#include <console/console.h>
 #include <newtmgr/newtmgr.h>
+#include <nmgr_os/nmgr_os.h>
 
-#include "newtmgr_priv.h"
+#include "newtmgr/newtmgr_priv.h"
 
 struct nmgr_transport g_nmgr_shell_transport;
 
@@ -39,83 +39,10 @@ struct os_task g_nmgr_task;
 STAILQ_HEAD(, nmgr_group) g_nmgr_group_list =
     STAILQ_HEAD_INITIALIZER(g_nmgr_group_list);
 
-static int nmgr_def_echo(struct nmgr_jbuf *);
-static int nmgr_def_console_echo(struct nmgr_jbuf *);
-
-static struct nmgr_group nmgr_def_group;
-/* ORDER MATTERS HERE.
- * Each element represents the command ID, referenced from newtmgr.
- */
-static const struct nmgr_handler nmgr_def_group_handlers[] = {
-    [NMGR_ID_ECHO] = {nmgr_def_echo, nmgr_def_echo},
-    [NMGR_ID_CONS_ECHO_CTRL] = {nmgr_def_console_echo, nmgr_def_console_echo},
-    [NMGR_ID_TASKSTATS] = {nmgr_def_taskstat_read, NULL},
-    [NMGR_ID_MPSTATS] = {nmgr_def_mpstat_read, NULL},
-    [NMGR_ID_DATETIME_STR] = {nmgr_datetime_get, nmgr_datetime_set},
-    [NMGR_ID_RESET] = {NULL, nmgr_reset},
-};
-
 /* JSON buffer for NMGR task
  */
 struct nmgr_jbuf nmgr_task_jbuf;
 
-static int
-nmgr_def_echo(struct nmgr_jbuf *njb)
-{
-    uint8_t echo_buf[128];
-    struct json_attr_t attrs[] = {
-        { "d", t_string, .addr.string = (char *) &echo_buf[0],
-            .len = sizeof(echo_buf) },
-        { NULL },
-    };
-    struct json_value jv;
-    int rc;
-
-    rc = json_read_object((struct json_buffer *) njb, attrs);
-    if (rc != 0) {
-        goto err;
-    }
-
-    json_encode_object_start(&njb->njb_enc);
-    JSON_VALUE_STRINGN(&jv, (char *) echo_buf, strlen((char *) echo_buf));
-    json_encode_object_entry(&njb->njb_enc, "r", &jv);
-    json_encode_object_finish(&njb->njb_enc);
-
-    return (0);
-err:
-    return (rc);
-}
-
-static int
-nmgr_def_console_echo(struct nmgr_jbuf *njb)
-{
-    long long int echo_on = 1;
-    int rc;
-    struct json_attr_t attrs[3] = {
-        [0] = {
-            .attribute = "echo",
-            .type = t_integer,
-            .addr.integer = &echo_on,
-            .nodefault = 1
-        },
-        [1] = {
-            .attribute = NULL
-        }
-    };
-
-    rc = json_read_object(&njb->njb_buf, attrs);
-    if (rc) {
-        return OS_EINVAL;
-    }
-
-    if (echo_on) {
-        console_echo(1);
-    } else {
-        console_echo(0);
-    }
-    return (0);
-}
-
 int
 nmgr_group_list_lock(void)
 {
@@ -601,27 +528,6 @@ err:
 }
 
 
-static int
-nmgr_default_groups_register(void)
-{
-    int rc;
-
-    NMGR_GROUP_SET_HANDLERS(&nmgr_def_group,
-      (struct nmgr_handler *)nmgr_def_group_handlers);
-    nmgr_def_group.ng_group_id = NMGR_GROUP_ID_DEFAULT;
-    nmgr_def_group.ng_handlers_count =
-      sizeof(nmgr_def_group_handlers) / sizeof(nmgr_def_group_handlers[0]);
-
-    rc = nmgr_group_register(&nmgr_def_group);
-    if (rc != 0) {
-        goto err;
-    }
-
-    return (0);
-err:
-    return (rc);
-}
-
 int
 nmgr_task_init(uint8_t prio, os_stack_t *stack_ptr, uint16_t stack_len)
 {
@@ -646,7 +552,7 @@ nmgr_task_init(uint8_t prio, os_stack_t *stack_ptr, uint16_t stack_len)
         goto err;
     }
 
-    rc = nmgr_default_groups_register();
+    rc = nmgr_os_groups_register();
     if (rc != 0) {
         goto err;
     }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/src/newtmgr_os.c
----------------------------------------------------------------------
diff --git a/libs/newtmgr/src/newtmgr_os.c b/libs/newtmgr/src/newtmgr_os.c
deleted file mode 100644
index 8903baa..0000000
--- a/libs/newtmgr/src/newtmgr_os.c
+++ /dev/null
@@ -1,236 +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 <os/os.h>
-#include <os/endian.h>
-
-#include <assert.h>
-#include <string.h>
-
-#include <hal/hal_system.h>
-
-#include <newtmgr/newtmgr.h>
-#include <util/datetime.h>
-#include <reboot/log_reboot.h>
-
-#include "newtmgr_priv.h"
-
-static struct os_callout_func nmgr_reset_callout;
-
-int
-nmgr_def_taskstat_read(struct nmgr_jbuf *njb)
-{
-    struct os_task *prev_task;
-    struct os_task_info oti;
-    struct json_value jv;
-
-    json_encode_object_start(&njb->njb_enc);
-    JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
-    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
-
-    json_encode_object_key(&njb->njb_enc, "tasks");
-    json_encode_object_start(&njb->njb_enc);
-
-    prev_task = NULL;
-    while (1) {
-        prev_task = os_task_info_get_next(prev_task, &oti);
-        if (prev_task == NULL) {
-            break;
-        }
-
-        json_encode_object_key(&njb->njb_enc, oti.oti_name);
-
-        json_encode_object_start(&njb->njb_enc);
-        JSON_VALUE_UINT(&jv, oti.oti_prio);
-        json_encode_object_entry(&njb->njb_enc, "prio", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_taskid);
-        json_encode_object_entry(&njb->njb_enc, "tid", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_state);
-        json_encode_object_entry(&njb->njb_enc, "state", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_stkusage);
-        json_encode_object_entry(&njb->njb_enc, "stkuse", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_stksize);
-        json_encode_object_entry(&njb->njb_enc, "stksiz", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_cswcnt);
-        json_encode_object_entry(&njb->njb_enc, "cswcnt", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_runtime);
-        json_encode_object_entry(&njb->njb_enc, "runtime", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_last_checkin);
-        json_encode_object_entry(&njb->njb_enc, "last_checkin", &jv);
-        JSON_VALUE_UINT(&jv, oti.oti_next_checkin);
-        json_encode_object_entry(&njb->njb_enc, "next_checkin", &jv);
-        json_encode_object_finish(&njb->njb_enc);
-    }
-    json_encode_object_finish(&njb->njb_enc);
-    json_encode_object_finish(&njb->njb_enc);
-
-    return (0);
-}
-
-int
-nmgr_def_taskstat_write(struct nmgr_jbuf *njb)
-{
-    return (OS_EINVAL);
-}
-
-int
-nmgr_def_mpstat_read(struct nmgr_jbuf *njb)
-{
-    struct os_mempool *prev_mp;
-    struct os_mempool_info omi;
-    struct json_value jv;
-
-    json_encode_object_start(&njb->njb_enc);
-    JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
-    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
-
-    json_encode_object_key(&njb->njb_enc, "mpools");
-    json_encode_object_start(&njb->njb_enc);
-
-    prev_mp = NULL;
-    while (1) {
-        prev_mp = os_mempool_info_get_next(prev_mp, &omi);
-        if (prev_mp == NULL) {
-            break;
-        }
-
-        json_encode_object_key(&njb->njb_enc, omi.omi_name);
-
-        json_encode_object_start(&njb->njb_enc);
-        JSON_VALUE_UINT(&jv, omi.omi_block_size);
-        json_encode_object_entry(&njb->njb_enc, "blksiz", &jv);
-        JSON_VALUE_UINT(&jv, omi.omi_num_blocks);
-        json_encode_object_entry(&njb->njb_enc, "nblks", &jv);
-        JSON_VALUE_UINT(&jv, omi.omi_num_free);
-        json_encode_object_entry(&njb->njb_enc, "nfree", &jv);
-        json_encode_object_finish(&njb->njb_enc);
-    }
-
-    json_encode_object_finish(&njb->njb_enc);
-    json_encode_object_finish(&njb->njb_enc);
-
-    return (0);
-}
-
-int
-nmgr_def_mpstat_write(struct nmgr_jbuf *njb)
-{
-    return (OS_EINVAL);
-}
-
-int
-nmgr_datetime_get(struct nmgr_jbuf *njb)
-{
-    struct os_timeval tv;
-    struct os_timezone tz;
-    char buf[DATETIME_BUFSIZE];
-    struct json_value jv;
-    int rc;
-
-    json_encode_object_start(&njb->njb_enc);
-    JSON_VALUE_INT(&jv, NMGR_ERR_EOK);
-    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
-
-    /* Display the current datetime */
-    rc = os_gettimeofday(&tv, &tz);
-    assert(rc == 0);
-    rc = format_datetime(&tv, &tz, buf, DATETIME_BUFSIZE);
-    if (rc) {
-        rc = OS_EINVAL;
-        goto err;
-    }
-
-    JSON_VALUE_STRING(&jv, buf)
-    json_encode_object_entry(&njb->njb_enc, "datetime", &jv);
-    json_encode_object_finish(&njb->njb_enc);
-
-    return OS_OK;
-err:
-    return (rc);
-}
-
-int
-nmgr_datetime_set(struct nmgr_jbuf *njb)
-{
-    struct os_timeval tv;
-    struct os_timezone tz;
-    struct json_value jv;
-    char buf[DATETIME_BUFSIZE];
-    int rc = OS_OK;
-    const struct json_attr_t datetime_write_attr[2] = {
-        [0] = {
-            .attribute = "datetime",
-            .type = t_string,
-            .addr.string = buf,
-            .len = sizeof(buf),
-        },
-        [1] = {
-            .attribute = "rc",
-            .type = t_uinteger,
-
-        }
-    };
-
-    rc = json_read_object(&njb->njb_buf, datetime_write_attr);
-    if (rc) {
-        rc = OS_EINVAL;
-        goto out;
-    }
-
-    /* Set the current datetime */
-    rc = parse_datetime(buf, &tv, &tz);
-    if (!rc) {
-        rc = os_settimeofday(&tv, &tz);
-        if (rc) {
-          rc = OS_EINVAL;
-          goto out;
-        }
-    } else {
-        rc = OS_EINVAL;
-        goto out;
-    }
-
-out:
-    json_encode_object_start(&njb->njb_enc);
-    JSON_VALUE_INT(&jv, rc);
-    json_encode_object_entry(&njb->njb_enc, "rc", &jv);
-    json_encode_object_finish(&njb->njb_enc);
-    return OS_OK;
-}
-
-static void
-nmgr_reset_tmo(void *arg)
-{
-    system_reset();
-}
-
-int
-nmgr_reset(struct nmgr_jbuf *njb)
-{
-    if (nmgr_reset_callout.cf_func == NULL) {
-        os_callout_func_init(&nmgr_reset_callout, &g_nmgr_evq,
-          nmgr_reset_tmo, NULL);
-    }
-    log_reboot(SOFT_REBOOT);
-    os_callout_reset(&nmgr_reset_callout.cf_c, OS_TICKS_PER_SEC / 4);
-
-    nmgr_jbuf_setoerr(njb, 0);
-
-    return OS_OK;
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/7dc40e7a/libs/newtmgr/src/newtmgr_priv.h
----------------------------------------------------------------------
diff --git a/libs/newtmgr/src/newtmgr_priv.h b/libs/newtmgr/src/newtmgr_priv.h
deleted file mode 100644
index 7afa7f5..0000000
--- a/libs/newtmgr/src/newtmgr_priv.h
+++ /dev/null
@@ -1,31 +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 __NETMGR_PRIV_H_
-#define __NETMGR_PRIV_H_
-
-extern struct os_eventq g_nmgr_evq;
-
-int nmgr_def_taskstat_read(struct nmgr_jbuf *);
-int nmgr_def_mpstat_read(struct nmgr_jbuf *);
-int nmgr_def_logs_read(struct nmgr_jbuf *);
-int nmgr_datetime_get(struct nmgr_jbuf *);
-int nmgr_datetime_set(struct nmgr_jbuf *);
-int nmgr_reset(struct nmgr_jbuf *);
-
-#endif