1//===-- RegisterContextMach_i386.h ------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef liblldb_RegisterContextMach_i386_h_
10#define liblldb_RegisterContextMach_i386_h_
11
12#include "RegisterContextDarwin_i386.h"
13
14class RegisterContextMach_i386 : public RegisterContextDarwin_i386 {
15public:
16  RegisterContextMach_i386(lldb_private::Thread &thread,
17                           uint32_t concrete_frame_idx);
18
19  virtual ~RegisterContextMach_i386();
20
21protected:
22  virtual int DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr);
23
24  int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu);
25
26  int DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc);
27
28  int DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr);
29
30  int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu);
31
32  int DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc);
33};
34
35#endif // liblldb_RegisterContextMach_i386_h_
36