L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
debugger
Go to the documentation of this file.
1// vi:set ft=cpp: -*- Mode: C++ -*-
6/*
7 * (c) 2010-2011 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
8 * Alexander Warg <warg@os.inf.tu-dresden.de>
9 * economic rights: Technische Universität Dresden (Germany)
10 *
11 * License: see LICENSE.spdx (in this directory or the directories above)
12 */
13#pragma once
14
15#include <l4/sys/debugger.h>
16#include <l4/sys/kobject>
17
18namespace L4 {
19
42class Debugger : public Kobject_t<Debugger, Kobject, L4_PROTO_DEBUGGER>
43{
44public:
45 enum
46 {
47 Switch_log_on = L4_DEBUGGER_SWITCH_LOG_ON,
48 Switch_log_off = L4_DEBUGGER_SWITCH_LOG_OFF,
49 };
50
59 l4_msgtag_t set_object_name(const char *name,
60 l4_utcb_t *utcb = l4_utcb()) noexcept
61 { return l4_debugger_set_object_name_u(cap(), name, utcb); }
62
71 unsigned long global_id(l4_utcb_t *utcb = l4_utcb()) noexcept
72 { return l4_debugger_global_id_u(cap(), utcb); }
73
83 unsigned long kobj_to_id(l4_addr_t kobjp,
84 l4_utcb_t *utcb = l4_utcb()) noexcept
85 { return l4_debugger_kobj_to_id_u(cap(), kobjp, utcb); }
86
97 long query_log_typeid(const char *name, unsigned idx,
98 l4_utcb_t *utcb = l4_utcb()) noexcept
99 { return l4_debugger_query_log_typeid_u(cap(), name, idx, utcb); }
100
116 long query_log_name(unsigned idx,
117 char *name, unsigned namelen,
118 char *shortname, unsigned shortnamelen,
119 l4_utcb_t *utcb = l4_utcb()) noexcept
120 {
121 return l4_debugger_query_log_name_u(cap(), idx, name, namelen,
122 shortname, shortnamelen, utcb);
123 }
124
133 l4_msgtag_t switch_log(const char *name, unsigned on_off,
134 l4_utcb_t *utcb = l4_utcb()) noexcept
135 { return l4_debugger_switch_log_u(cap(), name, on_off, utcb); }
136
148 l4_msgtag_t get_object_name(unsigned id, char *name, unsigned size,
149 l4_utcb_t *utcb = l4_utcb()) noexcept
150 { return l4_debugger_get_object_name_u(cap(), id, name, size, utcb); }
151
161 l4_msgtag_t add_image_info(l4_addr_t base, const char *name,
162 l4_utcb_t *utcb = l4_utcb()) noexcept
163 { return l4_debugger_add_image_info_u(cap(), base, name, utcb); }
164};
165}
C++ kernel debugger API.
Definition debugger:43
l4_msgtag_t add_image_info(l4_addr_t base, const char *name, l4_utcb_t *utcb=l4_utcb()) noexcept
Add loaded image information for a task.
Definition debugger:161
l4_msgtag_t get_object_name(unsigned id, char *name, unsigned size, l4_utcb_t *utcb=l4_utcb()) noexcept
Get name of object with Id id.
Definition debugger:148
unsigned long global_id(l4_utcb_t *utcb=l4_utcb()) noexcept
Get the globally unique ID of the object behind a capability.
Definition debugger:71
long query_log_name(unsigned idx, char *name, unsigned namelen, char *shortname, unsigned shortnamelen, l4_utcb_t *utcb=l4_utcb()) noexcept
Query the name of a log type given the ID.
Definition debugger:116
long query_log_typeid(const char *name, unsigned idx, l4_utcb_t *utcb=l4_utcb()) noexcept
Query the log-id for a log type.
Definition debugger:97
l4_msgtag_t switch_log(const char *name, unsigned on_off, l4_utcb_t *utcb=l4_utcb()) noexcept
Set or unset log.
Definition debugger:133
unsigned long kobj_to_id(l4_addr_t kobjp, l4_utcb_t *utcb=l4_utcb()) noexcept
Get the globally unique ID of the object behind the kobject pointer.
Definition debugger:83
l4_msgtag_t set_object_name(const char *name, l4_utcb_t *utcb=l4_utcb()) noexcept
Set the name of a kernel object.
Definition debugger:59
Helper class to create an L4Re interface class that is derived from a single base class.
Definition __typeinfo.h:750
l4_cap_idx_t cap() const noexcept
Return capability selector.
Definition kobject:69
Debugger related definitions.
unsigned long l4_addr_t
Address type.
Definition l4int.h:34
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
Definition utcb.h:56
l4_utcb_t * l4_utcb(void) L4_NOTHROW L4_PURE
Get the UTCB address.
Definition utcb.h:346
L4 low-level kernel interface.
Message tag data structure.
Definition types.h:153