OSDN Git Service

* public snapshot of sid simulator
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / gloss / m32r.h
1 // m32r.h - Class declaration for the M32R gloss component, using
2 // Cygnus' libgloss.  -*- C++ -*-
3
4 // Copyright (C) 1999, 2000 Red Hat.
5 // This file is part of SID and is licensed under the GPL.
6 // See the file COPYING.SID for conditions for redistribution.
7
8 #ifndef M32R_H
9 #define M32R_H
10
11 #include "gloss.h"
12
13 class m32r_libgloss: public gloss32
14 {
15 public:
16
17   m32r_libgloss();
18
19 private:
20
21   // ABI-specifics, for getting syscall arguments and setting results.
22   // ??? Class by itself.
23   // ??? Perhaps this shouldn't be here at all as it's really an
24   // implementation detail (but lots of implementations will probably use it).
25   bool get_int_argument(unsigned index, int32& value);
26   bool set_int_result(int32 value);
27   bool set_error_result(int32 value);
28
29   // Return boolean indicating if cpu is requesting something we're to handle.
30   bool syscall_trap_p();
31   // Perform a system call trap.
32   void syscall_trap();
33
34   // Convert host errno to target errno.
35   int host_to_target_errno (int errno_);
36 };
37
38 #endif /* M32R_H */