TEMU  3.0
The Terma Emulator
IntegrationSupport.h
Go to the documentation of this file.
1 //===------------------------------------------------------------*- C++ -*-===//
2 //
3 // TEMU: The Terma Emulator
4 // (c) Terma 2022
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef TEMU_INTEGRATION_SUPPORT_H
10 #define TEMU_INTEGRATION_SUPPORT_H
11 
12 #include "temu-c/Memory/Memory.h"
13 #include "temu-c/Support/Objsys.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
27  void (*fetch)(void *Obj, uint32_t DeviceID, temu_MemTransaction *MT);
29  void (*read)(void *Obj, uint32_t DeviceID, temu_MemTransaction *MT);
31  void (*write)(void *Obj, uint32_t DeviceID, temu_MemTransaction *MT);
33 #define TEMU_DEVICE_ID_MEM_ACCESS_IFACE_TYPE "temu::DeviceIdMemAccessIface"
34 TEMU_IFACE_REFERENCE_TYPE(temu_DeviceIdMemAccess);
35 
43 typedef struct temu_DeviceIdIface {
45  void (*attach)(void *Obj, uint32_t DeviceID, void *UserPtr,
46  temu_DeviceIdMemAccessIface *UserIface);
48 #define TEMU_DEVICE_ID_IFACE_TYPE "temu::DeviceIdIface"
49 TEMU_IFACE_REFERENCE_TYPE(temu_DeviceId);
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
55 #endif /* ! TEMU_INTEGRATION_SUPPORT_H */
void(* read)(void *Obj, uint32_t DeviceID, temu_MemTransaction *MT)
Called when reading data.
Definition: IntegrationSupport.h:29
void(* attach)(void *Obj, uint32_t DeviceID, void *UserPtr, temu_DeviceIdMemAccessIface *UserIface)
Attach external device.
Definition: IntegrationSupport.h:45
void(* write)(void *Obj, uint32_t DeviceID, temu_MemTransaction *MT)
Called when writing data.
Definition: IntegrationSupport.h:31
TEMU_IFACE_REFERENCE_TYPE(temu_DeviceIdMemAccess)
Definition: Memory.h:103
Definition: IntegrationSupport.h:25
struct temu_DeviceIdIface temu_DeviceIdIface
void(* fetch)(void *Obj, uint32_t DeviceID, temu_MemTransaction *MT)
Called when fetching an instruction.
Definition: IntegrationSupport.h:27
Definition: IntegrationSupport.h:43
struct temu_DeviceIdMemAccessIface temu_DeviceIdMemAccessIface