DdsSecurityParams.idl

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  *
00007  * This file contains common functionality shared between RtpsCore.idl and
00008  * DdsSecurityCore.idl. In particular, dependencies for the Parameter types
00009  * added by the DDS Security Spec.
00010  *
00011  */
00012 
00013 #ifndef DDS_SECURITY_PARAMS_IDL
00014 #define DDS_SECURITY_PARAMS_IDL
00015 
00016 #include "DdsDcpsCore.idl"
00017 
00018 module DDS {
00019   module Security {
00020 
00021     typedef unsigned short ParameterId_t;
00022 
00023     // Security-specific parameters
00024     // The DDS Security specification reserves ParameterIDs in the range: 0x1000 to
00025     // 0x1FFF and 0x5000 to 0x5FFF.
00026     const ParameterId_t PID_IDENTITY_TOKEN = 0x1001;
00027     const ParameterId_t PID_PERMISSIONS_TOKEN = 0x1002;
00028     const ParameterId_t PID_DATA_TAGS = 0x1003;
00029     const ParameterId_t PID_ENDPOINT_SECURITY_INFO = 0x1004;
00030     const ParameterId_t PID_PARTICIPANT_SECURITY_INFO = 0x1005;
00031     const ParameterId_t PID_IDENTITY_STATUS_TOKEN = 0x1006;
00032 
00033     struct DataHolder {
00034       string             class_id;
00035       PropertySeq        properties;
00036       BinaryPropertySeq  binary_properties;
00037     };
00038     typedef sequence<DataHolder> DataHolderSeq;
00039 
00040     typedef DataHolder Token;
00041     typedef Token IdentityToken;
00042     typedef Token PermissionsToken;
00043     typedef Token IdentityStatusToken;
00044 
00045     struct Tag {
00046       string name;
00047       string value;
00048     };
00049 
00050     typedef sequence<Tag> TagSeq;
00051     struct DataTags {
00052       TagSeq tags;
00053     };
00054 
00055     typedef unsigned long ParticipantSecurityAttributesMask;
00056 
00057     const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_PROTECTED = 1 << 0;
00058     const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED = 1 << 1;
00059     const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED = 1 << 2;
00060     const ParticipantSecurityAttributesMask PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_VALID = 1 << 31;
00061 
00062     typedef unsigned long PluginParticipantSecurityAttributesMask;
00063 
00064     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_ENCRYPTED = 1 << 0;
00065     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_BUILTIN_IS_DISCOVERY_ENCRYPTED = 1 << 1;
00066     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_ENCRYPTED = 1 << 2;
00067     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_ORIGIN_AUTHENTICATED = 1 << 3;
00068     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_ORIGIN_AUTHENTICATED = 1 << 4;
00069     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_ORIGIN_AUTHENTICATED = 1 << 5;
00070     const ParticipantSecurityAttributesMask PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_VALID = 1 << 31;
00071 
00072     //@extensibility(APPENDABLE)
00073     struct ParticipantSecurityInfo {
00074       ParticipantSecurityAttributesMask        participant_security_attributes;
00075       PluginParticipantSecurityAttributesMask  plugin_participant_security_attributes;
00076     };
00077 
00078     typedef unsigned long EndpointSecurityAttributesMask;
00079     typedef unsigned long PluginEndpointSecurityAttributesMask;
00080 
00081     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_READ_PROTECTED = 1 << 0;
00082     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_WRITE_PROTECTED = 1 << 1;
00083     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED = 1 << 2;
00084     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_PROTECTED = 1 << 3;
00085     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_PROTECTED = 1 << 4;
00086     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_KEY_PROTECTED = 1 << 5;
00087     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED = 1 << 6;
00088     const EndpointSecurityAttributesMask ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_VALID = 1 << 31;
00089 
00090     const PluginEndpointSecurityAttributesMask PLUGIN_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_ENCRYPTED = 1 << 0;
00091     const PluginEndpointSecurityAttributesMask PLUGIN_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_ENCRYPTED = 1 << 1;
00092     const PluginEndpointSecurityAttributesMask PLUGIN_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_ORIGIN_AUTHENTICATED = 1 << 2;
00093 
00094     //@extensibility(APPENDABLE)
00095     struct EndpointSecurityInfo {
00096       EndpointSecurityAttributesMask        endpoint_security_attributes;
00097       PluginEndpointSecurityAttributesMask  plugin_endpoint_security_attributes;
00098     };
00099 
00100     typedef unsigned long BuiltinEndpointSet_t;
00101     const BuiltinEndpointSet_t SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER = 1 << 16;
00102     const BuiltinEndpointSet_t SEDP_BUILTIN_PUBLICATIONS_SECURE_READER = 1 << 17;
00103     const BuiltinEndpointSet_t SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER = 1 << 18;
00104     const BuiltinEndpointSet_t SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER = 1 << 19;
00105     const BuiltinEndpointSet_t BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER = 1 << 20;
00106     const BuiltinEndpointSet_t BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER = 1 << 21;
00107     const BuiltinEndpointSet_t BUILTIN_PARTICIPANT_STATELESS_MESSAGE_WRITER = 1 << 22;
00108     const BuiltinEndpointSet_t BUILTIN_PARTICIPANT_STATELESS_MESSAGE_READER = 1 << 23;
00109     const BuiltinEndpointSet_t BUILTIN_PARTICIPANT_VOLATILE_MESSAGE_SECURE_WRITER = 1 << 24;
00110     const BuiltinEndpointSet_t BUILTIN_PARTICIPANT_VOLATILE_MESSAGE_SECURE_READER = 1 << 25;
00111     const BuiltinEndpointSet_t SPDP_BUILTIN_PARTICIPANT_SECURE_WRITER = 1 << 26;
00112     const BuiltinEndpointSet_t SPDP_BUILTIN_PARTICIPANT_SECURE_READER = 1 << 27;
00113   };
00114 };
00115 
00116 #endif /* DDS_SECURITY_PARAMS_IDL */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1