summaryrefslogtreecommitdiff
path: root/src/core/memory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/memory.h')
-rw-r--r--src/core/memory.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/core/memory.h b/src/core/memory.h
index 59b9ce2bb..47765c8a0 100644
--- a/src/core/memory.h
+++ b/src/core/memory.h
@@ -152,6 +152,23 @@ public:
152 */ 152 */
153 const u8* GetPointer(VAddr vaddr) const; 153 const u8* GetPointer(VAddr vaddr) const;
154 154
155 /**
156 * Reads a null-terminated string from the given virtual address.
157 * This function will continually read characters until either:
158 *
159 * - A null character ('\0') is reached.
160 * - max_length characters have been read.
161 *
162 * @note The final null-terminating character (if found) is not included
163 * in the returned string.
164 *
165 * @param vaddr The address to begin reading the string from.
166 * @param max_length The maximum length of the string to read in characters.
167 *
168 * @returns The read string.
169 */
170 std::string ReadCString(VAddr vaddr, std::size_t max_length);
171
155private: 172private:
156 struct Impl; 173 struct Impl;
157 std::unique_ptr<Impl> impl; 174 std::unique_ptr<Impl> impl;
@@ -182,8 +199,6 @@ void WriteBlock(VAddr dest_addr, const void* src_buffer, std::size_t size);
182void ZeroBlock(const Kernel::Process& process, VAddr dest_addr, std::size_t size); 199void ZeroBlock(const Kernel::Process& process, VAddr dest_addr, std::size_t size);
183void CopyBlock(VAddr dest_addr, VAddr src_addr, std::size_t size); 200void CopyBlock(VAddr dest_addr, VAddr src_addr, std::size_t size);
184 201
185std::string ReadCString(VAddr vaddr, std::size_t max_length);
186
187/** 202/**
188 * Mark each page touching the region as cached. 203 * Mark each page touching the region as cached.
189 */ 204 */