1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
|
<HTML>
<HEAD>
<!-- $Id: Tags.html,v 1.6 1999/07/30 16:22:24 coryan Exp $ -->
<TITLE>Tags used in TAO</TITLE>
</HEAD>
<BODY text = "#000000"
link="#000fff"
vlink="#ff0f0f"
bgcolor="#ffffff">
<HR><P><H3 ALIGN=CENTER>Tags used in TAO</H3></P>
<H3>Overview</H3>
<P>The <A HREF="http://www.omg.org/library/c2indx.html">CORBA</A>
specification defines several tags, a.k.a. <EM>magic numbers</EM>,
to distinguish between several otherwise opaque entities.
For example,
all profiles are transmitted as a CDR encapsulation (a sequence
of octets),
using a tag the type of the profile can be determined and the
encapsulation can be properly interpreted.
</P>
<P>To ensure that the tags uniquely indentify the entities in each
namespace the <A HREF="http://www.omg.org/">OMG</A> acts as an
<EM>allocation authority</EM>,
keeps a registry of the tags allocated so far and assigning the
new tag values on demand.
The process to request a tag is very simple,
interested readers can consult
<A HREF="http://www.omg.org/cgi-bin/doc?ptc/99-02-01">this
link</A>
for more details
</P>
<P>We have reserved several tags for TAO, this page documents
those tags and how they are used, some details are subject to
change. We recommend that interested readers check the
<A HREF="../releasenotes/index.html">release notes</A>
</P>
<H3>List of TAGS</H3>
<H4>ORB Type ID</H4>
<P><TABLE BORDER="2" CELLSPACING="2" CELLPADDING="0" >
<TR><TH>Hex Value</TH><TH>ASCII Representation</TH>
<TH>Description</TH></TR>
<TR>
<TD>0x54414f00</TD><TD>"TAO\0x00"</TD><TD>IIOP profiles
contain a component list. One of the elements of this
list (the <CODE>IOP::TAG_ORB_TYPE</CODE>) contains a
identifier for the ORB that created the profile.
</TD>
</TR>
</TABLE></P>
<H4>IOR Profile IDs</H4>
<P><TABLE BORDER="2" CELLSPACING="2" CELLPADDING="0" >
<TR><TH>Hex Value</TH><TH>ASCII Representation</TH>
<TH>Description</TH></TR>
<TR>
<TD>0x54414f00</TD><TD>"TAO\0x00"</TD><TD>A TAO local IPC (aka
Unix domain) profile.
</TD>
</TR>
</TABLE></P>
<P>The range <CODE>0x54414f01-0x54414f0f</CODE>
(<CODE>"TAO\0x01"-"TAO\0x0f"</CODE>) is reserved for future use.
Only for informational purposes we include the following list
of potential uses:
</P>
<P><TABLE>
<TR><TH>Hex Value</TH><TH>ASCII Representation</TH>
<TH>Description</TH></TR>
<TR>
<TD>0x54414f01</TD><TD>"TAO\0x01"</TD>
<TD>GIOP over ATM/AAL5</TD>
</TR>
<TR>
<TD>0x54414f02</TD><TD>"TAO\0x02"</TD>
<TD>Shared memory transport</TD>
</TR>
<TR>
<TD>0x54414f03</TD><TD>"TAO\0x03"</TD>
<TD>Message queue</TD>
</TR>
<TR>
<TD>0x54414f04</TD><TD>"TAO\0x04"</TD>
<TD>UDP</TD>
</TR>
<TR>
<TD>0x54414f05</TD><TD>"TAO\0x05"</TD>
<TD>IP multicast</TD>
</TR>
<TR>
<TD>0x54414f06</TD><TD>"TAO\0x06"</TD>
<TD>Compact PCI bus</TD>
</TR>
<TR>
<TD>0x54414f07</TD><TD>"TAO\0x07"</TD>
<TD>VME bus</TD>
</TR>
<TR>
<TD>0x54414f08</TD><TD>"TAO\0x08"</TD>
<TD>NT named pipes</TD>
</TR>
<TR>
<TD>0x54414f09</TD><TD>"TAO\0x09"</TD>
<TD>HTTP-NG</TD>
</TR>
<TR>
<TD>0x54414f0A</TD><TD>"TAO\0x0A"</TD>
<TD>Pipes (for collocated calls)</TD>
</TR>
</TABLE></P>
<H4>Service Context ID</H4>
<P>The range <CODE>0x54414f00-0x54414f0f</CODE>
(<CODE>"TAO\0x00"-"TAO\0x0f"</CODE>) is reserved for future
use.
</P>
<H4>Component IDs</H4>
<P><TABLE BORDER="2" CELLSPACING="2" CELLPADDING="0" >
<TR><TH>Hex Value</TH><TH>ASCII Representation</TH>
<TH>Description</TH></TR>
<TR>
<TD>0x54414f00</TD><TD>"TAO\0x00"</TD>
<TD>Server side priority for the endpoint in this profile.
The component is encoded a two shorts, the minimum and
maximum priorities (in that order).
The values correspond to the CORBA priorities defined in the
real-time CORBA spec.
The client will select the endpoint that matches its
priorities and policies.
</TD>
</TR>
</TABLE></P>
<P>The range <CODE>0x54414f01-0x54414f0f</CODE>
(<CODE>"TAO\0x00"-"TAO\0x0f"</CODE>) is reserved for future
use.
</P>
<H4>Vendor Minor Code ID (VMCID)</H4>
<P><TABLE BORDER="2" CELLSPACING="2" CELLPADDING="0" >
<TR><TH>Hex Value</TH><TH>ASCII Representation</TH>
<TH>Description</TH></TR>
<TR>
<TD>0x54410000</TD><TD>"TA\x00x00"</TD>
<TD>System exceptions thrown by TAO have their higher 20 bits
set to <CODE>0x54410</CODE>,
the other 12 bits are used to describe more precisely the
cause of the exception.
The lower 4 bits encode the errno that caused the exception,
the 8 intermediate bits encode the location where the
exception was raised.
</TD>
</TR>
</TABLE></P>
<P>The following list describes the current use of errno and
location encodings:</P>
<P><TABLE BORDER="2" CELLSPACING="2" CELLPADDING="0" >
<TR><TH>Errno Value</TH><TH>Description</TH></TR>
<TR>
<TD>0x00</TD><TD>The error was not caused by a failed system
call</TD>
</TR>
<TR><TD>0x01</TD><TD>ETIMEDTOUT</TD></TR>
<TR><TD>0x02</TD><TD>ENFILE</TD></TR>
<TR><TD>0x03</TD><TD>EMFILE</TD></TR>
<TR><TD>0x04</TD><TD>EPIPE</TD></TR>
<TR><TD>0x05</TD><TD>ECONNREFUSED</TD></TR>
<TR><TD>0x06</TD><TD>ENOENT</TD></TR>
<TR><TD>0x07</TD><TD>EBADF</TD></TR>
<TR><TD>0x08</TD><TD>ENOSYS</TD></TR>
<TR><TD>0x09</TD><TD>EPERM</TD></TR>
<TR><TD>0x0A</TD><TD>EAFNOSUPPORT</TD></TR>
</TABLE></P>
<P>Please consult the documentation for your OS for more details
about the errno meanings</P>
<P><TABLE BORDER="2" CELLSPACING="2" CELLPADDING="0" >
<TR><TH>Location encoding</TH><TH>Description</TH></TR>
<TR><TD>0x01</TD>
<TD>Connect failed</TD></TR>
<TR><TD>0x02</TD>
<TD>Location forward failed</TD></TR>
<TR><TD>0x03</TD>
<TD>Send request failed</TD></TR>
<TR><TD>0x04</TD>
<TD>POA in discarding state</TD></TR>
<TR><TD>0x05</TD>
<TD>POA in holding state</TD></TR>
<TR><TD>0x06</TD>
<TD>Unhandled C++ exception in server side</TD></TR>
<TR><TD>0x07</TD>
<TD>Failure while reading the reply</TD></TR>
<TR><TD>0x08</TD>
<TD>All protocols failed to parse the IOR</TD></TR>
<TR><TD>0x09</TD>
<TD>Attempt to use null pointer</TD></TR>
<TR><TD>0x0A</TD>
<TD>Error during MProfile creation</TD></TR>
<TR><TD>0x0B</TD>
<TD>Timeout while trying to establish the connection</TD></TR>
<TR><TD>0x0C</TD>
<TD>Timeout while sending the request</TD></TR>
<TR><TD>0x0D</TD>
<TD>Timeout while waiting for the reply</TD></TR>
</TABLE></P>
<P><HR></P>
Back to the TAO <A HREF="index.html">documentation</A>.
<!--#include virtual="/~schmidt/cgi-sig.html" -->
</BODY>
</HTML>
|