Index: mojo/system/data_pipe.h |
diff --git a/mojo/system/data_pipe.h b/mojo/system/data_pipe.h |
index 2cab507e4625906e6d6de785a8ae9d10eecb27aa..cd7c96d8ed64fe339bdc5b120b146647a3b18109 100644 |
--- a/mojo/system/data_pipe.h |
+++ b/mojo/system/data_pipe.h |
@@ -14,6 +14,7 @@ |
#include "mojo/public/c/system/data_pipe.h" |
#include "mojo/public/c/system/types.h" |
#include "mojo/system/handle_signals_state.h" |
+#include "mojo/system/memory.h" |
#include "mojo/system/system_impl_export.h" |
namespace mojo { |
@@ -54,9 +55,8 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe : |
MojoResult ProducerWriteData(const void* elements, |
uint32_t* num_bytes, |
bool all_or_none); |
- // This does not validate its arguments. |
- MojoResult ProducerBeginWriteData(void** buffer, |
- uint32_t* buffer_num_bytes, |
+ MojoResult ProducerBeginWriteData(UserPointer<void*> buffer, |
+ UserPointer<uint32_t> buffer_num_bytes, |
bool all_or_none); |
MojoResult ProducerEndWriteData(uint32_t num_bytes_written); |
MojoResult ProducerAddWaiter(Waiter* waiter, |
@@ -102,9 +102,9 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe : |
uint32_t* num_bytes, |
bool all_or_none) = 0; |
virtual MojoResult ProducerBeginWriteDataImplNoLock( |
- void** buffer, |
- uint32_t* buffer_num_bytes, |
- bool all_or_none) = 0; |
+ UserPointer<void*> buffer, |
+ UserPointer<uint32_t> buffer_num_bytes, |
+ uint32_t min_num_bytes_to_write) = 0; |
virtual MojoResult ProducerEndWriteDataImplNoLock( |
uint32_t num_bytes_written) = 0; |
// Note: A producer should not be writable during a two-phase write. |