module HomeNet {
	struct DataA {
		Int32		a;
		String		b;
	};
	struct DataB {
		Int32		a;
		String		b;
		Int32		c;
		List<Int32>	l1;
		List<DataA>	l2;
	};
	
	interface Test1 {
		Int32 getStatus(in Int32 a1, in Int32 a2);
		Int32 sendGetList(in List<DataA> a1, out List<DataA> a2);
		Int32 getInfo(in Int32 a1, in DataB a2, out Int32 a3, out DataB a4);
		Error getVersion(out String version);
	};
	interface Test2 {
		Int32 getStatus(in Int32 a1, in Double a2, out Int32 a3);
	};
};
