//
// 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 sequence<sequence<sequence<float,18> ,18> ,13>  Scallion;

typedef sequence<sequence<sequence<double> > ,15>  KiwanoMelon[11];

typedef sequence<sequence<sequence<double,7> > >  Celeriac;

typedef sequence<sequence<sequence<double,10> ,19> >  Clementine[12];

typedef sequence<sequence<sequence<long> > ,6>  Record;

typedef sequence<sequence<sequence<long> ,9> ,7>  KerrsPinks[4];

typedef sequence<sequence<sequence<long,3> ,5> >  MarisPiper;

typedef sequence<sequence<sequence<short> > >  Banana1[3];

interface idlServer {

  exception ScallionExcpt{
    ::Scallion ex1;
  };

  attribute ::Scallion ScallionAttr;

  ::Scallion ScallionOp(
    in    ::Scallion p1,
    out   ::Scallion p2,
    inout ::Scallion p3
  ) raises (ScallionExcpt);

  exception KiwanoMelonExcpt{
    ::KiwanoMelon ex1;
  };

  attribute ::KiwanoMelon KiwanoMelonAttr;

  ::KiwanoMelon KiwanoMelonOp(
    in    ::KiwanoMelon p1,
    out   ::KiwanoMelon p2,
    inout ::KiwanoMelon p3
  ) raises (KiwanoMelonExcpt);

  exception CeleriacExcpt{
    ::Celeriac ex1;
  };

  attribute ::Celeriac CeleriacAttr;

  ::Celeriac CeleriacOp(
    in    ::Celeriac p1,
    out   ::Celeriac p2,
    inout ::Celeriac p3
  ) raises (CeleriacExcpt);

  exception ClementineExcpt{
    ::Clementine ex1;
  };

  attribute ::Clementine ClementineAttr;

  ::Clementine ClementineOp(
    in    ::Clementine p1,
    out   ::Clementine p2,
    inout ::Clementine p3
  ) raises (ClementineExcpt);

  exception RecordExcpt{
    ::Record ex1;
  };

  attribute ::Record RecordAttr;

  ::Record RecordOp(
    in    ::Record p1,
    out   ::Record p2,
    inout ::Record p3
  ) raises (RecordExcpt);

  exception KerrsPinksExcpt{
    ::KerrsPinks ex1;
  };

  attribute ::KerrsPinks KerrsPinksAttr;

  ::KerrsPinks KerrsPinksOp(
    in    ::KerrsPinks p1,
    out   ::KerrsPinks p2,
    inout ::KerrsPinks p3
  ) raises (KerrsPinksExcpt);

  exception MarisPiperExcpt{
    ::MarisPiper ex1;
  };

  attribute ::MarisPiper MarisPiperAttr;

  ::MarisPiper MarisPiperOp(
    in    ::MarisPiper p1,
    out   ::MarisPiper p2,
    inout ::MarisPiper p3
  ) raises (MarisPiperExcpt);

  exception Banana1Excpt{
    ::Banana1 ex1;
  };

  attribute ::Banana1 Banana1Attr;

  ::Banana1 Banana1Op(
    in    ::Banana1 p1,
    out   ::Banana1 p2,
    inout ::Banana1 p3
  ) raises (Banana1Excpt);
};

