summaryrefslogtreecommitdiff
path: root/host/lib/include/host_misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/include/host_misc.h')
-rw-r--r--host/lib/include/host_misc.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/host/lib/include/host_misc.h b/host/lib/include/host_misc.h
new file mode 100644
index 00000000..22b31415
--- /dev/null
+++ b/host/lib/include/host_misc.h
@@ -0,0 +1,49 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side misc functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_MISC_H_
+#define VBOOT_REFERENCE_HOST_MISC_H_
+
+#include "utility.h"
+#include "vboot_struct.h"
+
+/* Copy up to dest_size-1 characters from src to dest, ensuring null
+ termination (which strncpy() doesn't do). Returns the destination
+ string. */
+char* StrCopy(char* dest, const char* src, int dest_size);
+
+/* Read data from [filename]. Store the size of returned data in [size].
+ *
+ * Returns the data buffer, which the caller must Free(), or NULL if
+ * error. */
+uint8_t* ReadFile(const char* filename, uint64_t* size);
+
+/* Read a string from a file. Passed the destination, dest size, and
+ * filename to read.
+ *
+ * Returns the destination, or NULL if error. */
+char* ReadFileString(char* dest, int size, const char* filename);
+
+/* Read an integer from a file.
+ *
+ * Returns the parsed integer, or -1 if error. */
+int ReadFileInt(const char* filename);
+
+/* Check if a bit is set in a file which contains an integer.
+ *
+ * Returns 1 if the bit is set, 0 if clear, or -1 if error. */
+int ReadFileBit(const char* filename, int bitmask);
+
+/* Writes [size] bytes of [data] to [filename].
+ *
+ * Returns 0 if success, 1 if error. */
+int WriteFile(const char* filename, const void *data, uint64_t size);
+
+/* Prints the sha1sum of the given VbPublicKey to stdout. */
+void PrintPubKeySha1Sum(VbPublicKey* key);
+
+#endif /* VBOOT_REFERENCE_HOST_MISC_H_ */