Skip to content

Commit ce01e54

Browse files
committed
mgmt - Code implementing the core mgmt layer.
The core of mcumgr; facilitates the passing of requests and responses between the generic command handlers and the concrete transports and transfer encodings.
1 parent cbdd6bf commit ce01e54

File tree

6 files changed

+671
-0
lines changed

6 files changed

+671
-0
lines changed

mgmt/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
target_include_directories(MCUMGR INTERFACE
2+
include
3+
port/zephyr/include
4+
)
5+
6+
zephyr_library_sources(
7+
mgmt/src/mgmt.c
8+
)

mgmt/include/mgmt/endian.h

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
#ifndef H_MGMT_ENDIAN_
21+
#define H_MGMT_ENDIAN_
22+
23+
#include <inttypes.h>
24+
25+
#ifdef __cplusplus
26+
extern "C" {
27+
#endif
28+
29+
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
30+
31+
#ifndef ntohs
32+
#define ntohs(x) (x)
33+
#endif
34+
35+
#ifndef htons
36+
#define htons(x) (x)
37+
#endif
38+
39+
#else
40+
/* Little endian. */
41+
42+
#ifndef ntohs
43+
#define ntohs(x) ((uint16_t) \
44+
((((x) & 0xff00) >> 8) | \
45+
(((x) & 0x00ff) << 8)))
46+
#endif
47+
48+
#ifndef htons
49+
#define htons(x) (ntohs(x))
50+
#endif
51+
52+
#endif
53+
54+
#ifdef __cplusplus
55+
}
56+
#endif
57+
58+
#endif

0 commit comments

Comments
 (0)