]>
Commit | Line | Data |
---|---|---|
e74670ad ER |
1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | /* | |
3 | * Copyright (C) 2020 Eugeniu Rosca <[email protected]> | |
4 | * | |
5 | * Android Bootloader Control Block Header | |
6 | */ | |
7 | ||
8 | #ifndef __BCB_H__ | |
9 | #define __BCB_H__ | |
10 | ||
dfeb4f0d DM |
11 | #include <part.h> |
12 | ||
13 | enum bcb_field { | |
14 | BCB_FIELD_COMMAND, | |
15 | BCB_FIELD_STATUS, | |
16 | BCB_FIELD_RECOVERY, | |
17 | BCB_FIELD_STAGE | |
18 | }; | |
19 | ||
71e3e215 | 20 | #if IS_ENABLED(CONFIG_CMD_BCB) |
dfeb4f0d DM |
21 | |
22 | int bcb_find_partition_and_load(const char *iface, | |
23 | int devnum, char *partp); | |
24 | int bcb_load(struct blk_desc *block_description, | |
25 | struct disk_partition *disk_partition); | |
26 | int bcb_set(enum bcb_field field, const char *value); | |
27 | ||
28 | /** | |
29 | * bcb_get() - get the field value. | |
30 | * @field: field to get | |
31 | * @value_out: buffer to copy bcb field value to | |
32 | * @value_size: buffer size to avoid overflow in case | |
33 | * value_out is smaller then the field value | |
34 | */ | |
35 | int bcb_get(enum bcb_field field, char *value_out, size_t value_size); | |
36 | ||
37 | int bcb_store(void); | |
38 | void bcb_reset(void); | |
39 | ||
e74670ad | 40 | #else |
dfeb4f0d | 41 | |
e74670ad | 42 | #include <linux/errno.h> |
dfeb4f0d DM |
43 | |
44 | static inline int bcb_load(struct blk_desc *block_description, | |
45 | struct disk_partition *disk_partition) | |
46 | { | |
47 | return -EOPNOTSUPP; | |
48 | } | |
49 | ||
50 | static inline int bcb_find_partition_and_load(const char *iface, | |
51 | int devnum, char *partp) | |
52 | { | |
53 | return -EOPNOTSUPP; | |
54 | } | |
55 | ||
56 | static inline int bcb_set(enum bcb_field field, const char *value) | |
57 | { | |
58 | return -EOPNOTSUPP; | |
59 | } | |
60 | ||
61 | static inline int bcb_get(enum bcb_field field, char *value_out) | |
e74670ad ER |
62 | { |
63 | return -EOPNOTSUPP; | |
64 | } | |
dfeb4f0d DM |
65 | |
66 | static inline int bcb_store(void) | |
67 | { | |
68 | return -EOPNOTSUPP; | |
69 | } | |
70 | ||
71 | static inline void bcb_reset(void) | |
72 | { | |
73 | } | |
e74670ad ER |
74 | #endif |
75 | ||
76 | #endif /* __BCB_H__ */ |