PAL
A Platform Abstraction Layer connects the mbed-client with the underlying platform.
pal_update.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2016 ARM Limited. All rights reserved.
3 * SPDX-License-Identifier: Apache-2.0
4 * Licensed under the Apache License, Version 2.0 (the License); you may
5 * not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 
17 
18 #ifndef SOURCE_PAL_IMPL_SERVICES_API_PAL_UPDATE_H_
19 #define SOURCE_PAL_IMPL_SERVICES_API_PAL_UPDATE_H_
20 
21 #include "pal_macros.h"
22 #include "pal_types.h"
23 
24 
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 
31 typedef uint32_t palImageId_t;
32 
34 {
35  size_t imageSize;
39 
40 
42 {
47 
48 typedef enum _palImageEvents_t
49 {
63 
64 typedef void (*palImageSignalEvent_t)( palImageEvents_t event);
65 
66 
67 
82 
83 
88 
89 
90 
97 palStatus_t pal_imagePrepare(palImageId_t imageId, palImageHeaderDeails_t* headerDetails);
98 
106 palStatus_t pal_imageWrite (palImageId_t imageId, size_t offset, palConstBuffer_t *chunk);
107 
108 
109 
116 palStatus_t pal_imageFinalize(palImageId_t imageId);
117 
118 
126 palStatus_t pal_imageGetDirectMemoryAccess(palImageId_t imageId, void** imagePtr, size_t *imageSizeInBytes);
127 
139 palStatus_t pal_imageReadToBuffer(palImageId_t imageId, size_t offset, palBuffer_t* chunk);
140 
146 palStatus_t pal_imageActivate(palImageId_t imageId);
147 
153 
159 
165 palStatus_t pal_imageWriteDataToMemory(palImagePlatformData_t dataId, const palConstBuffer_t* const dataBuffer);
166 
167 #ifdef __cplusplus
168 }
169 #endif
170 #endif /* SOURCE_PAL_IMPL_SERVICES_API_PAL_UPDATE_H_ */
palStatus_t pal_imageDeInit(void)
Definition: pal_update.c:34
Definition: pal_types.h:34
Definition: pal_update.h:52
size_t imageSize
Definition: pal_update.h:35
Definition: pal_update.h:51
palStatus_t pal_imageWriteDataToMemory(palImagePlatformData_t dataId, const palConstBuffer_t *const dataBuffer)
Definition: pal_update.c:111
Definition: pal_update.h:59
palStatus_t pal_imageWrite(palImageId_t imageId, size_t offset, palConstBuffer_t *chunk)
Definition: pal_update.c:54
palStatus_t pal_imageGetDirectMemoryAccess(palImageId_t imageId, void **imagePtr, size_t *imageSizeInBytes)
Definition: pal_update.c:70
Definition: pal_update.h:56
Definition: pal_update.h:33
Definition: pal_update.h:58
Definition: pal_update.h:61
_palImagePlatformData_t
Definition: pal_update.h:41
palStatus_t pal_imagePrepare(palImageId_t imageId, palImageHeaderDeails_t *headerDetails)
Definition: pal_update.c:44
palStatus_t pal_imageActivate(palImageId_t imageId)
Definition: pal_update.c:87
struct _palImageHeaderDeails_t palImageHeaderDeails_t
Definition: pal_update.h:50
palStatus_t pal_imageReadToBuffer(palImageId_t imageId, size_t offset, palBuffer_t *chunk)
Definition: pal_update.c:78
Definition: pal_update.h:57
Definition: pal_update.h:45
Definition: pal_types.h:41
palStatus_t pal_imageInitAPI(palImageSignalEvent_t CBfunction)
Definition: pal_update.c:26
palBuffer_t version
Definition: pal_update.h:37
void(* palImageSignalEvent_t)(palImageEvents_t event)
Definition: pal_update.h:64
Definition: pal_update.h:55
_palImageEvents_t
Definition: pal_update.h:48
uint32_t palImageId_t
Definition: pal_update.h:31
enum _palImagePlatformData_t palImagePlatformData_t
Definition: pal_update.h:43
Definition: pal_update.h:54
palBuffer_t hash
Definition: pal_update.h:36
Definition: pal_update.h:44
Definition: pal_update.h:60
palStatus_t pal_imageGetActiveHash(palBuffer_t *hash)
Definition: pal_update.c:95
enum _palImageEvents_t palImageEvents_t
int32_t palStatus_t
Definition: pal_types.h:31
palStatus_t pal_imageFinalize(palImageId_t imageId)
Definition: pal_update.c:62
palStatus_t pal_imageGetActiveVersion(palBuffer_t *version)
Definition: pal_update.c:103
Definition: pal_update.h:53