//
//   COMPONENT_NAME: somd
//
//   ORIGINS: 27
//
//
//    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1995,1996 
//   All Rights Reserved
//   Licensed Materials - Property of IBM
//   US Government Users Restricted Rights - Use, duplication or
//   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
//#  @(#) 2.12.1.10 src/somd/somdtype.idl, somd, som3.0 3/25/96 09:45:12 [12/22/96 21:11:59]

//
//  somdtype.idl - global DSOM type definitions
// 


#ifndef somdtype_idl
#define somdtype_idl
#include <containd.idl> 

enum completion_status { YES, NO, MAYBE };

//# Global IDL types defined by DSOM

#pragma somemittypes on

 typedef unsigned long ORBStatus;

 typedef sequence <octet,1024> ReferenceData;

 typedef unsigned long Flags;

 typedef string ORBid;

 struct NamedValue {    
    Identifier name;
    any        argument;
    long       len;
    Flags      arg_modes;
 };

 typedef string ImplId;

#pragma somemittypes off

module SOMD { 

  enum marshaling_direction_t {DirCall, DirReply};
  enum marshaling_op_t {OpMarshal, OpDemarshal, OpFreeStorage};

  struct ImplEntry {
    long  ImplDataSize;
    char  *ImplData;
  };

};

#endif /* somdtype_idl */
