//
// 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 enum Sharanfruit22{
  BeefTomatoes22,
  RedPepper22,
  FrenchBeans22
} Radish22;

typedef sequence<sequence<Sharanfruit22,13> >  Tarragon23[15];

typedef struct Zucchini24{
  struct Plum24{
    sequence<sequence<boolean,11> >  Shallots24;
  } KidneyBean24;
} ButterBean24;

typedef struct Bayleaf25{
  struct WhiteCabbage25{
    sequence<sequence<sequence<float> > ,7>  Celery25[10];
  } Aniseed25;
} Dill25;

typedef struct Mango26{
  struct PassionFruit26{
    sequence<sequence<sequence<double> > ,19>  Rhubarb26;
  } Pumpkin26;
} WaterMelon26;

typedef struct Potato26{
  struct ChineseLeaves26{
    sequence<sequence<sequence<long> > >  RedCabbage26[12];
  } Broadbeans26;
} Record26;

typedef struct Blueberry27{
  struct Basil27{
    sequence<sequence<sequence<short> > >  Peanuts27;
  } CoxPippin27;
} Blackberry27;

typedef struct Raspberry28{
  struct Peppercorn28{
    sequence<sequence<sequence<short,6> ,9> ,7>  Papaya28[4];
  } Susander28;
} Grapefruit28;

typedef struct Elderberry29{
  struct RedGrapes29{
    sequence<sequence<sequence<unsigned long,5> ,5> ,3>  Melon29;
  } BeechNut29;
} Kumquats29;

typedef struct CrabApple30{
  struct Lentil30{
    sequence<sequence<sequence<unsigned short,9> ,3> >  GoldenDelicous30[17];
  } Fig30;
} RedOnion30;

typedef struct Mushroom31{
  struct Almonds31{
    sequence<sequence<sequence<char,6> ,6> >  Beansprout31;
  } Guava31;
} Runnerbean31;

typedef struct Cabbage32{
  struct Coconut32{
    sequence<sequence<sequence<boolean,18> > ,15>  Dates32[11];
  } Lychees32;
} Cucumber32;

typedef struct KerrsPinks32{
  struct Wilja32{
    sequence<sequence<sequence<octet,7> > ,14>  BritishQueens32;
  } Balmoral32;
} GoldenWonder32;

typedef struct PricklyPear33{
  struct VineTomatoes33{
    sequence<sequence<sequence<sequence<float> ,11> > >  GreenPepper33[5];
  } Scallion33;
} Currant33;

typedef struct Artichokes34{
  struct Peanutsquash34{
    sequence<sequence<sequence<sequence<float,2> ,16> > >  Damsons34;
  } CherryTomatoes34;
} GreenGrapes34;

typedef struct Chickpea35{
  struct Uglifruit35{
    sequence<sequence<sequence<sequence<double> > ,4> ,5>  Fennell35[14];
  } Waterchestnut35;
} Beetroot35;

typedef struct JuniperBerries36{
  struct GooseBerry36{
    sequence<sequence<sequence<sequence<double,2> > ,11> ,7>  Cinnamon36;
  } EggPlant36;
} Cloves36;

typedef struct BrazilNut37{
  struct Brocoli37{
    sequence<sequence<sequence<sequence<long> > ,14> >  Prunes37[13];
  } GrannySmith37;
} SweetPotato37;

typedef struct Mint38{
  struct BlackEyedBeans38{
    sequence<sequence<sequence<sequence<long,1> > ,16> >  Apricots38;
  } Leek38;
} GardenPeas38;

typedef struct Cara38{
  struct Rooster38{
    sequence<sequence<sequence<sequence<short> > > ,8>  Cultra38[8];
  } MarisPiper38;
} KingEdward38;

typedef struct Chayato39{
  struct KiwanoMelon39{
    sequence<sequence<sequence<sequence<short,5> > > ,3>  IcebergLettuce39;
  } Tomato39;
} PippinApple39;

typedef struct Eddo40{
  struct Chives40{
    sequence<sequence<sequence<sequence<unsigned long> > > >  CookingApple40[7];
  } Mullberry40;
} Yam40;

typedef struct LimaBean41{
  struct Blackcurrant41{
    sequence<sequence<sequence<sequence<unsigned long,6> > > >  Plantain41;
  } Pineapple41;
} Mangosteen41;

typedef struct Thyme42{
  struct Strawberry42{
    sequence<sequence<sequence<sequence<unsigned long,5> ,3> ,2> ,14>  Mustard42[13];
  } BreadFruit42;
} Sweedes42;

typedef struct RowanBerry43{
  struct CantelopeMelon43{
    sequence<sequence<sequence<sequence<unsigned short> ,2> ,4> ,3>  Billberries43;
  } LolloRossa43;
} Sweetcorn43;


interface idlServer {

  exception Radish22Excpt{
    ::Radish22 ex1;
  };

  attribute ::Radish22 Radish22Attr;

  ::Radish22 Radish22Op(
    in    ::Radish22 p1,
    out   ::Radish22 p2,
    inout ::Radish22 p3
  ) raises (Radish22Excpt);

  exception Sharanfruit22Excpt{
    ::Sharanfruit22 ex1;
  };

  attribute ::Sharanfruit22 Sharanfruit22Attr;

  ::Sharanfruit22 Sharanfruit22Op(
    in    ::Sharanfruit22 p1,
    out   ::Sharanfruit22 p2,
    inout ::Sharanfruit22 p3
  ) raises (Sharanfruit22Excpt);

  exception Tarragon23Excpt{
    ::Tarragon23 ex1;
  };

  attribute ::Tarragon23 Tarragon23Attr;

  ::Tarragon23 Tarragon23Op(
    in    ::Tarragon23 p1,
    out   ::Tarragon23 p2,
    inout ::Tarragon23 p3
  ) raises (Tarragon23Excpt);

  exception ButterBean24Excpt{
    ::ButterBean24 ex1;
  };

  attribute ::ButterBean24 ButterBean24Attr;

  ::ButterBean24 ButterBean24Op(
    in    ::ButterBean24 p1,
    out   ::ButterBean24 p2,
    inout ::ButterBean24 p3
  ) raises (ButterBean24Excpt);

  exception Zucchini24Excpt{
    ::Zucchini24 ex1;
  };

  attribute ::Zucchini24 Zucchini24Attr;

  ::Zucchini24 Zucchini24Op(
    in    ::Zucchini24 p1,
    out   ::Zucchini24 p2,
    inout ::Zucchini24 p3
  ) raises (Zucchini24Excpt);

  exception Plum24Excpt{
    ::Zucchini24::Plum24 ex1;
  };

  attribute ::Zucchini24::Plum24 Plum24Attr;

  ::Zucchini24::Plum24 Plum24Op(
    in    ::Zucchini24::Plum24 p1,
    out   ::Zucchini24::Plum24 p2,
    inout ::Zucchini24::Plum24 p3
  ) raises (Plum24Excpt);

  exception Dill25Excpt{
    ::Dill25 ex1;
  };

  attribute ::Dill25 Dill25Attr;

  ::Dill25 Dill25Op(
    in    ::Dill25 p1,
    out   ::Dill25 p2,
    inout ::Dill25 p3
  ) raises (Dill25Excpt);

  exception Bayleaf25Excpt{
    ::Bayleaf25 ex1;
  };

  attribute ::Bayleaf25 Bayleaf25Attr;

  ::Bayleaf25 Bayleaf25Op(
    in    ::Bayleaf25 p1,
    out   ::Bayleaf25 p2,
    inout ::Bayleaf25 p3
  ) raises (Bayleaf25Excpt);

  exception WhiteCabbage25Excpt{
    ::Bayleaf25::WhiteCabbage25 ex1;
  };

  attribute ::Bayleaf25::WhiteCabbage25 WhiteCabbage25Attr;

  ::Bayleaf25::WhiteCabbage25 WhiteCabbage25Op(
    in    ::Bayleaf25::WhiteCabbage25 p1,
    out   ::Bayleaf25::WhiteCabbage25 p2,
    inout ::Bayleaf25::WhiteCabbage25 p3
  ) raises (WhiteCabbage25Excpt);

};

