protected void write(SignalOutputStream out) throws IOException {
   out.writeS32(pid);
   out.writeS32(status);
   if (registers != null) {
     out.writeS32(registers.length);
     out.writeS32Array(registers);
   } else {
     out.writeS32(0);
   }
 }
 protected void write(SignalOutputStream out) throws IOException {
   super.write(out);
   out.writeS32(from);
   out.writeBoolean(exec);
   out.writeS32(error);
   out.writeS32(extra);
   out.writeS32(lineNumber);
   out.writeS32(0); // U32 fileNameOffset
   out.writeS16(euId);
   out.writeS16((short) 0); // Unused U16 reserved0
   reserved1 = 0;
   if (monitorExtendedErrorInfo != null) {
     reserved1 = fileName.length() + 1;
   }
   out.writeS32(reserved1); // reserved1
   out.writeString((fileName != null) ? fileName : "");
   if (reserved1 > 0) {
     monitorExtendedErrorInfo.write(out);
   }
 }
 protected void write(SignalOutputStream out) throws IOException {
   out.writeS32(snapshotId);
   out.writeS32(pid);
   out.writeS32(core);
   out.writeS64(timeStamp);
   out.writeS32(errorCode);
   out.writeS32(eCodeExtra);
   out.writeS32(sigLeft);
   out.writeS32(eCodeExtraHi);
   out.writeS16((short) 0); // Unused U16 reserved0
   out.writeS16((short) 0); // Unused U16 reserved1
   out.writeS32(tracepointId);
   out.writeS32(dataLength);
   out.writeS8Array(traceData);
 }