L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
remote_access
1// vi:set ft=cpp: -*- Mode: C++ -*-
2/*
3 * Copyright (C) 2025 Adam Lackorzynski <adam@l4re.org>
4 *
5 * License: see LICENSE.spdx (in this directory or the directories above)
6 */
7
8#pragma once
9
10#include <l4/re/protocols.h>
11#include <l4/sys/cxx/ipc_iface>
12#include <l4/sys/cxx/ipc_types>
13#include <l4/sys/cxx/types>
14#include <l4/sys/l4int.h>
15
16namespace L4Re
17{
18
19struct L4_EXPORT Remote_access
20: public L4::Kobject_t<Remote_access, L4::Kobject, L4RE_PROTO_REMOTE_ACCESS>
21{
22 enum Access_width
23 {
24 Wd_8bit = 0,
25 Wd_16bit = 1,
26 Wd_32bit = 2,
27 Wd_64bit = 3
28 };
29
30 L4_INLINE_RPC(long, read_mem, (l4_addr_t addr, char width, l4_uint64_t *value));
31 L4_INLINE_RPC(long, write_mem, (l4_addr_t addr, char width, l4_uint64_t value));
32
33 //L4_INLINE_RPC(long, get_regs, (unsigned TBD_THREAD_ID, l4_exc_regs_t *regs));
34 //L4_INLINE_RPC(long, set_regs, (unsigned TBD_THREAD_ID, l4_exc_regs_t regs));
35
36 // !!! sizeof(l4_fpu_regs_t) > sizeof(utcb)
37 //L4_INLINE_RPC(long, get_fpu_regs, (l4_fpu_regs_t *regs));
38 //L4_INLINE_RPC(long, set_fpu_regs, (l4_fpu_regs_t regs));
39
40 L4_INLINE_RPC(long, terminate, (int exit_code), L4::Ipc::Send_only);
41
43};
44
45}
Helper class to create an L4Re interface class that is derived from a single base class.
Definition __typeinfo.h:750
unsigned long l4_addr_t
Address type.
Definition l4int.h:34
unsigned long long l4_uint64_t
Unsigned 64bit value.
Definition l4int.h:31
#define L4_EXPORT
Attribute to mark functions, variables, and data types as being exported from a library.
Definition compiler.h:210
Interface Definition Language.
#define L4_INLINE_RPC(res, name, args, attr...)
Define an inline RPC call (type and callable).
Definition ipc_iface:482
L4Re C++ Interfaces.
Definition cmd_control:14
L4Re Protocol Constants (C version)
RPC attribute for a send-only RPC.
Definition ipc_iface:288
Standard list of RPCs of an interface.
Definition __typeinfo.h:428