<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 8:40 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 22/05/2019 15:23, Joel Sherrill wrote:<br>
> I'm OK with this.<br>
><br>
> Is the statement that the API and class numbers are not<br>
> guaranteed to be held constant across releases something<br>
> that should be explicitly in a comment or requirement?<br>
<br>
The question is how can an application get one of the class numbers? I <br>
think the only legal way is to create an object and then use <br>
rtems_object_id_get_class(). The constants are only for internal use and <br>
not a part of the API?<br></blockquote><div><br></div><div>Originally, they were not exposed at all and the encoding of the object</div><div>id was just an artifact of the implementation. The rtems_object* methods</div><div>were added to make it easier to decode an existing Id.</div><div><br></div><div>So yes. These constants have never been part of the public API because</div><div>applications were being supported in decoding Ids, not creating them.</div><div><br></div><div>Have you got a use case in mind to add them?  </div><div><br></div><div>FWIW the original standard did not include what would now be called</div><div>object introspection APIs. I wouldn't be opposed to us defining a set of</div><div>APIs to examine and walk the object sets. There are already a pretty </div><div>good set in the monitor[1] which would make a great base to split off</div><div>and formally add to the API set. </div><div><br></div><div>So I would like to take a broad holistic view of introspection. There is</div><div>lots of useful information that could be reported without people poking</div><div>under the hood in ways we discourage.</div><div><br></div><div>[1] Credit to Chris for writing these many years ago. git blame still shows</div><div>many lines of monitor.h with 1995 and 1996 dates.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br>
</blockquote></div></div>