[debugger] Migrate variety of status ints to zx_status_t

Test: Ran fx full-build, CQ
Change-Id: Ic2464c28bc5735f67b7db2d47853d371f8eef479
diff --git a/garnet/bin/debug_agent/integration_tests/breakpoint_test.cc b/garnet/bin/debug_agent/integration_tests/breakpoint_test.cc
index eba4320..1242e35 100644
--- a/garnet/bin/debug_agent/integration_tests/breakpoint_test.cc
+++ b/garnet/bin/debug_agent/integration_tests/breakpoint_test.cc
@@ -130,7 +130,7 @@
     launch_request.inferior_type = debug_ipc::InferiorType::kBinary;
     debug_ipc::LaunchReply launch_reply;
     remote_api->OnLaunch(launch_request, &launch_reply);
-    ASSERT_EQ(launch_reply.status, static_cast<uint32_t>(ZX_OK))
+    ASSERT_EQ(launch_reply.status, ZX_OK)
         << "Expected ZX_OK, Got: "
         << debug_ipc::ZxStatusToString(launch_reply.status);
 
@@ -158,7 +158,7 @@
     breakpoint_request.breakpoint.locations.push_back(location);
     debug_ipc::AddOrChangeBreakpointReply breakpoint_reply;
     remote_api->OnAddOrChangeBreakpoint(breakpoint_request, &breakpoint_reply);
-    ASSERT_EQ(breakpoint_reply.status, static_cast<uint32_t>(ZX_OK));
+    ASSERT_EQ(breakpoint_reply.status, ZX_OK);
 
     // Resume the process now that the breakpoint is installed.
     debug_ipc::ResumeRequest resume_request;
@@ -213,7 +213,7 @@
     launch_request.argv.push_back(kTestExecutablePath);
     debug_ipc::LaunchReply launch_reply;
     remote_api->OnLaunch(launch_request, &launch_reply);
-    ASSERT_EQ(launch_reply.status, static_cast<uint32_t>(ZX_OK))
+    ASSERT_EQ(launch_reply.status, ZX_OK)
         << "Expected ZX_OK, Got: "
         << debug_ipc::ZxStatusToString(launch_reply.status);
 
@@ -242,7 +242,7 @@
     breakpoint_request.breakpoint.locations.push_back(location);
     debug_ipc::AddOrChangeBreakpointReply breakpoint_reply;
     remote_api->OnAddOrChangeBreakpoint(breakpoint_request, &breakpoint_reply);
-    ASSERT_EQ(breakpoint_reply.status, static_cast<uint32_t>(ZX_OK))
+    ASSERT_EQ(breakpoint_reply.status, ZX_OK)
         << "Received: " << debug_ipc::ZxStatusToString(breakpoint_reply.status);
 
     // Resume the process now that the breakpoint is installed.
diff --git a/garnet/bin/debug_agent/integration_tests/elf_symbol_test.cc b/garnet/bin/debug_agent/integration_tests/elf_symbol_test.cc
index 9f40e18..2d11621 100644
--- a/garnet/bin/debug_agent/integration_tests/elf_symbol_test.cc
+++ b/garnet/bin/debug_agent/integration_tests/elf_symbol_test.cc
@@ -102,7 +102,7 @@
     launch_request.inferior_type = debug_ipc::InferiorType::kBinary;
     debug_ipc::LaunchReply launch_reply;
     remote_api->OnLaunch(launch_request, &launch_reply);
-    ASSERT_EQ(launch_reply.status, static_cast<uint32_t>(ZX_OK))
+    ASSERT_EQ(launch_reply.status, ZX_OK)
         << "Expected ZX_OK, Got: "
         << debug_ipc::ZxStatusToString(launch_reply.status);
 
diff --git a/garnet/bin/zxdb/client/process_impl.cc b/garnet/bin/zxdb/client/process_impl.cc
index 2ce3bb2..7b9cae4 100644
--- a/garnet/bin/zxdb/client/process_impl.cc
+++ b/garnet/bin/zxdb/client/process_impl.cc
@@ -154,8 +154,7 @@
           callback(err);
         } else if (reply.status != 0) {
           // Convert bad reply to error.
-          callback(Err("Unable to write memory to 0x%" PRIx64 ", error %" PRId64
-                       ".",
+          callback(Err("Unable to write memory to 0x%" PRIx64 ", error %d.",
                        address, reply.status));
         } else {
           // Success.
diff --git a/garnet/bin/zxdb/client/target_impl.cc b/garnet/bin/zxdb/client/target_impl.cc
index 28d3b2f..ae39093 100644
--- a/garnet/bin/zxdb/client/target_impl.cc
+++ b/garnet/bin/zxdb/client/target_impl.cc
@@ -220,7 +220,8 @@
 }
 
 void TargetImpl::OnLaunchOrAttachReply(Callback callback, const Err& err,
-                                       uint64_t koid, uint32_t status,
+                                       uint64_t koid,
+                                       debug_ipc::zx_status_t status,
                                        const std::string& process_name) {
   FXL_DCHECK(state_ == State::kAttaching || state_ == State::kStarting);
   FXL_DCHECK(!process_.get());  // Shouldn't have a process.
diff --git a/garnet/bin/zxdb/client/target_impl.h b/garnet/bin/zxdb/client/target_impl.h
index 3243908..8a48c84 100644
--- a/garnet/bin/zxdb/client/target_impl.h
+++ b/garnet/bin/zxdb/client/target_impl.h
@@ -63,7 +63,8 @@
                                          uint64_t koid, uint32_t status,
                                          const std::string& process_name);
   void OnLaunchOrAttachReply(Callback callback, const Err& err, uint64_t koid,
-                             uint32_t status, const std::string& process_name);
+                             debug_ipc::zx_status_t status,
+                             const std::string& process_name);
 
   void OnKillOrDetachReply(const Err& err, uint32_t status, Callback callback);
 
diff --git a/garnet/bin/zxdb/client/thread_impl.cc b/garnet/bin/zxdb/client/thread_impl.cc
index 87b95a8..48d5814 100644
--- a/garnet/bin/zxdb/client/thread_impl.cc
+++ b/garnet/bin/zxdb/client/thread_impl.cc
@@ -171,8 +171,7 @@
         if (err.has_error()) {
           cb(err);  // Transport error.
         } else if (reply.status != 0) {
-          cb(Err("Could not set thread instruction pointer. Error %" PRIu64
-                 " (%s).",
+          cb(Err("Could not set thread instruction pointer. Error %d (%s).",
                  reply.status,
                  debug_ipc::ZxStatusToString(
                      static_cast<uint32_t>(reply.status))));
diff --git a/garnet/lib/debug_ipc/client_protocol.cc b/garnet/lib/debug_ipc/client_protocol.cc
index d9dfadd..21b50a0 100644
--- a/garnet/lib/debug_ipc/client_protocol.cc
+++ b/garnet/lib/debug_ipc/client_protocol.cc
@@ -183,7 +183,7 @@
   }
   reply->inferior_type = static_cast<InferiorType>(inferior_type);
 
-  if (!reader->ReadUint32(&reply->status))
+  if (!reader->ReadInt32(&reply->status))
     return false;
   if (!reader->ReadUint64(&reply->process_koid))
     return false;
@@ -207,7 +207,7 @@
     return false;
   *transaction_id = header.transaction_id;
 
-  if (!reader->ReadUint32(&reply->status))
+  if (!reader->ReadInt32(&reply->status))
     return false;
   return true;
 }
@@ -230,7 +230,7 @@
 
   if (!reader->ReadUint64(&reply->koid))
     return false;
-  if (!reader->ReadUint32(&reply->status))
+  if (!reader->ReadInt32(&reply->status))
     return false;
   if (!reader->ReadString(&reply->name))
     return false;
@@ -253,7 +253,7 @@
     return false;
   *transaction_id = header.transaction_id;
 
-  if (!reader->ReadUint32(&reply->status))
+  if (!reader->ReadInt32(&reply->status))
     return false;
   return true;
 }
@@ -404,7 +404,7 @@
     return false;
 
   *transaction_id = header.transaction_id;
-  return reader->ReadUint64(&reply->status);
+  return reader->ReadInt32(&reply->status);
 }
 
 // AddOrChangeBreakpoint -------------------------------------------------------
@@ -422,7 +422,7 @@
     return false;
   *transaction_id = header.transaction_id;
 
-  return reader->ReadUint32(&reply->status);
+  return reader->ReadInt32(&reply->status);
 }
 
 // RemoveBreakpoint ------------------------------------------------------------
@@ -535,7 +535,7 @@
     return false;
   *transaction_id = header.transaction_id;
 
-  return reader->ReadUint32(&reply->status);
+  return reader->ReadInt32(&reply->status);
 }
 
 // WriteMemory -----------------------------------------------------------------
@@ -555,7 +555,7 @@
     return false;
   *transaction_id = header.transaction_id;
 
-  return reader->ReadUint64(&reply->status);
+  return reader->ReadInt32(&reply->status);
 }
 
 // Notifications ---------------------------------------------------------------
diff --git a/garnet/lib/debug_ipc/helper/zx_status.cc b/garnet/lib/debug_ipc/helper/zx_status.cc
index 7d61f49..74b5d2c 100644
--- a/garnet/lib/debug_ipc/helper/zx_status.cc
+++ b/garnet/lib/debug_ipc/helper/zx_status.cc
@@ -9,7 +9,7 @@
 
 namespace debug_ipc {
 
-const char* ZxStatusToString(uint32_t status) {
+const char* ZxStatusToString(zx_status_t status) {
   switch (status) {
     case kZxOK:
       return "ZX_OK";
diff --git a/garnet/lib/debug_ipc/helper/zx_status.h b/garnet/lib/debug_ipc/helper/zx_status.h
index 9ea5e65..ba8f2ff 100644
--- a/garnet/lib/debug_ipc/helper/zx_status.h
+++ b/garnet/lib/debug_ipc/helper/zx_status.h
@@ -10,7 +10,6 @@
 
 namespace debug_ipc {
 
-const char* ZxStatusToString(uint32_t status);
+const char* ZxStatusToString(zx_status_t status);
 
 }  // namespace debug_ipc
-
diff --git a/garnet/lib/debug_ipc/helper/zx_status_definitions.h b/garnet/lib/debug_ipc/helper/zx_status_definitions.h
index 4f8a2c1..c670873 100644
--- a/garnet/lib/debug_ipc/helper/zx_status_definitions.h
+++ b/garnet/lib/debug_ipc/helper/zx_status_definitions.h
@@ -15,63 +15,66 @@
 // The constant naming convention is an exception and is maintained to be
 // consistent with the naming used in zircon.
 
-constexpr uint32_t kZxOK = 0;
+// As defined in zircon/types.h
+using zx_status_t = int32_t;
+
+constexpr zx_status_t kZxOK = 0;
 
 // ======= Internal failures =======
 // ZX_ERR_INTERNAL: The system encountered an otherwise unspecified error
 // while performing the operation.
-constexpr uint32_t kZxErrInternal= -1;
+constexpr zx_status_t kZxErrInternal= -1;
 
 // ZX_ERR_NOT_SUPPORTED: The operation is not implemented, supported,
 // or enabled.
-constexpr uint32_t kZxErrNotSupported = -2;
+constexpr zx_status_t kZxErrNotSupported = -2;
 
 // ZX_ERR_NO_RESOURCES: The system was not able to allocate some resource
 // needed for the operation.
-constexpr uint32_t kZxErrNoResources = -3;
+constexpr zx_status_t kZxErrNoResources = -3;
 
 // ZX_ERR_NO_MEMORY: The system was not able to allocate memory needed
 // for the operation.
-constexpr uint32_t kZxErrNoMemory = -4;
+constexpr zx_status_t kZxErrNoMemory = -4;
 
 // -5 used to be ZX_ERR_CALL_FAILED.
 
 // ZX_ERR_INTERNAL_INTR_RETRY: The system call was interrupted, but should be
 // retried.  This should not be seen outside of the VDSO.
-constexpr uint32_t kZxErrInternalIntrRetry = -6;
+constexpr zx_status_t kZxErrInternalIntrRetry = -6;
 
 // ======= Parameter errors =======
 // ZX_ERR_INVALID_ARGS: an argument is invalid, ex. null pointer
-constexpr uint32_t kZxErrInvalidArgs = -10;
+constexpr zx_status_t kZxErrInvalidArgs = -10;
 
 // ZX_ERR_BAD_HANDLE: A specified handle value does not refer to a handle.
-constexpr uint32_t kZxErrBadHandle = -11;
+constexpr zx_status_t kZxErrBadHandle = -11;
 
 // ZX_ERR_WRONG_TYPE: The subject of the operation is the wrong type to
 // perform the operation.
 // Example: Attempting a message_read on a thread handle.
-constexpr uint32_t kZxErrWrongType = -12;
+constexpr zx_status_t kZxErrWrongType = -12;
 
 // ZX_ERR_BAD_SYSCALL: The specified syscall number is invalid.
-constexpr uint32_t kZxErrBadSyscall = -13;
+constexpr zx_status_t kZxErrBadSyscall = -13;
 
 // ZX_ERR_OUT_OF_RANGE: An argument is outside the valid range for this
 // operation.
-constexpr uint32_t kZxErrOutOfRange = -14;
+constexpr zx_status_t kZxErrOutOfRange = -14;
 
 // ZX_ERR_BUFFER_TOO_SMALL: A caller provided buffer is too small for
 // this operation.
-constexpr uint32_t kZxErrBufferTooSmall = -15;
+constexpr zx_status_t kZxErrBufferTooSmall = -15;
 
 // ======= Precondition or state errors =======
 // ZX_ERR_BAD_STATE: operation failed because the current state of the
 // object does not allow it, or a precondition of the operation is
 // not satisfied
-constexpr uint32_t kZxErrBadState = -20;
+constexpr zx_status_t kZxErrBadState = -20;
 
 // ZX_ERR_TIMED_OUT: The time limit for the operation elapsed before
 // the operation completed.
-constexpr uint32_t kZxErrTimedOut = -21;
+constexpr zx_status_t kZxErrTimedOut = -21;
 
 // ZX_ERR_SHOULD_WAIT: The operation cannot be performed currently but
 // potentially could succeed if the caller waits for a prerequisite
@@ -81,103 +84,103 @@
 // messages waiting but has an open remote will return ZX_ERR_SHOULD_WAIT.
 // Attempting to read from a channel that has no messages waiting
 // and has a closed remote end will return ZX_ERR_PEER_CLOSED.
-constexpr uint32_t kZxErrShouldWait = -22;
+constexpr zx_status_t kZxErrShouldWait = -22;
 
 // ZX_ERR_CANCELED: The in-progress operation (e.g. a wait) has been
 // canceled.
-constexpr uint32_t kZxErrCanceled = -23;
+constexpr zx_status_t kZxErrCanceled = -23;
 
 // ZX_ERR_PEER_CLOSED: The operation failed because the remote end of the
 // subject of the operation was closed.
-constexpr uint32_t kZxErrPeerClosed = -24;
+constexpr zx_status_t kZxErrPeerClosed = -24;
 
 // ZX_ERR_NOT_FOUND: The requested entity is not found.
-constexpr uint32_t kZxErrNotFound = -25;
+constexpr zx_status_t kZxErrNotFound = -25;
 
 // ZX_ERR_ALREADY_EXISTS: An object with the specified identifier
 // already exists.
 // Example: Attempting to create a file when a file already exists
 // with that name.
-constexpr uint32_t kZxErrAlreadyExists = -26;
+constexpr zx_status_t kZxErrAlreadyExists = -26;
 
 // ZX_ERR_ALREADY_BOUND: The operation failed because the named entity
 // is already owned or controlled by another entity. The operation
 // could succeed later if the current owner releases the entity.
-constexpr uint32_t kZxErrAlreadyBound = -27;
+constexpr zx_status_t kZxErrAlreadyBound = -27;
 
 // ZX_ERR_UNAVAILABLE: The subject of the operation is currently unable
 // to perform the operation.
 // Note: This is used when there's no direct way for the caller to
 // observe when the subject will be able to perform the operation
 // and should thus retry.
-constexpr uint32_t kZxErrUnavailable = -28;
+constexpr zx_status_t kZxErrUnavailable = -28;
 
 
 // ======= Permission check errors =======
 // ZX_ERR_ACCESS_DENIED: The caller did not have permission to perform
 // the specified operation.
-constexpr uint32_t kZxErrAccessDenied = -30;
+constexpr zx_status_t kZxErrAccessDenied = -30;
 
 // ======= Input-output errors =======
 // ZX_ERR_IO: Otherwise unspecified error occurred during I/O.
-constexpr uint32_t kZxErrIO = -40;
+constexpr zx_status_t kZxErrIO = -40;
 
 // ZX_ERR_REFUSED: The entity the I/O operation is being performed on
 // rejected the operation.
 // Example: an I2C device NAK'ing a transaction or a disk controller
 // rejecting an invalid command, or a stalled USB endpoint.
-constexpr uint32_t kZxErrIoRefused = -41;
+constexpr zx_status_t kZxErrIoRefused = -41;
 
 // ZX_ERR_IO_DATA_INTEGRITY: The data in the operation failed an integrity
 // check and is possibly corrupted.
 // Example: CRC or Parity error.
-constexpr uint32_t kZxErrIoDataIntegrity = -42;
+constexpr zx_status_t kZxErrIoDataIntegrity = -42;
 
 // ZX_ERR_IO_DATA_LOSS: The data in the operation is currently unavailable
 // and may be permanently lost.
 // Example: A disk block is irrecoverably damaged.
-constexpr uint32_t kZxErrIoDataLoss = -43;
+constexpr zx_status_t kZxErrIoDataLoss = -43;
 
 // ZX_ERR_IO_NOT_PRESENT: The device is no longer available (has been
 // unplugged from the system, powered down, or the driver has been
 // unloaded)
-constexpr uint32_t kZxErrIoNotPresent = -44;
+constexpr zx_status_t kZxErrIoNotPresent = -44;
 
 // ZX_ERR_IO_OVERRUN: More data was received from the device than expected.
 // Example: a USB "babble" error due to a device sending more data than
 // the host queued to receive.
-constexpr uint32_t kZxErrIoOverrun = -45;
+constexpr zx_status_t kZxErrIoOverrun = -45;
 
 // ZX_ERR_IO_MISSED_DEADLINE: An operation did not complete within the required timeframe.
 // Example: A USB isochronous transfer that failed to complete due to an overrun or underrun.
-constexpr uint32_t kZxErrIoMissedDeadline = -46;
+constexpr zx_status_t kZxErrIoMissedDeadline = -46;
 
 // ZX_ERR_IO_INVALID: The data in the operation is invalid parameter or is out of range.
 // Example: A USB transfer that failed to complete with TRB Error
-constexpr uint32_t kZxErrIoInvalid = -47;
+constexpr zx_status_t kZxErrIoInvalid = -47;
 
 // ======== Filesystem Errors ========
 // ZX_ERR_BAD_PATH: Path name is too long.
-constexpr uint32_t kZxErrBadPath = -50;
+constexpr zx_status_t kZxErrBadPath = -50;
 
 // ZX_ERR_NOT_DIR: Object is not a directory or does not support
 // directory operations.
 // Example: Attempted to open a file as a directory or
 // attempted to do directory operations on a file.
-constexpr uint32_t kZxErrNotDir = -51;
+constexpr zx_status_t kZxErrNotDir = -51;
 
 // ZX_ERR_NOT_FILE: Object is not a regular file.
-constexpr uint32_t kZxErrNotFile = -52;
+constexpr zx_status_t kZxErrNotFile = -52;
 
 // ZX_ERR_FILE_BIG: This operation would cause a file to exceed a
 // filesystem-specific size limit
-constexpr uint32_t kZxErrFileBig = -53;
+constexpr zx_status_t kZxErrFileBig = -53;
 
 // ZX_ERR_NO_SPACE: Filesystem or device space is exhausted.
-constexpr uint32_t kZxErrNoSpace = -54;
+constexpr zx_status_t kZxErrNoSpace = -54;
 
 // ZX_ERR_NOT_EMPTY: Directory is not empty.
-constexpr uint32_t kZxErrNotEmpty = -55;
+constexpr zx_status_t kZxErrNotEmpty = -55;
 
 // ======== Flow Control ========
 // These are not errors, as such, and will never be returned
@@ -189,13 +192,13 @@
 // event until it returns something other than ZX_OK.
 // This status allows differentiation between "stop due to
 // an error" and "stop because the work is done."
-constexpr uint32_t kZxErrStop = -60;
+constexpr zx_status_t kZxErrStop = -60;
 
 // ZX_ERR_NEXT: Advance to the next item.
 // Example: A notification callback will use this response
 // to indicate it did not "consume" an item passed to it,
 // but by choice, not due to an error condition.
-constexpr uint32_t kZxErrNext = -61;
+constexpr zx_status_t kZxErrNext = -61;
 
 // ZX_ERR_ASYNC: Ownership of the item has moved to an asynchronous worker.
 //
@@ -208,30 +211,30 @@
 // event, but one event needs to handle some work asynchronously
 // before it can continue. ZX_ERR_ASYNC implies the worker is
 // responsible for resuming iteration once its work has completed.
-constexpr uint32_t kZxErrAsync = -62;
+constexpr zx_status_t kZxErrAsync = -62;
 
 // ======== Network-related errors ========
 
 // ZX_ERR_PROTOCOL_NOT_SUPPORTED: Specified protocol is not
 // supported.
-constexpr uint32_t kZxErrProtocolNotSupported = -70;
+constexpr zx_status_t kZxErrProtocolNotSupported = -70;
 
 // ZX_ERR_ADDRESS_UNREACHABLE: Host is unreachable.
-constexpr uint32_t kZxErrAddressUnreachable = -71;
+constexpr zx_status_t kZxErrAddressUnreachable = -71;
 
 // ZX_ERR_ADDRESS_IN_USE: Address is being used by someone else.
-constexpr uint32_t kZxErrAddressInUse = -72;
+constexpr zx_status_t kZxErrAddressInUse = -72;
 
 // ZX_ERR_NOT_CONNECTED: Socket is not connected.
-constexpr uint32_t kZxErrNotConnected = -73;
+constexpr zx_status_t kZxErrNotConnected = -73;
 
 // ZX_ERR_CONNECTION_REFUSED: Remote peer rejected the connection.
-constexpr uint32_t kZxErrConnectionRefused = -74;
+constexpr zx_status_t kZxErrConnectionRefused = -74;
 
 // ZX_ERR_CONNECTION_RESET: Connection was reset.
-constexpr uint32_t kZxErrConnectionReset = -75;
+constexpr zx_status_t kZxErrConnectionReset = -75;
 
 // ZX_ERR_CONNECTION_ABORTED: Connection was aborted.
-constexpr uint32_t kZxErrConnectionAborted = -76;
+constexpr zx_status_t kZxErrConnectionAborted = -76;
 
 }  // namespace debug_ipc
diff --git a/garnet/lib/debug_ipc/protocol.cc b/garnet/lib/debug_ipc/protocol.cc
index 118449b..60010b3 100644
--- a/garnet/lib/debug_ipc/protocol.cc
+++ b/garnet/lib/debug_ipc/protocol.cc
@@ -6,6 +6,16 @@
 
 #include "lib/fxl/logging.h"
 
+#if defined(__Fuchsia__)
+
+#include <zircon/types.h>
+
+// If this static assertion fails, then we have to redefine
+// debug_ipc::zx_status_t appropriately.
+static_assert(std::is_same<::zx_status_t, debug_ipc::zx_status_t>::value);
+
+#endif
+
 namespace debug_ipc {
 
 constexpr uint32_t MsgHeader::kSerializedHeaderSize;
diff --git a/garnet/lib/debug_ipc/protocol.h b/garnet/lib/debug_ipc/protocol.h
index 5645d07..1cc4539 100644
--- a/garnet/lib/debug_ipc/protocol.h
+++ b/garnet/lib/debug_ipc/protocol.h
@@ -9,7 +9,10 @@
 
 namespace debug_ipc {
 
-constexpr uint32_t kProtocolVersion = 4;
+// As defined in zircon/types.h
+using zx_status_t = int32_t;
+
+constexpr uint32_t kProtocolVersion = 5;
 
 enum class Arch : uint32_t { kUnknown = 0, kX64, kArm64 };
 
@@ -107,7 +110,7 @@
   // process or a component.
   InferiorType inferior_type;
 
-  uint32_t status = 0;  // zx_status_t value from launch, ZX_OK on success.
+  zx_status_t status = 0;  // zx_status_t value from launch, ZX_OK on success.
   uint64_t process_koid = 0;
   std::string process_name;
 };
@@ -116,7 +119,7 @@
   uint64_t process_koid = 0;
 };
 struct KillReply {
-  uint32_t status = 0;
+  zx_status_t status = 0;
 };
 
 // The debug agent will follow a successful AttachReply with notifications for
@@ -130,7 +133,7 @@
 
 struct AttachReply {
   uint64_t koid = 0;
-  uint32_t status = 0;  // zx_status_t value from attaching. ZX_OK on success.
+  zx_status_t status = 0;  // zx_status_t value from attaching. ZX_OK on success.
   std::string name;
 };
 
@@ -141,7 +144,7 @@
   uint64_t koid = 0;
 };
 struct DetachReply {
-  uint32_t status = 0;
+  zx_status_t status = 0;
 };
 
 struct PauseRequest {
@@ -218,7 +221,7 @@
   // remove them all just because one failed). Therefore, you can't
   // definitively say the breakpoint is invalid just because it has a failure
   // code here. If necessary, we can add more information in the failure.
-  uint32_t status = 0;  // zx_status_t
+  zx_status_t status = 0;
 };
 
 struct RemoveBreakpointRequest {
@@ -276,7 +279,7 @@
 };
 
 struct JobFilterReply {
-  uint32_t status = 0;  // zx_status for filter request
+  zx_status_t status = 0;  // zx_status for filter request
 };
 
 struct WriteMemoryRequest {
@@ -286,7 +289,7 @@
 };
 
 struct WriteMemoryReply {
-  uint64_t status = 0;  // zx_status_t
+  zx_status_t status = 0;
 };
 
 // ReadRegisters ---------------------------------------------------------------
@@ -311,7 +314,7 @@
 };
 
 struct WriteRegistersReply {
-  uint64_t status = 0;  // zx_status_t.
+  zx_status_t status = 0;
 };
 
 // Notifications ---------------------------------------------------------------