OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsGuid.idl
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DDSDCPSGUID_IDL
9 #define OPENDDS_DDSDCPSGUID_IDL
10 
11 module OpenDDS
12 {
13  module DCPS
14  {
15  // Vendor Id value from RTPS specification.
16  typedef octet GuidVendorId_t[2];
17 
18  // GUID prefix bytes - uniquely specify the participant.
19  typedef octet GuidPrefix_t[12];
20 
21  // Key portion of Entity identifier.
22  typedef octet EntityKey_t[3];
23 
24  // Uniquely identify each entity within a participant.
25  @final
26  struct EntityId_t {
27  @key EntityKey_t entityKey;
28  @key octet entityKind;
29  };
30 
31  const octet ENTITYKIND_BUILTIN_UNKNOWN = 0xc0;
32  const octet ENTITYKIND_BUILTIN_PARTICIPANT = 0xc1;
37  const octet ENTITYKIND_BUILTIN_TOPIC = 0xc5;
38 
39  const octet ENTITYKIND_USER_UNKNOWN = 0x00;
40  const octet ENTITYKIND_USER_WRITER_WITH_KEY = 0x02;
41  const octet ENTITYKIND_USER_WRITER_NO_KEY = 0x03;
42  const octet ENTITYKIND_USER_READER_NO_KEY = 0x04;
43  const octet ENTITYKIND_USER_READER_WITH_KEY = 0x07;
44 
45  // Vendor specific Kinds have the following bit pattern: 01xx_xxxx
46  const octet ENTITYKIND_OPENDDS_SUBSCRIBER = 0x41;
47  const octet ENTITYKIND_OPENDDS_PUBLISHER = 0x42;
48 
49  const octet ENTITYKIND_OPENDDS_TOPIC = 0x45;
50  const octet ENTITYKIND_OPENDDS_USER = 0x4a;
51 
52  // Used in testing.
53  const octet ENTITYKIND_OPENDDS_NIL_WRITER = 0x4e;
54 
55  // The actual GUID itself.
56  @final
57  struct GUID_t {
58  @key GuidPrefix_t guidPrefix;
60  };
61 
62  typedef sequence<GUID_t> GUIDSeq;
63 
64 }; }; // module OpenDDS::DCPS
65 
66 #endif /* OPENDDS_DCPS_GUID_IDL */
octet GuidVendorId_t[2]
Definition: DdsDcpsGuid.idl:16
const octet ENTITYKIND_BUILTIN_TOPIC
Definition: DdsDcpsGuid.idl:37
const octet ENTITYKIND_BUILTIN_WRITER_WITH_KEY
Definition: DdsDcpsGuid.idl:33
const octet ENTITYKIND_OPENDDS_SUBSCRIBER
Definition: DdsDcpsGuid.idl:46
sequence< octet > key
const octet ENTITYKIND_OPENDDS_NIL_WRITER
Definition: DdsDcpsGuid.idl:53
key GuidPrefix_t guidPrefix
Definition: DdsDcpsGuid.idl:58
octet EntityKey_t[3]
Definition: DdsDcpsGuid.idl:22
const octet ENTITYKIND_BUILTIN_WRITER_NO_KEY
Definition: DdsDcpsGuid.idl:34
const octet ENTITYKIND_USER_UNKNOWN
Definition: DdsDcpsGuid.idl:39
const octet ENTITYKIND_USER_READER_WITH_KEY
Definition: DdsDcpsGuid.idl:43
const octet ENTITYKIND_OPENDDS_USER
Definition: DdsDcpsGuid.idl:50
const octet ENTITYKIND_OPENDDS_TOPIC
Definition: DdsDcpsGuid.idl:49
key EntityKey_t entityKey
Definition: DdsDcpsGuid.idl:27
const octet ENTITYKIND_BUILTIN_PARTICIPANT
Definition: DdsDcpsGuid.idl:32
const octet ENTITYKIND_USER_WRITER_NO_KEY
Definition: DdsDcpsGuid.idl:41
const octet ENTITYKIND_OPENDDS_PUBLISHER
Definition: DdsDcpsGuid.idl:47
const octet ENTITYKIND_BUILTIN_UNKNOWN
Definition: DdsDcpsGuid.idl:31
sequence< GUID_t > GUIDSeq
Definition: DdsDcpsGuid.idl:62
const octet ENTITYKIND_USER_WRITER_WITH_KEY
Definition: DdsDcpsGuid.idl:40
octet GuidPrefix_t[12]
Definition: DdsDcpsGuid.idl:19
const octet ENTITYKIND_USER_READER_NO_KEY
Definition: DdsDcpsGuid.idl:42
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
const octet ENTITYKIND_BUILTIN_READER_NO_KEY
Definition: DdsDcpsGuid.idl:35
const octet ENTITYKIND_BUILTIN_READER_WITH_KEY
Definition: DdsDcpsGuid.idl:36
key EntityId_t entityId
Definition: DdsDcpsGuid.idl:59