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 7 bits encode the errno that caused the exception,
the 5 intermediate bits encode the location where the
exception was raised.
|
The following list describes the current use of errno and location encodings:
TAO (7-bit) Error Code | Description | Value |
---|---|---|
TAO_UNSPECIFIED_MINOR_CODE | Unspecified minor code | 0x00u |
TAO_ETIMEDOUT_MINOR_CODE | Connection timed out | 0x01u |
TAO_ENFILE_MINOR_CODE | Too many files open in system | 0x02u |
TAO_EMFILE_MINOR_CODE | Too many open files | 0x03u |
TAO_EPIPE_MINOR_CODE | Broken pipe | 0x04u |
TAO_ECONNREFUSED_MINOR_CODE | Connection refused | 0x05u |
TAO_ENOENT_MINOR_CODE | No such file or directory | 0x06u |
TAO_EBADF_MINOR_CODE | Bad file descriptor | 0x07u |
TAO_ENOSYS_MINOR_CODE | Function not implemented | 0x08u |
TAO_EPERM_MINOR_CODE | Operation not permitted | 0x09u |
TAO_EAFNOSUPPORT_MINOR_CODE | Protocol family not supported | 0x0au |
TAO_EAGAIN_MINOR_CODE | Resource temporarily not available | 0x0bu |
TAO_ENOMEM_MINOR_CODE | Not enough space | 0x0cu |
TAO_EACCES_MINOR_CODE | Permission denied | 0x0du |
TAO_EFAULT_MINOR_CODE | Bad address | 0x0eu |
TAO_EBUSY_MINOR_CODE | Device or resource busy | 0x0fu |
TAO_EEXIST_MINOR_CODE | File exists | 0x10u |
TAO_EINVAL_MINOR_CODE | Invalid argument | 0x11u |
TAO_ECOMM_MINOR_CODE | Communication error on send | 0x12u |
TAO_ECONNRESET_MINOR_CODE | Connection reset | 0x13u |
TAO_ENOTSUP_MINOR_CODE | Operation not supported | 0x14u |
Please consult the documentation for your OS for more details about the errno meanings
TAO (5-bit) Location Code | Description | Value |
---|---|---|
No specific location details indicated | (0x00u << 7) | |
TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE | Location forward failed | (0x01u << 7) |
TAO_INVOCATION_SEND_REQUEST_MINOR_CODE | Send request failed | (0x02u << 7) |
TAO_POA_DISCARDING | POA in discarding state | (0x03u << 7) |
TAO_POA_HOLDING | POA in holding state | (0x04u << 7) |
TAO_UNHANDLED_SERVER_CXX_EXCEPTION | Unhandled C++ exception in server side | (0x05u << 7) |
TAO_INVOCATION_RECV_REQUEST_MINOR_CODE | Failed to receive request response | (0x06u << 7) |
TAO_CONNECTOR_REGISTRY_NO_USABLE_PROTOCOL | All protocols failed to parse the IOR | (0x07u << 7) |
TAO_MPROFILE_CREATION_ERROR | Error during MProfile creation | (0x08u << 7) |
TAO_TIMEOUT_CONNECT_MINOR_CODE | Timeout during connect | (0x09u << 7) |
TAO_TIMEOUT_SEND_MINOR_CODE | Timeout during send | (0x0au << 7) |
TAO_TIMEOUT_RECV_MINOR_CODE | Timeout during receive | (0x0bu << 7) |
TAO_IMPLREPO_MINOR_CODE | Implrepo server exception | (0x0cu << 7) |
TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE | Endpoint initialization failure in Acceptor Registry | (0x0du << 7) |
TAO_ORB_CORE_INIT_LOCATION_CODE | ORB core initialization failed | (0x0eu << 7) |
TAO_POLICY_NARROW_CODE | Failure when narrowing a Policy | (0x0fu << 7) |
TAO_GUARD_FAILURE | Failure when trying to acquire a guard/monitor | (0x10u << 7) |
TAO_POA_BEING_DESTROYED | POA has been destroyed or is currently being destroyed | (0x11u << 7) |
TAO_POA_INACTIVE | POA in inactive state | (0x12u << 7) |
TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE | Initialization failure in Connector Registry | (0x13u << 7) |
TAO_AMH_REPLY_LOCATION_CODE | Failure when trying to send AHM reply | (0x14u << 7) |
TAO_RTCORBA_THREAD_CREATION_LOCATION_CODE | Failure in thread creation for RTCORBA thread pool | (0x15u << 7) |