summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableGroup/miop.pidl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/PortableGroup/miop.pidl')
-rw-r--r--TAO/tao/PortableGroup/miop.pidl119
1 files changed, 119 insertions, 0 deletions
diff --git a/TAO/tao/PortableGroup/miop.pidl b/TAO/tao/PortableGroup/miop.pidl
new file mode 100644
index 00000000000..862005a2a53
--- /dev/null
+++ b/TAO/tao/PortableGroup/miop.pidl
@@ -0,0 +1,119 @@
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// TAO_PortableGroup
+//
+// = FILENAME
+// miop.pidl
+//
+// = DESCRIPTION
+//
+// This file was used to generate the code in miopC.{h,i,cpp}
+//
+// The command used to generate code from this file is:
+//
+// tao_idl.exe \
+// -o orig \
+// -Ge 1 \
+// -Wb,export_macro=TAO_PortableGroup_Export \
+// -Wb,export_include="tao/corbafwd.h" \
+// -Wb,pre_include="ace/pre.h" \
+// -Wb,post_include="ace/post.h" \
+// miop.pidl
+//
+// After the file is generated a patch from the diffs directory must
+// be applied. The patch:
+//
+//
+// Apply patches using the following commands:
+//
+// patch < diffs\miopC.h.diff
+// patch < diffs\miopC.i.diff
+// patch < diffs\miopC.cpp.diff
+//
+// Note: The diffs were generated with these commands:
+//
+// diff -wub orig/miopC.h miopC.h > diffs\miopC.h.diff
+// diff -wub orig/miopC.i miopC.i > diffs\miopC.i.diff
+// diff -wub orig/miopC.cpp miopC.cpp > diffs\miopC.cpp.diff
+//
+// ================================================================
+
+#ifndef MIOP_IDL
+#define MIOP_IDL
+
+#include <IOP.pidl>
+
+#pragma prefix "omg.org"
+
+module MIOP
+{
+ typedef sequence <octet, 252> UniqueId;
+
+ struct PacketHeader_1_0
+ {
+ char magic[4];
+ octet hdr_version;
+ octet flags;
+ unsigned short packet_length;
+ unsigned long packet_number;
+ unsigned long number_of_packets;
+ UniqueId Id;
+ };
+
+ struct Version
+ {
+ octet major;
+ octet minor;
+ };
+
+ typedef short IPVersion;
+
+ const IPVersion IPv4 = 0;
+ const IPVersion IPv6 = 1;
+
+ struct UsingIpv4
+ {
+ unsigned short port;
+ octet class_d_address[4]; // @@ Frank: changed to octet to avoid lots of casting
+ };
+
+ struct UsingIpv6
+ {
+ unsigned long port;
+ string address;
+ };
+
+ union IPEndpoints switch (IPVersion)
+ {
+ case IPv4:
+ UsingIpv4 ipv4_endpoints;
+ case IPv6:
+ UsingIpv6 ipv6_endpoints;
+ };
+
+ struct UIPMC_ProfileBody
+ {
+ Version miop_version;
+ IPEndpoints endpoints;
+ sequence<IOP::TaggedComponent> components;
+ };
+
+ // TAO-specific
+
+ local interface MulticastObjectGroupFactory {
+
+ typedef octet ipaddr[4];
+ Object create_group (in CORBA::RepositoryId type_id,
+ in ipaddr class_d_address,
+ in unsigned short port);
+
+ };
+
+ // End TAO-specific
+};
+
+#endif