Skip to main content

module basictypes {
  interface UseAllTypes {
    boolean TrueOrFalse(in boolean boolx,
                        inout boolean booly,
                        out boolean boolz);
      
    char CharAll(in char chx,
                 inout char chy,
                 out char chz); 
      
    wchar WCharAll(in wchar wchx,
                   inout wchar wchy,
                   out wchar wchz);
      
    octet Octest (in octet ox,
                  inout octet oy,
                  out octet oz);
      
    string  StringAlong(in string stx,
                        inout string sty,
                        out string stz);
      
    wstring StringAWide(in wstring wstx,
                        inout wstring wsty,
                        out string wstz);
      
    short ShortNum(in short shortx,
                   inout short shorty,
                   out short shortz);
      
    unsigned short UShortNum(in unsigned short ushortx,
                             inout unsigned short ushorty,
                             out unsigned short ushortz);
      
    long LongNum(in long longx,
                 inout long longy,
                 out long longz);
      
    unsigned long ULongNum(in unsigned long ulongx,
                           inout unsigned long ulongy,
                           out unsigned long ulongz);
      
    long long LLongNum(in long long llx,
                       inout long long lly,
                       out long long llz);
      
    unsigned long long ULLongNum(in unsigned long long ullx,
                                 inout unsigned long long ully,
                                 out unsigned long long ullz);
      
    float floatNum(in float floatx,
                   inout float floaty,
                    out float floatz);
      
    double doubleNum(in double doublex,
                     inout double doubley,
                     out double doublez);

    // Not yet supported!
    //          long double lDoubleNum (in long double ldoublex,
    //                                  inout long double ldoubley,
    //                                  out long double ldoublez);
  };
};