summaryrefslogtreecommitdiff
path: root/Cryptlib/SysCall/BaseStrings.c
diff options
context:
space:
mode:
authorMatthew Garrett <mjg@redhat.com>2012-06-18 17:49:57 -0400
committerMatthew Garrett <mjg@redhat.com>2012-06-18 17:49:57 -0400
commit9579a3633657f0adb26e975fca191e0a49474e82 (patch)
tree2d5c048c92fabf912a95db35c54a50287794056e /Cryptlib/SysCall/BaseStrings.c
parent661392464eee92684187e49812c63b9afed5675f (diff)
downloadefi-boot-shim-9579a3633657f0adb26e975fca191e0a49474e82.tar.gz
efi-boot-shim-9579a3633657f0adb26e975fca191e0a49474e82.zip
Add crypto libraries
Diffstat (limited to 'Cryptlib/SysCall/BaseStrings.c')
-rw-r--r--Cryptlib/SysCall/BaseStrings.c67
1 files changed, 67 insertions, 0 deletions
diff --git a/Cryptlib/SysCall/BaseStrings.c b/Cryptlib/SysCall/BaseStrings.c
new file mode 100644
index 00000000..43875712
--- /dev/null
+++ b/Cryptlib/SysCall/BaseStrings.c
@@ -0,0 +1,67 @@
+#include <OpenSslSupport.h>
+
+CHAR8 *
+AsciiStrCat(CHAR8 *Destination, CHAR8 *Source)
+{
+ UINTN dest_len = strlena(Destination);
+ UINTN i;
+
+ for (i = 0; Source[i] != '\0'; i++)
+ Destination[dest_len + i] = Source[i];
+ Destination[dest_len + i] = '\0';
+
+ return Destination;
+}
+
+CHAR8 *
+AsciiStrCpy(CHAR8 *Destination, CHAR8 *Source)
+{
+ UINTN i;
+
+ for (i=0; Source[i] != '\0'; i++)
+ Destination[i] = Source[i];
+ Destination[i] = '\0';
+
+ return Destination;
+}
+
+CHAR8 *
+AsciiStrnCpy(CHAR8 *Destination, CHAR8 *Source, UINTN count)
+{
+ UINTN i;
+
+ for (i=0; i < count && Source[i] != '\0'; i++)
+ Destination[i] = Source[i];
+ for ( ; i < count; i++)
+ Destination[i] = '\0';
+
+ return Destination;
+}
+
+CHAR8 *
+ScanMem8(CHAR8 *str, UINTN count, CHAR8 ch)
+{
+ UINTN i;
+
+ for (i = 0; i < count; i++) {
+ if (str[i] == ch)
+ return str + i;
+ }
+ return NULL;
+}
+
+UINT32
+WriteUnaligned32(UINT32 *Buffer, UINT32 Value)
+{
+ *Buffer = Value;
+
+ return Value;
+}
+
+UINTN
+AsciiStrSize(CHAR8 *string)
+{
+ return strlena(string) + 1;
+}
+
+