//
// Copyright (c) 1997 X/Open Company Ltd., A member of The Open Group.
//
// All rights reserved. No part of this source code may be reproduced,
// stored in a retrieval system, or transmitted, in any form or by any
// means, electronic, mechanical, photocopying, recording or otherwise,
// except as stated in the end-user licence agreement, without the prior
// permission of the copyright owners.
//
// Developed for X/Open by ApTest Ireland Limited.
//
// Project: CORVAL2
//


typedef string Apple;

typedef string<39> Banana;

typedef union Broadbeans switch (long) {
  case 521*2:
    float ButterBean;
  case 298+2+(3*2):
    double Cinnamon;
  case -57:
    long BreadFruit;
  case 9875++2:
    short BambooShoot;
  case -7667:
    unsigned long Fennell;
  case 12-1:
    unsigned short Pineapple;
  case 76:
    char Radish;
  case 75:
    boolean Damsons;
  default :
    octet Mullberry;
}Orange;

interface idlServer {

  exception BroadbeansExcpt{
    ::Broadbeans ex1;
  };

  attribute ::Broadbeans BroadbeansAttr;

  ::Broadbeans BroadbeansOp(
    in    ::Broadbeans p1,
    out   ::Broadbeans p2,
    inout ::Broadbeans p3
  ) raises (BroadbeansExcpt);

  exception OrangeExcpt{
    ::Orange ex1;
  };

  attribute ::Orange OrangeAttr;

  ::Orange OrangeOp(
    in    ::Orange p1,
    out   ::Orange p2,
    inout ::Orange p3
  ) raises (OrangeExcpt);
};

