aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ic/test/ic_SUITE_data/type.idl
blob: 6109661c4fa8e3c4a4153648f2a05bf3df164ea3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
// %CopyrightBegin%
// 
// Copyright Ericsson AB 1997-2016. All Rights Reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
// %CopyrightEnd%

//
// Check all types in IDL
//

typedef long T01;
typedef unsigned long T02;
typedef short T03;
typedef unsigned short T04;
typedef float T05;
typedef double T06;
typedef char T07;
typedef boolean T08;
typedef octet T09;
typedef any T10;
typedef Object T11;
typedef T01 T12;

// Template types
typedef sequence <long> T21;
typedef sequence <unsigned long> T22;
typedef sequence <short, 2> T23;
typedef sequence <unsigned short, 6> T24;
typedef sequence <float, 12> T25;
typedef sequence <double> T26;
typedef sequence <char, 1> T27;
typedef sequence <boolean> T28;
typedef sequence <octet, 9> T29;
typedef sequence <any> T30;
typedef sequence <Object,2 > T31;
typedef sequence <T01> T32;
typedef sequence <sequence <sequence <T32> > > T33;

struct S1 {
  long a;
  boolean b;
};

struct S2 {
  long a;
  struct S3 {
    long a;
    boolean b;
  } b;
};

union U1 switch (enum E1 {kalle1, sune1}) {
case kalle1: long a;
default: boolean b;
case sune1: octet c;
};

union U2 switch (enum E2 {kalle2, sune2}) {
case kalle2: long a;
default: struct S4 { long a; short  b;} b;
case sune2: octet c;
};

// Typedefs of above types

typedef struct S11 {
  long a;
  boolean b;
} T41;

typedef struct S21 {
  long a;
  struct S3 {
    long a;
    boolean b;
  } b;
} T42;

typedef union U11 switch (enum E3 {kalle3, sune3}) {
case kalle3: long a;
default: boolean b;
case sune3: octet c;
} T43;

typedef union U21 switch (enum E4 {kalle4, sune4}) {
case kalle4: long a;
default: struct S4 { long a; short  b;} b;
case sune4: octet c;
} T44;




// Array versions

typedef long T01_arr[99];
typedef unsigned long T02_arr[99];
typedef short T03_arr[99];
typedef unsigned short T04_arr[99];
typedef float T05_arr[99];
typedef double T06_arr[99];
typedef char T07_arr[99];
typedef boolean T08_arr[99];
typedef octet T09_arr[99];
typedef any T10_arr[99];
typedef Object T11_arr[99];
typedef T01 T12_arr[99];

typedef sequence <long> T21_arr[99];
typedef sequence <unsigned long> T22_arr[99];
typedef sequence <short, 2> T23_arr[99];
typedef sequence <unsigned short, 6> T24_arr[99];
typedef sequence <float, 12> T25_arr[99];
typedef sequence <double> T26_arr[99];
typedef sequence <char, 1> T27_arr[99];
typedef sequence <boolean> T28_arr[99];
typedef sequence <octet, 9> T29_arr[99];
typedef sequence <any> T30_arr[99];
typedef sequence <Object,2 > T31_arr[99];
typedef sequence <T01> T32_arr[99];
typedef sequence <sequence <sequence <T32> > > T33_arr[99];

struct S12 {
  long a;
  boolean b_arr[99];
};

struct S22 {
  long a_arr[99];
  struct S3 {
    long a_arr[99];
    boolean b_arr[99];
  } b;
};

union U12 switch (enum E12 {kalle12, sune12}) {
case kalle12: long a_arr[99];
default: boolean b;
case sune12: octet c;
};

union U22 switch (enum E22 {kalle22, sune22}) {
case kalle22: long a;
default: struct S4 { long a; short  b;} b_arr[99];
case sune22: octet c;
};

// Typedefs of above types

typedef struct S13 {
  long a_arr[99];
  boolean b;
} T41_arr[99];

typedef struct S23 {
  long a;
  struct S3 {
    long a;
    boolean b_arr[99];
    char c;
  } b;
} T42_arr[99];

typedef union U13 switch (enum E13 {kalle13, sune13}) {
case kalle13: long a;
default: boolean b_arr[99];
case sune13: octet c;
} T43_arr[99];

typedef union U23 switch (enum E23 {kalle23, sune23}) {
case kalle23: long a_arr[99];
default: struct S4 { long a; short  b;} b_arr[99];
case sune23: octet c_arr[99];
} T44_arr[99];