The CORBA specification defines several tags, a.k.a. magic numbers, 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.
To ensure that the tags uniquely indentify the entities in each namespace the OMG acts as an allocation authority, 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 this link for more details
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 release notes
Hex Value | ASCII Representation | Description |
---|---|---|
0x54414f00 | "TAO\0x00" | IIOP profiles
contain a component list. One of the elements of this
list (the IOP::TAG_ORB_TYPE ) contains a
identifier for the ORB that created the profile.
|
Hex Value | ASCII Representation | Description |
---|---|---|
0x54414f00 | "TAO\0x00" | A TAO local IPC (aka Unix domain) profile. |
The range 0x54414f01-0x54414f0f
("TAO\0x01"-"TAO\0x0f"
) is reserved for future use.
Only for informational purposes we include the following list
of potential uses:
Hex Value | ASCII Representation | Description |
---|---|---|
0x54414f01 | "TAO\0x01" | GIOP over ATM/AAL5 |
0x54414f02 | "TAO\0x02" | Shared memory transport |
0x54414f03 | "TAO\0x03" | Message queue |
0x54414f04 | "TAO\0x04" | UDP |
0x54414f05 | "TAO\0x05" | IP multicast |
0x54414f06 | "TAO\0x06" | Compact PCI bus |
0x54414f07 | "TAO\0x07" | VME bus |
0x54414f08 | "TAO\0x08" | NT named pipes |
0x54414f09 | "TAO\0x09" | HTTP-NG |
0x54414f0A | "TAO\0x0A" | Pipes (for collocated calls) |
The range 0x54414f00-0x54414f0f
("TAO\0x00"-"TAO\0x0f"
) is reserved for future
use.
Hex Value | ASCII Representation | Description |
---|---|---|
0x54414f00 | "TAO\0x00" | 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. |
The range 0x54414f01-0x54414f0f
("TAO\0x00"-"TAO\0x0f"
) is reserved for future
use.
Hex Value | ASCII Representation | Description |
---|---|---|
0x54410000 | "TA\x00x00" | System exceptions thrown by TAO have their higher 20 bits
set to 0x54410 ,
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.
|
The following list describes the current use of errno and location encodings:
Errno Value | Description |
---|---|
0x00 | The error was not caused by a failed system call |
0x01 | ETIMEDTOUT |
0x02 | ENFILE |
0x03 | EMFILE |
0x04 | EPIPE |
0x05 | ECONNREFUSED |
0x06 | ENOENT |
0x07 | EBADF |
0x08 | ENOSYS |
0x09 | EPERM |
0x0A | EAFNOSUPPORT |
Please consult the documentation for your OS for more details about the errno meanings
Location encoding | Description |
---|---|
0x01 | Connect failed |
0x02 | Location forward failed |
0x03 | Send request failed |
0x04 | POA in discarding state |
0x05 | POA in holding state |
0x06 | Unhandled C++ exception in server side |
0x07 | Failure while reading the reply |
0x08 | All protocols failed to parse the IOR |
0x09 | Attempt to use null pointer |
0x0A | Error during MProfile creation |
0x0B | Timeout while trying to establish the connection |
0x0C | Timeout while sending the request |
0x0D | Timeout while waiting for the reply |