summaryrefslogtreecommitdiffstats
path: root/cryptfshw/1.0/ICryptfsHwController.h
diff options
context:
space:
mode:
authordianlujitao <dianlujitao@lineageos.org>2019-10-06 12:04:33 +0800
committerBruno Martins <bgcngm@gmail.com>2019-12-24 16:36:03 +0100
commit47d41f62e6f950ebec39f23c2325bb070957340c (patch)
tree6d7e43d20c1519d1e27addd1577b73157c08e91c /cryptfshw/1.0/ICryptfsHwController.h
parentf59f921a5e9f059a6ce06f3a8e11982241ba54b8 (diff)
downloadhardware_lineage_interfaces-lineage-17.0.tar.gz
hardware_lineage_interfaces-lineage-17.0.tar.bz2
hardware_lineage_interfaces-lineage-17.0.zip
cryptfshw: Introduce QSEECom backend implementationlineage-17.0
Some code snippets are taken from the following set of changes: cryptfshw: Setup boilerplate items before actual implementation * This is also in preparation for splitting this into two impls: one for ioctl() calls and one for dlsym() calls * This includes: - Add a .clang-format file and format the source - Add an init rc file - Add service.cpp - Convert struct to a class - Setup Android.bp for building the HIDL hal and run through bpfix - Setup items shared between both impls in Android.bp Change-Id: I1db3773f49883aa492a041e794303a11dfa2da51 Signed-off-by: Michael Bestas <mkbestas@lineageos.org> cryptfshw: dlsym: Wire up the implementation Change-Id: I10473223ffd8f63dec759700a0fd989241af18a3 Change-Id: I7f27355a8a435f013b3b09cd5efac45452f7a4f3
Diffstat (limited to 'cryptfshw/1.0/ICryptfsHwController.h')
-rw-r--r--cryptfshw/1.0/ICryptfsHwController.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/cryptfshw/1.0/ICryptfsHwController.h b/cryptfshw/1.0/ICryptfsHwController.h
new file mode 100644
index 0000000..0748140
--- /dev/null
+++ b/cryptfshw/1.0/ICryptfsHwController.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2019 The LineageOS Project
+ *
+ * Licensed 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.
+ */
+
+#pragma once
+
+namespace vendor {
+namespace qti {
+namespace hardware {
+namespace cryptfshw {
+namespace V1_0 {
+namespace implementation {
+
+// interface wrapper
+class ICryptfsHwController {
+ public:
+ virtual ~ICryptfsHwController() = default;
+
+ virtual int createKey(int usage, const char* passwd) = 0;
+ virtual int updateKey(int usage, const char* oldpw, const char* newpw) = 0;
+ virtual int wipeKey(int usage) = 0;
+};
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace cryptfshw
+} // namespace hardware
+} // namespace qti
+} // namespace vendor