/* * Copyright (c) 1995, 1996 The University of Utah and * the Computer Systems Laboratory at the University of Utah (CSL). * * This file is part of Flick, the Flexible IDL Compiler Kit. * * Flick is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Flick is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Flick; see the file COPYING. If not, write to * the Free Software Foundation, 59 Temple Place #330, Boston, MA 02111, USA. */ typedef sequence vec10; typedef char str22[22][2]; typedef boolean boolarray[3][40]; struct A { long a1; char a2[17]; char a3[10][2]; // vec10 a3; }; struct B { long b1; A b2; }; struct C { long c1; long c2; }; typedef A A_matrix[2][3][4]; typedef B B_matrix[2][3][4]; typedef C C_matrix[2][3][4]; typedef A_matrix A_rmatrix[2][3][4][5]; interface A_i { A op(in A a1, inout A a2, out A a3); str22 op2(in str22 a1, inout str22 a2, out str22 a3); // THIS IS NOT A LEGAL OPERATION!!! You can't have [] on params // str22 op3(in short a1[3][4], inout short a2[3][4], out short a3[4][4]); A_matrix op4(in A a1, inout A a2, out A a3); attribute str22 attribute_array; // void foo(in any x[3], out any y[4], inout any z[3]); };