VirtualBox

source: vbox/trunk/src/VBox/Runtime/include/internal/magics.h@ 71710

Last change on this file since 71710 was 71492, checked in by vboxsync, 7 years ago

Runtime: Introduce RTTraceLog* API for creating and parsing binary trace log files. The format and API is designed with the

following goals in mind:

  1. Allow streaming the data via network or write it to a file.
  2. Embed the structure of the traced data into the log allowing arbitrary structured data to be embedded without requiring adaptions on the parsing side.
  3. Allow grouping of traced data belonging together to easily follow chains of events later on.
  4. Trace events can have a parent assigned to check where an event originally originated from.
  5. Low overhead on the creation side.

The current state implements the absolute basics on the creation and parsing side and is work in progress. This will
be used later on in the device emulation fuzzer to capture device and examine device states and changes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 14.9 KB
Line 
1/* $Id: magics.h 71492 2018-03-24 22:23:10Z vboxsync $ */
2/** @file
3 * IPRT - Internal header defining The Magic Numbers.
4 */
5
6/*
7 * Copyright (C) 2007-2018 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 *
17 * The contents of this file may alternatively be used under the terms
18 * of the Common Development and Distribution License Version 1.0
19 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20 * VirtualBox OSE distribution, in which case the provisions of the
21 * CDDL are applicable instead of those of the GPL.
22 *
23 * You may elect to license modified versions of this file under the
24 * terms and conditions of either the GPL or the CDDL or both.
25 */
26
27#ifndef ___internal_magics_h
28#define ___internal_magics_h
29
30/** @name Magic Numbers.
31 * @{ */
32
33/** Magic number for RTAIOMGRINT::u32Magic. (Emil Erich Kaestner) */
34#define RTAIOMGR_MAGIC UINT32_C(0x18990223)
35/** Magic number for RTAIOMGRINTFILE::u32Magic. (Ephraim Kishon) */
36#define RTAIOMGRFILE_MAGIC UINT32_C(0x19240823)
37/** Magic number for RTDBGMODINT::u32Magic. (Charles Lloyd) */
38#define RTDBGAS_MAGIC UINT32_C(0x19380315)
39/** Magic number for RTDBGCFGINT::u32Magic. (McCoy Tyner) */
40#define RTDBGCFG_MAGIC UINT32_C(0x19381211)
41/** Magic number for RTDBGMODINT::u32Magic. (Keith Jarrett) */
42#define RTDBGMOD_MAGIC UINT32_C(0x19450508)
43/** Magic number for RTDBGMODVTIMG::u32Magic. (Jack DeJohnette) */
44#define RTDBGMODVTDBG_MAGIC UINT32_C(0x19420809)
45/** Magic number for RTDBGMODVTIMG::u32Magic. (Cecil McBee) */
46#define RTDBGMODVTIMG_MAGIC UINT32_C(0x19350419)
47/** Magic value for RTDBGKRNLINFOINT::u32Magic. (John Carmack) */
48#define RTDBGKRNLINFO_MAGIC UINT32_C(0x19700820)
49/** The value of RTDIRINTERNAL::u32Magic. (Michael Ende) */
50#define RTDIR_MAGIC UINT32_C(0x19291112)
51/** The value of RTDIRINTERNAL::u32Magic after RTDirClose(). */
52#define RTDIR_MAGIC_DEAD UINT32_C(0x19950829)
53/** The value of RTDVMINTERNAL::u32Magic. (Dan Brown) */
54#define RTDVM_MAGIC UINT32_C(0x19640622)
55/** The value of RTDVMINTERNAL::u32Magic after close. */
56#define RTDVM_MAGIC_DEAD (~RTDVM_MAGIC)
57/** The value of RTDVMVOLUMEINTERNAL::u32Magic. (Daniel Defoe) */
58#define RTDVMVOLUME_MAGIC UINT32_C(0x16591961)
59/** The value of RTDVMVOLUMEINTERNAL::u32Magic after close. */
60#define RTDVMVOLUME_MAGIC_DEAD UINT32_C(0x17310424)
61/** The value of RTFILEAIOCTXINT::u32Magic. (Howard Phillips Lovecraft) */
62#define RTFILEAIOCTX_MAGIC UINT32_C(0x18900820)
63/** The value of RTFILEAIOCTXINT::u32Magic after RTFileAioCtxDestroy(). */
64#define RTFILEAIOCTX_MAGIC_DEAD UINT32_C(0x19370315)
65/** The value of RTFILEAIOREQINT::u32Magic. (Stephen Edwin King) */
66#define RTFILEAIOREQ_MAGIC UINT32_C(0x19470921)
67/** The value of RTENVINTERNAL::u32Magic. (Rumiko Takahashi) */
68#define RTENV_MAGIC UINT32_C(0x19571010)
69/** The value of RTERRVARS::ai32Vars[0]. (Ryuichi Sakamoto) */
70#define RTERRVARS_MAGIC UINT32_C(0x19520117)
71/** The value of RTFSISOMAKERINT::uMagic. (Brian Blade) */
72#define RTFSISOMAKERINT_MAGIC UINT32_C(0x19700725)
73/** Magic number for RTHANDLETABLEINT::u32Magic. (Hitomi Kanehara) */
74#define RTHANDLETABLE_MAGIC UINT32_C(0x19830808)
75/** Magic number for RTHEAPOFFSETINTERNAL::u32Magic. (Neal Town Stephenson) */
76#define RTHEAPOFFSET_MAGIC UINT32_C(0x19591031)
77/** Magic number for RTHEAPSIMPLEINTERNAL::uMagic. (Kyoichi Katayama) */
78#define RTHEAPSIMPLE_MAGIC UINT32_C(0x19590105)
79/** The magic value for RTHTTPINTERNAL::u32Magic. (Karl May) */
80#define RTHTTP_MAGIC UINT32_C(0x18420225)
81/** The value of RTHTTPINTERNAL::u32Magic after close. */
82#define RTHTTP_MAGIC_DEAD UINT32_C(0x19120330)
83/** The value of RTINIFILEINT::u32Magic. (Jane Austen) */
84#define RTINIFILE_MAGIC UINT32_C(0x17751216)
85/** The value of RTINIFILEINT::u32Magic after close. */
86#define RTINIFILE_MAGIC_DEAD UINT32_C(0x18170718)
87/** The magic value for RTLDRMODINTERNAL::u32Magic. (Alan Moore) */
88#define RTLDRMOD_MAGIC UINT32_C(0x19531118)
89/** The magic value for RTLOCALIPCSERVER::u32Magic. (Naoki Yamamoto) */
90#define RTLOCALIPCSERVER_MAGIC UINT32_C(0x19600201)
91/** The magic value for RTLOCALIPCSERVER::u32Magic. (Katsuhiro Otomo) */
92#define RTLOCALIPCSESSION_MAGIC UINT32_C(0x19530414)
93/** The magic value for RTLOCKVALCLASSINT::u32Magic. (Thomas Mann) */
94#define RTLOCKVALCLASS_MAGIC UINT32_C(0x18750605)
95/** The magic value for RTLOCKVALCLASSINT::u32Magic after destruction. */
96#define RTLOCKVALCLASS_MAGIC_DEAD UINT32_C(0x19550812)
97/** The magic value for RTLOCKVALRECEXCL::u32Magic. (Vladimir Vladimirovich Nabokov) */
98#define RTLOCKVALRECEXCL_MAGIC UINT32_C(0x18990422)
99/** The dead magic value for RTLOCKVALRECEXCL::u32Magic. */
100#define RTLOCKVALRECEXCL_MAGIC_DEAD UINT32_C(0x19770702)
101/** The magic value for RTLOCKVALRECSHRD::u32Magic. (Agnar Mykle) */
102#define RTLOCKVALRECSHRD_MAGIC UINT32_C(0x19150808)
103/** The magic value for RTLOCKVALRECSHRD::u32Magic after deletion. */
104#define RTLOCKVALRECSHRD_MAGIC_DEAD UINT32_C(0x19940115)
105/** The magic value for RTLOCKVALRECSHRDOWN::u32Magic. (Jens Ingvald Bjoerneboe) */
106#define RTLOCKVALRECSHRDOWN_MAGIC UINT32_C(0x19201009)
107/** The magic value for RTLOCKVALRECSHRDOWN::u32Magic after deletion. */
108#define RTLOCKVALRECSHRDOWN_MAGIC_DEAD UINT32_C(0x19760509)
109/** The magic value for RTLOCKVALRECNEST::u32Magic. (Anne Desclos) */
110#define RTLOCKVALRECNEST_MAGIC UINT32_C(0x19071123)
111/** The magic value for RTLOCKVALRECNEST::u32Magic after deletion. */
112#define RTLOCKVALRECNEST_MAGIC_DEAD UINT32_C(0x19980427)
113/** Magic number for RTMEMCACHEINT::u32Magic. (Joseph Weizenbaum) */
114#define RTMEMCACHE_MAGIC UINT32_C(0x19230108)
115/** Dead magic number for RTMEMCACHEINT::u32Magic. */
116#define RTMEMCACHE_MAGIC_DEAD UINT32_C(0x20080305)
117/** The magic value for RTMEMPOOL::u32Magic. (Jane Austin) */
118#define RTMEMPOOL_MAGIC UINT32_C(0x17751216)
119/** The magic value for RTMEMPOOL::u32Magic after RTMemPoolDestroy. */
120#define RTMEMPOOL_MAGIC_DEAD UINT32_C(0x18170718)
121/** The magic value for heap blocks. (Edgar Allan Poe) */
122#define RTMEMHDR_MAGIC UINT32_C(0x18090119)
123/** The magic value for heap blocks after freeing. */
124#define RTMEMHDR_MAGIC_DEAD UINT32_C(0x18491007)
125/** The value of RTPIPEINTERNAL::u32Magic. (Frank Schaetzing) */
126#define RTPIPE_MAGIC UINT32_C(0x19570528)
127/** The value of RTPOLLSETINTERNAL::u32Magic. (Ai Yazawa) */
128#define RTPOLLSET_MAGIC UINT32_C(0x19670307)
129/** RTR0MEMOBJ::u32Magic. (Masakazu Katsura) */
130#define RTR0MEMOBJ_MAGIC UINT32_C(0x19611210)
131/** RTRANDINT::u32Magic. (Alan Moore) */
132#define RTRANDINT_MAGIC UINT32_C(0x19531118)
133/** The value of RTREQ::u32Magic. */
134#define RTREQ_MAGIC UINT32_C(0xfeed0001) /**< @todo find a value */
135/** The value of RTREQ::u32Magic of a freed request. */
136#define RTREQ_MAGIC_DEAD (~RTREQ_MAGIC)
137/** The value of RTREQPOOLINT::u32Magic. */
138#define RTREQPOOL_MAGIC UINT32_C(0xfeed0002)/**< @todo find a value */
139/** The value of RTREQPOOLINT::u32Magic after destruction. */
140#define RTREQPOOL_MAGIC_DEAD (~RTREQPOOL_MAGIC)
141/** The value of RTREQQUEUEINT::u32Magic. */
142#define RTREQQUEUE_MAGIC UINT32_C(0xfeed0003)/**< @todo find a value */
143/** The value of RTREQQUEUEINT::u32Magic after destruction. */
144#define RTREQQUEUE_MAGIC_DEAD (~RTREQQUEUE_MAGIC)
145/** The value of RTS3::u32Magic. (Edgar Wallace) */
146#define RTS3_MAGIC UINT32_C(0x18750401)
147/** The value of RTS3::u32Magic after RTS3Destroy(). */
148#define RTS3_MAGIC_DEAD UINT32_C(0x19320210)
149/** Magic for the event semaphore structure. (Neil Gaiman) */
150#define RTSEMEVENT_MAGIC UINT32_C(0x19601110)
151/** Magic for the multiple release event semaphore structure. (Isaac Asimov) */
152#define RTSEMEVENTMULTI_MAGIC UINT32_C(0x19200102)
153/** Dead magic value for multiple release event semaphore structures. */
154#define RTSEMEVENTMULTI_MAGIC_DEAD UINT32_C(0x19920406)
155/** Magic value for RTSEMFASTMUTEXINTERNAL::u32Magic. (John Ronald Reuel Tolkien) */
156#define RTSEMFASTMUTEX_MAGIC UINT32_C(0x18920103)
157/** Dead magic value for RTSEMFASTMUTEXINTERNAL::u32Magic. */
158#define RTSEMFASTMUTEX_MAGIC_DEAD UINT32_C(0x19730902)
159/** Magic for the mutex semaphore structure. (Douglas Adams) */
160#define RTSEMMUTEX_MAGIC UINT32_C(0x19520311)
161/** Dead magic for the mutex semaphore structure. */
162#define RTSEMMUTEX_MAGIC_DEAD UINT32_C(0x20010511)
163/** Magic for the spinning mutex semaphore structure. (Natsume Soseki) */
164#define RTSEMSPINMUTEX_MAGIC UINT32_C(0x18670209)
165/** Dead magic value for RTSEMSPINMUTEXINTERNAL::u32Magic. */
166#define RTSEMSPINMUTEX_MAGIC_DEAD UINT32_C(0x19161209)
167/** RTSEMRWINTERNAL::u32Magic value. (Kosuke Fujishima) */
168#define RTSEMRW_MAGIC UINT32_C(0x19640707)
169/** RTSEMXROADSINTERNAL::u32Magic value. (Kenneth Elton "Ken" Kesey) */
170#define RTSEMXROADS_MAGIC UINT32_C(0x19350917)
171/** RTSEMXROADSINTERNAL::u32Magic value after RTSemXRoadsDestroy. */
172#define RTSEMXROADS_MAGIC_DEAD UINT32_C(0x20011110)
173/** RTSERIALPORTINTERNAL::u32Magic value (Jules-Gabriel Verne). */
174#define RTSERIALPORT_MAGIC UINT32_C(0x18280208)
175/** RTSERIALPORTINTERNAL::u32Magic value after RTSerialPortClose. */
176#define RTSERIALPORT_MAGIC_DEAD UINT32_C(0x19050324)
177/** The magic value for RTSOCKETINT::u32Magic. (Stanislaw Lem) */
178#define RTSOCKET_MAGIC UINT32_C(0x19210912)
179/** The magic value for RTSOCKETINT::u32Magic after destruction. */
180#define RTSOCKET_MAGIC_DEAD UINT32_C(0x20060326)
181/** Magic value for RTSPINLOCKINTERNAL::u32Magic. (Terry Pratchett) */
182#define RTSPINLOCK_MAGIC UINT32_C(0x19480428)
183/** Magic value for generic RTSPINLOCKINTERNAL::u32Magic (Georges Prosper Remi). */
184#define RTSPINLOCK_GEN_MAGIC UINT32_C(0x10970522)
185/** Magic value for RTSTRCACHE::u32Magic. (Sir Arthur Charles Clarke) */
186#define RTSTRCACHE_MAGIC UINT32_C(0x19171216)
187/** Magic value for RTSTRCACHE::u32Magic after RTStrCacheDestroy. */
188#define RTSTRCACHE_MAGIC_DEAD UINT32_C(0x20080319)
189/** The value of RTSTREAM::u32Magic for a valid stream. */
190#define RTSTREAM_MAGIC UINT32_C(0xe44e44ee)
191/** Magic value for RTTCPSERVER::u32Magic. (Jan Garbarek) */
192#define RTTCPSERVER_MAGIC UINT32_C(0x19470304)
193/** Magic value for RTTCPSERVER::u32Magic. (Harlan Ellison) */
194#define RTUDPSERVER_MAGIC UINT32_C(0x19340527)
195/** The value of RTTAR::u32Magic. (Donald Ervin Knuth) */
196#define RTTAR_MAGIC UINT32_C(0x19380110)
197/** The value of RTTAR::u32Magic after RTTarClose(). */
198#define RTTAR_MAGIC_DEAD ~RTTAR_MAGIC
199/** The value of RTTARFILE::u32Magic. (Abraham Stoker) */
200#define RTTARFILE_MAGIC UINT32_C(0x18471108)
201/** The value of RTTARFILE::u32Magic after RTTarFileClose(). */
202#define RTTARFILE_MAGIC_DEAD UINT32_C(0x19120420)
203/** RTTESTINT::u32Magic value. (Daniel Kehlmann) */
204#define RTTESTINT_MAGIC UINT32_C(0x19750113)
205/** RTTHREADCTXHOOKINT::u32Magic value. (Dennis MacAlistair Ritchie) */
206#define RTTHREADCTXHOOKINT_MAGIC UINT32_C(0x19410909)
207/** RTTHREADINT::u32Magic value. (Gilbert Keith Chesterton) */
208#define RTTHREADINT_MAGIC UINT32_C(0x18740529)
209/** RTTHREADINT::u32Magic value for a dead thread. */
210#define RTTHREADINT_MAGIC_DEAD UINT32_C(0x19360614)
211/** Magic number for timer handles. (Jared Mason Diamond) */
212#define RTTIMER_MAGIC UINT32_C(0x19370910)
213/** Magic number for timer low resolution handles. (Saki Hiwatari) */
214#define RTTIMERLR_MAGIC UINT32_C(0x19610715)
215/** Magic value of RTTRACEBUFINT::u32Magic. (George Orwell) */
216#define RTTRACEBUF_MAGIC UINT32_C(0x19030625)
217/** Magic value of RTTRACEBUFINT::u32Magic after the final release. */
218#define RTTRACEBUF_MAGIC_DEAD UINT32_C(0x19500121)
219/** The value of RTTRACELOGRDRINT::u32Magic. (John Michael Scalzi) */
220#define RTTRACELOGRDR_MAGIC UINT32_C(0x19690510)
221/** The value of RTTRACELOGRDRINT::u32Magic after RTTraceLogRdrDestroy(). */
222#define RTTRACELOGRDR_MAGIC_DEAD (~RTTRACELOGRDR_MAGIC)
223/** The value of RTTRACELOGWRINT::u32Magic. (Herbert George Wells) */
224#define RTTRACELOGWR_MAGIC UINT32_C(0x18660921)
225/** The value of RTTRACELOGWRINT::u32Magic after RTTraceLogWrDestroy(). */
226#define RTTRACELOGWR_MAGIC_DEAD UINT32_C(0x19460813)
227/** The value of RTVFSOBJINTERNAL::u32Magic. (Yasunari Kawabata) */
228#define RTVFSOBJ_MAGIC UINT32_C(0x18990614)
229/** The value of RTVFSOBJINTERNAL::u32Magic after close. */
230#define RTVFSOBJ_MAGIC_DEAD UINT32_C(0x19720416)
231/** The value of RTVFSINTERNAL::u32Magic. (Sir Kingsley William Amis) */
232#define RTVFS_MAGIC UINT32_C(0x19220416)
233/** The value of RTVFSINTERNAL::u32Magic after close. */
234#define RTVFS_MAGIC_DEAD UINT32_C(0x19951022)
235/** The value of RTVFSFSSTREAMINTERNAL::u32Magic. (William McGuire "Bill" Bryson) */
236#define RTVFSFSSTREAM_MAGIC UINT32_C(0x19511208)
237/** The value of RTVFSFSSTREAMINTERNAL::u32Magic after close */
238#define RTVFSFSSTREAM_MAGIC_DEAD (~RTVFSFSSTREAM_MAGIC)
239/** The value of RTVFSDIRINTERNAL::u32Magic. (Franklin Patrick Herbert, Jr.) */
240#define RTVFSDIR_MAGIC UINT32_C(0x19201008)
241/** The value of RTVFSDIRINTERNAL::u32Magic after close. */
242#define RTVFSDIR_MAGIC_DEAD UINT32_C(0x19860211)
243/** The value of RTVFSFILEINTERNAL::u32Magic. (Charles John Huffam Dickens) */
244#define RTVFSFILE_MAGIC UINT32_C(0x18120207)
245/** The value of RTVFSFILEINTERNAL::u32Magic after close. */
246#define RTVFSFILE_MAGIC_DEAD UINT32_C(0x18700609)
247/** The value of RTVFSIOSTREAMINTERNAL::u32Magic. (Ernest Miller Hemingway) */
248#define RTVFSIOSTREAM_MAGIC UINT32_C(0x18990721)
249/** The value of RTVFSIOSTREAMINTERNAL::u32Magic after close. */
250#define RTVFSIOSTREAM_MAGIC_DEAD UINT32_C(0x19610702)
251/** The value of RTVFSSYMLINKINTERNAL::u32Magic. (Francis Scott Key Fitzgerald) */
252#define RTVFSSYMLINK_MAGIC UINT32_C(0x18960924)
253/** The value of RTVFSSYMLINKINTERNAL::u32Magic after close. */
254#define RTVFSSYMLINK_MAGIC_DEAD UINT32_C(0x19401221)
255
256/** @} */
257
258#endif
259
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette