#include "nsISupports.idl"

[scriptable, uuid(16d17950-cdf5-11d3-ad2e-005004159574)]
interface nsIRPCTestInOut : nsISupports
{
    void testInOut1(inout boolean bool);
    void testInOut2(inout octet oct);
    void testInOut3(inout short s); 
    void testInOut4(inout long l);
    void testInOut5(inout long long ll);
    void testInOut6(inout unsigned short us);
    void testInOut7(inout unsigned long ul);
    void testInOut8(inout unsigned long long ull);
    void testInOut9(inout float f);
    void testInOut10(inout double d);
    void testInOut11(inout char c);
    void testInOut12(inout wchar wc);
    void testInOut13(inout string str);
    void testInOut14(inout wstring wstr);
    void testInOut15(inout unsigned long count, [array, size_is(count)] inout char array);
    void testInOut16(inout boolean bBool, inout char cChar, 
                    inout unsigned short nUShort,
                    inout long nLong, inout unsigned long nULong,
                    inout long long nHyper, inout unsigned long long nUHyper,
                    inout float fFloat, inout double fDouble,
                    inout string aString);
    void testInOut17(inout unsigned long count, [array, size_is(count)] inout long array);
    void testInOut18(inout boolean bBool, inout char cChar, inout octet nByte,
                    inout short nShort, inout unsigned short nUShort,
                    inout long nLong, inout unsigned long nULong,
                    inout long long nHyper, inout unsigned long long nUHyper,
                    inout float fFloat, inout double fDouble,
                    inout string aString);
};
