# ORB_Constants.h File Reference

`#include "tao/Basic_Types.h"`

Include dependency graph for ORB_Constants.h:

This graph shows which files directly or indirectly include this file:

## Namespaces

namespace | CORBA
namespace | TAO

## TAO-Specific System Exception Minor Code Values

These system exception minor code values are specific to TAO.
const CORBA::ULong | TAO_DEFAULT_MINOR_CODE = TAO::VMCID
| TAO VMCID assigned by the OMG.
const CORBA::ULong | TAO_MAX_MINOR_CODE = TAO::MAX_MINOR_CODE
| Maximum allowed system exception minor code.

## TAO-Specific Profile IDs

const CORBA::ULong | TAO_TAG_UIOP_PROFILE = 0x54414f00U
| Local IPC (Unix Domain).
const CORBA::ULong | TAO_TAG_SHMEM_PROFILE = 0x54414f02U
| Shared memory.
const CORBA::ULong | TAO_TAG_DIOP_PROFILE = 0x54414f04U
| UDP.
const CORBA::ULong | TAO_TAG_UIPMC_PROFILE = 0x54414f0CU
| Unreliable IP Multicast.
const CORBA::ULong | TAO_TAG_SCIOP_PROFILE = 0x54414f0EU
| SCIOP.
const CORBA::ULong | TAO_TAG_NSKFS_PROFILE = 0x00003039U
| Tandem (HP) File System Protocol.
const CORBA::ULong | TAO_TAG_NSKPW_PROFILE = 0x0000303AU
| Tandem (HP) Pathsend Protocol.
const int | IPDSFIELD_DSCP_DEFAULT = 0x00
| Local IPC (Unix Domain).

## Location Encoding

The location encoding is the 5 bits, after the @ errno encoding.
const CORBA::ULong | TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE = (0x01U << 7)
const CORBA::ULong | TAO_INVOCATION_SEND_REQUEST_MINOR_CODE = (0x02U << 7)
const CORBA::ULong | TAO_POA_DISCARDING = (0x03U << 7)
const CORBA::ULong | TAO_POA_HOLDING = (0x04U << 7)
const CORBA::ULong | TAO_UNHANDLED_SERVER_CXX_EXCEPTION = (0x05U << 7)
const CORBA::ULong | TAO_INVOCATION_RECV_REQUEST_MINOR_CODE = (0x06U << 7)
const CORBA::ULong | TAO_CONNECTOR_REGISTRY_NO_USABLE_PROTOCOL = (0x07U << 7)
const CORBA::ULong | TAO_MPROFILE_CREATION_ERROR = (0x08U << 7)
const CORBA::ULong | TAO_TIMEOUT_CONNECT_MINOR_CODE = (0x09U << 7)
const CORBA::ULong | TAO_TIMEOUT_SEND_MINOR_CODE = (0x0AU << 7)
const CORBA::ULong | TAO_TIMEOUT_RECV_MINOR_CODE = (0x0BU << 7)
const CORBA::ULong | TAO_IMPLREPO_MINOR_CODE = (0x0CU << 7)
const CORBA::ULong | TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE = (0x0DU << 7)
const CORBA::ULong | TAO_ORB_CORE_INIT_LOCATION_CODE = (0x0EU << 7)
const CORBA::ULong | TAO_POLICY_NARROW_CODE = (0x0FU << 7)
const CORBA::ULong | TAO_GUARD_FAILURE = (0x10U << 7)
const CORBA::ULong | TAO_POA_BEING_DESTROYED = (0x11U << 7)
const CORBA::ULong | TAO_POA_INACTIVE = (0x12U << 7)
const CORBA::ULong | TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE = (0x13U << 7)
const CORBA::ULong | TAO_AMH_REPLY_LOCATION_CODE = (0x14U << 7)
const CORBA::ULong | TAO_RTCORBA_THREAD_CREATION_LOCATION_CODE = (0x15U << 7)

## Defines

#define | TAO_TWOWAY_RESPONSE_FLAG 255

## Variables

const ULong | OMGVMCID = 0x4f4d0000U
| The OMG Vendor Minor Codeset ID (VMCID).
const CORBA::ULong | VMCID = 0x54410000U
| TAO Vendor Minor Codeset ID (VMCID).
const CORBA::ULong | MAX_MINOR_CODE = VMCID | 0xfffU
| Maximum allowed TAO system exception minor code.
const CORBA::ULong | VPVID = VMCID
| TAO Vendor `PolicyType` Valueset ID (VPVID).
const CORBA::ULong | TAO_SVC_CONTEXT_ALIGN = 0x54414f00U

## Detailed Description

Id
  ORB_Constants.h,v 1.8 2005/11/02 07:13:03 ossama Exp

Constants needed by various files.

Author:
  Jeff Parsons

  Ossama Othman

## Define Documentation

#define TAO_TWOWAY_RESPONSE_FLAG 255

## Variable Documentation

const int IPDSFIELD_DSCP_DEFAULT = 0x00

| Local IPC (Unix Domain).

const CORBA::ULong TAO::MAX_MINOR_CODE = VMCID | 0xfffU

Maximum allowed TAO system exception minor code.

Vendors are only allowed to use the lower order 12 bits of their when defining vendor-specific exception minor codes. `MAX_MINOR_CODE` is the maximum minor code value available to TAO. Do not exceed it when defining TAO system exception minor codes.

See also:
  `VMCID`

const ULong CORBA::OMGVMCID = 0x4f4d0000U

The OMG Vendor Minor Codeset ID (VMCID).

This number is reserved by the OMG as a prefix to all the standard system exception minor codes. Check the CORBA/IIOP specification for details.

OMG defined system exception minor codes should be logically OR-ed with this constant when passing such minor codes to a `CORBA::SystemException` constructor. For example, throwing a `CORBA::BAD_PARAM` exception with an OMG defined minor code of `2` is done as follows:

       *   throw (CORBA::BAD_PARAM (CORBA::OMGVMCID | 2, CORBA::COMPLETED_NO);
       *

*NOT* as:

       *   throw (CORBA::BAD_PARAM (2, CORBA::COMPLETED_NO);
       *

const CORBA::ULong TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE = (0x0DU << 7)

const CORBA::ULong TAO_AMH_REPLY_LOCATION_CODE = (0x14U << 7)

const CORBA::ULong TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE = (0x13U << 7)

const CORBA::ULong TAO_CONNECTOR_REGISTRY_NO_USABLE_PROTOCOL = (0x07U << 7)

const CORBA::ULong TAO_DEFAULT_MINOR_CODE = TAO::VMCID

TAO VMCID assigned by the OMG.

Note:
  This constant has historically been used in the wrong way. It was often used as the location argument to the `CORBA::SystemException::_tao_minor_code()` static method. A more appropriate default location argument/value would have been zero since the location code resides in portion of the lower order 12 bits, not the higher order 20 bits which is where the VMCID resides, and what this value happens to be.

Deprecated:
  Please use `TAO::VMCID` instead, or zero if being used as default TAO exception location code argument.

See also:
  `TAO::VMCID`

const CORBA::ULong TAO_GUARD_FAILURE = (0x10U << 7)

const CORBA::ULong TAO_IMPLREPO_MINOR_CODE = (0x0CU << 7)

const CORBA::ULong TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE = (0x01U << 7)

const CORBA::ULong TAO_INVOCATION_RECV_REQUEST_MINOR_CODE = (0x06U << 7)

const CORBA::ULong TAO_INVOCATION_SEND_REQUEST_MINOR_CODE = (0x02U << 7)

const CORBA::ULong TAO_MAX_MINOR_CODE = TAO::MAX_MINOR_CODE

Maximum allowed system exception minor code.

Deprecated:
  Please use `TAO::MAX_MINOR_CODE` instead.

See also:
  `TAO::MAX_MINOR_CODE`

const CORBA::ULong TAO_MPROFILE_CREATION_ERROR = (0x08U << 7)

const CORBA::ULong TAO_ORB_CORE_INIT_LOCATION_CODE = (0x0EU << 7)

const CORBA::ULong TAO_POA_BEING_DESTROYED = (0x11U << 7)

const CORBA::ULong TAO_POA_DISCARDING = (0x03U << 7)

const CORBA::ULong TAO_POA_HOLDING = (0x04U << 7)

const CORBA::ULong TAO_POA_INACTIVE = (0x12U << 7)

const CORBA::ULong TAO_POLICY_NARROW_CODE = (0x0FU << 7)

const CORBA::ULong TAO_RTCORBA_THREAD_CREATION_LOCATION_CODE = (0x15U << 7)

const CORBA::ULong TAO_SVC_CONTEXT_ALIGN = 0x54414f00U

Note:
  This is *extremely* brittle but works.

const CORBA::ULong TAO_TAG_DIOP_PROFILE = 0x54414f04U

| UDP.

const CORBA::ULong TAO_TAG_NSKFS_PROFILE = 0x00003039U

| Tandem (HP) File System Protocol.

const CORBA::ULong TAO_TAG_NSKPW_PROFILE = 0x0000303AU

| Tandem (HP) Pathsend Protocol.

const CORBA::ULong TAO_TAG_SCIOP_PROFILE = 0x54414f0EU

| SCIOP.

const CORBA::ULong TAO_TAG_SHMEM_PROFILE = 0x54414f02U

| Shared memory.

const CORBA::ULong TAO_TAG_UIOP_PROFILE = 0x54414f00U

| Local IPC (Unix Domain).

const CORBA::ULong TAO_TAG_UIPMC_PROFILE = 0x54414f0CU

| Unreliable IP Multicast.

const CORBA::ULong TAO_TIMEOUT_CONNECT_MINOR_CODE = (0x09U << 7)

const CORBA::ULong TAO_TIMEOUT_RECV_MINOR_CODE = (0x0BU << 7)

const CORBA::ULong TAO_TIMEOUT_SEND_MINOR_CODE = (0x0AU << 7)

const CORBA::ULong TAO_UNHANDLED_SERVER_CXX_EXCEPTION = (0x05U << 7)

const CORBA::ULong TAO::VMCID = 0x54410000U

TAO Vendor Minor Codeset ID (VMCID).

TAO Vendor Minor Codeset ID (VMCID) assigned by the OMG. Do *NOT* change at random. The TAO VMCID is an ASCII representation of `TA0xxxx` (close enough since a VMCID only consists of the higher order 20 bits of a 32 bit unsigned long integer). The first 16 bits are `TA`, and the remaining 4 are `0`.

Note:
  Remember that we can only play with the lower order 12 bits. `MAX_MINOR_CODE` is there to remind us of that.

See also:
  `MAX_MINOR_CODE`

const CORBA::ULong TAO::VPVID = VMCID

TAO Vendor `PolicyType` Valueset ID (VPVID).

TAO Vendor `PolicyType` Valueset ID (VPVID) assigned by the OMG. This value was automatically assigned when TAO's VMCID was assigned. Its value is always the same as the VMCID.

As with TAO-specific system exception minor codes, the TAO-specific `PolicyType` space occupies the lower order 12 bits of the TAO VPVID, i.e.

       *    TAO::VPVID <= TAO PolicyType <= TAO::VPVID | 0xfffU.
       *

For example, TAO-specific `PolicyTypes` should be defined by logically "OR-ing" a 12 bit or less (i.e. 0x0U <= value <= 0xfffU) value with `TAO::VPVID`.

See also:
  VMCID