operand_type_t type;
 };
 
+struct x86_prefix_list {
+  uint_t lock   : 1;
+};
 
 /* This parses an instruction 
  * All addresses in arguments are in the host address space
 int v3_parse_instr(struct guest_info * info,             // input
                   char * instr_ptr,                        // input 
                   uint_t * instr_length,                // output
+                  addr_t * opcode,                      // output
+                  uint_t * opcode_length,               // output
+                  struct x86_prefix_list * prefixes,    // output
                   struct x86_operand * src_operand,     // output
                   struct x86_operand * dst_operand,     // output
                   struct x86_operand * extra_operand);  // output
 
 int v3_parse_instr(struct guest_info * info,
                   char * instr_ptr,
                   uint_t * instr_length, 
+                  addr_t * opcode,
+                  uint_t * opcode_length,
+                  struct x86_prefix_list * prefixes,
                   struct x86_operand * src_operand,
                   struct x86_operand * dst_operand,
                   struct x86_operand * extra_operand) {