+/**
+ * \fn int Syscall_ValidString(Uint Addr)
+ * \brief Checks if a memory address contains a valid string
+ */
+int Syscall_ValidString(Uint Addr)
+{
+ // Check 1st page
+ if(!MM_GetPhysAddr(Addr)) return 0;
+
+ // Traverse String
+ while(*(char*)Addr)
+ {
+ if(!MM_GetPhysAddr(Addr)) return 0;
+ // Increment string pointer
+ Addr ++;
+ }
+
+ return 1;
+}
+
+/**
+ * \fn int Syscall_Valid(int Size, Uint Addr)
+ * \brief Checks if a memory address is valid
+ */
+int Syscall_Valid(int Size, Uint Addr)
+{
+ while(Size--)
+ {
+ if(!MM_GetPhysAddr(Addr)) return 0;
+ Addr ++;
+ }
+ return 1;
+}