diff options
Diffstat (limited to 'TAO/tao/PortableGroup/miop.pidl')
-rw-r--r-- | TAO/tao/PortableGroup/miop.pidl | 119 |
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 |