//
// 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 struct Peanutsquash90{
  struct PepinoMelon90{
    struct Pear90{
      sequence<sequence<sequence<sequence<float,18> ,18> > >  Mangosteen90[13];
    } Grapefruit90[15];
  } Damsons90;
} CherryTomatoes90;

typedef struct Cherry91{
  struct Sharanfruit91{
    struct BeefTomatoes91{
      sequence<sequence<sequence<sequence<double> > > >  RedPepper91[11];
    } FrenchBeans91;
  } Radish91;
} Papaya91;

typedef struct Blackcurrant92{
  struct Okra92{
    struct Cassava92{
      sequence<sequence<sequence<sequence<double> ,7> > >  BambooShoot92;
    } Beetroot92[10];
  } Plantain92;
} Pineapple92;

typedef struct Walnuts93{
  struct Elderberry93{
    struct RedGrapes93{
      sequence<sequence<sequence<sequence<double,19> > > >  Melon93;
    } BeechNut93;
  } Kumquats93;
} Fennell93;

typedef struct Lettuce94{
  struct Pomegranate94{
    struct HazelNut94{
      sequence<sequence<sequence<sequence<double,12> > ,6> ,9>  RedOnion94[7];
    } Sweedes94[4];
  } Tarragon94;
} Mangetout94;

typedef struct Daikan95{
  struct JuniperBerries95{
    struct GooseBerry95{
      sequence<sequence<sequence<sequence<double,2> ,5> ,3> ,9>  Cinnamon95[3];
    } EggPlant95;
  } Cloves95;
} Mustard95;

typedef struct Lentil96{
  struct Avocado96{
    struct Tangarine96{
      sequence<sequence<sequence<sequence<long> > ,17> ,6>  SweetPotato96;
    } ButterBean96[6];
  } GoldenDelicous96;
} Fig96;

typedef struct Onion97{
  struct RowanBerry97{
    struct CantelopeMelon97{
      sequence<sequence<sequence<sequence<long> ,18> ,15> ,11>  Billberries97;
    } LolloRossa97;
  } Sweetcorn97;
} Shallots97;

typedef struct Brocoli98{
  struct Tofu98{
    struct Parsnip98{
      sequence<sequence<sequence<sequence<long,7> > ,14> >  LoganBerry98[11];
    } Runnerbean98[5];
  } Prunes98;
} GrannySmith98;

typedef struct Oregano99{
  struct Bayleaf99{
    struct WhiteCabbage99{
      sequence<sequence<sequence<sequence<long,2> ,16> ,4> >  Celery99[5];
    } Aniseed99;
  } Dill99;
} Beansprout99;

interface idlServer {

  exception CherryTomatoes90Excpt{
    ::CherryTomatoes90 ex1;
  };

  attribute ::CherryTomatoes90 CherryTomatoes90Attr;

  ::CherryTomatoes90 CherryTomatoes90Op(
    in    ::CherryTomatoes90 p1,
    out   ::CherryTomatoes90 p2,
    inout ::CherryTomatoes90 p3
  ) raises (CherryTomatoes90Excpt);

  exception Peanutsquash90Excpt{
    ::Peanutsquash90 ex1;
  };

  attribute ::Peanutsquash90 Peanutsquash90Attr;

  ::Peanutsquash90 Peanutsquash90Op(
    in    ::Peanutsquash90 p1,
    out   ::Peanutsquash90 p2,
    inout ::Peanutsquash90 p3
  ) raises (Peanutsquash90Excpt);

  exception PepinoMelon90Excpt{
    ::Peanutsquash90::PepinoMelon90 ex1;
  };

  attribute ::Peanutsquash90::PepinoMelon90 PepinoMelon90Attr;

  ::Peanutsquash90::PepinoMelon90 PepinoMelon90Op(
    in    ::Peanutsquash90::PepinoMelon90 p1,
    out   ::Peanutsquash90::PepinoMelon90 p2,
    inout ::Peanutsquash90::PepinoMelon90 p3
  ) raises (PepinoMelon90Excpt);

  exception Pear90Excpt{
    ::Peanutsquash90::PepinoMelon90::Pear90 ex1;
  };

  attribute ::Peanutsquash90::PepinoMelon90::Pear90 Pear90Attr;

  ::Peanutsquash90::PepinoMelon90::Pear90 Pear90Op(
    in    ::Peanutsquash90::PepinoMelon90::Pear90 p1,
    out   ::Peanutsquash90::PepinoMelon90::Pear90 p2,
    inout ::Peanutsquash90::PepinoMelon90::Pear90 p3
  ) raises (Pear90Excpt);

  exception Papaya91Excpt{
    ::Papaya91 ex1;
  };

  attribute ::Papaya91 Papaya91Attr;

  ::Papaya91 Papaya91Op(
    in    ::Papaya91 p1,
    out   ::Papaya91 p2,
    inout ::Papaya91 p3
  ) raises (Papaya91Excpt);

  exception Cherry91Excpt{
    ::Cherry91 ex1;
  };

  attribute ::Cherry91 Cherry91Attr;

  ::Cherry91 Cherry91Op(
    in    ::Cherry91 p1,
    out   ::Cherry91 p2,
    inout ::Cherry91 p3
  ) raises (Cherry91Excpt);

  exception Sharanfruit91Excpt{
    ::Cherry91::Sharanfruit91 ex1;
  };

  attribute ::Cherry91::Sharanfruit91 Sharanfruit91Attr;

  ::Cherry91::Sharanfruit91 Sharanfruit91Op(
    in    ::Cherry91::Sharanfruit91 p1,
    out   ::Cherry91::Sharanfruit91 p2,
    inout ::Cherry91::Sharanfruit91 p3
  ) raises (Sharanfruit91Excpt);

  exception BeefTomatoes91Excpt{
    ::Cherry91::Sharanfruit91::BeefTomatoes91 ex1;
  };

  attribute ::Cherry91::Sharanfruit91::BeefTomatoes91 BeefTomatoes91Attr;

  ::Cherry91::Sharanfruit91::BeefTomatoes91 BeefTomatoes91Op(
    in    ::Cherry91::Sharanfruit91::BeefTomatoes91 p1,
    out   ::Cherry91::Sharanfruit91::BeefTomatoes91 p2,
    inout ::Cherry91::Sharanfruit91::BeefTomatoes91 p3
  ) raises (BeefTomatoes91Excpt);

};

