BpfMap/Utils - fix const-ness of key & value
When accessing maps keys are always const/read-only.
Similarly for the value when it is being stored in the map.
This eliminates four const_casts.
Test: build, atest
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Icc57b46a8e9e81b5b06264260bfbf34a4ba9105d
diff --git a/libbpf_android/include/bpf/BpfUtils.h b/libbpf_android/include/bpf/BpfUtils.h
index 4d3e155..cf6e1ac 100644
--- a/libbpf_android/include/bpf/BpfUtils.h
+++ b/libbpf_android/include/bpf/BpfUtils.h
@@ -85,7 +85,7 @@
});
}
-static inline int writeToMapEntry(const base::unique_fd& map_fd, void* key, void* value,
+static inline int writeToMapEntry(const base::unique_fd& map_fd, const void* key, const void* value,
uint64_t flags) {
return bpf(BPF_MAP_UPDATE_ELEM, {
.map_fd = static_cast<__u32>(map_fd.get()),
@@ -95,7 +95,7 @@
});
}
-static inline int findMapEntry(const base::unique_fd& map_fd, void* key, void* value) {
+static inline int findMapEntry(const base::unique_fd& map_fd, const void* key, void* value) {
return bpf(BPF_MAP_LOOKUP_ELEM, {
.map_fd = static_cast<__u32>(map_fd.get()),
.key = ptr_to_u64(key),
@@ -103,14 +103,14 @@
});
}
-static inline int deleteMapEntry(const base::unique_fd& map_fd, void* key) {
+static inline int deleteMapEntry(const base::unique_fd& map_fd, const void* key) {
return bpf(BPF_MAP_DELETE_ELEM, {
.map_fd = static_cast<__u32>(map_fd.get()),
.key = ptr_to_u64(key),
});
}
-static inline int getNextMapKey(const base::unique_fd& map_fd, void* key, void* next_key) {
+static inline int getNextMapKey(const base::unique_fd& map_fd, const void* key, void* next_key) {
return bpf(BPF_MAP_GET_NEXT_KEY, {
.map_fd = static_cast<__u32>(map_fd.get()),
.key = ptr_to_u64(key),