Tags used in TAO

Overview

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

List of TAGS

ORB Type ID

Hex ValueASCII 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.

IOR Profile IDs

Hex ValueASCII 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 ValueASCII 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)

Service Context ID

The range 0x54414f00-0x54414f0f ("TAO\0x00"-"TAO\0x0f") is reserved for future use.

Component IDs

Hex ValueASCII 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.

Vendor Minor Code ID (VMCID)

Hex ValueASCII 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 ValueDescription
0x00The error was not caused by a failed system call
0x01ETIMEDTOUT
0x02ENFILE
0x03EMFILE
0x04EPIPE
0x05ECONNREFUSED
0x06ENOENT
0x07EBADF
0x08ENOSYS
0x09EPERM
0x0AEAFNOSUPPORT

Please consult the documentation for your OS for more details about the errno meanings

Location encodingDescription
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


Back to the TAO documentation.