blob: 6d211552cf68be9b6d67d3ee04e602ffe908c69d [file] [log] [blame]
Ole Troan793be462020-12-04 13:15:30 +01001/*
2 * Copyright (c) 2020 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
Ole Troan793be462020-12-04 13:15:30 +010016import "vnet/ip/ip_types.api";
Ole Troan71134f22021-02-17 14:10:04 +010017import "vnet/interface_types.api";
Ole Troan793be462020-12-04 13:15:30 +010018
19autoreply define test_prefix {
20 vl_api_prefix_t pref;
21};
22
23enumflag test_enumflags {
24 RED = 0x1,
25 BLUE = 0x2,
26 GREEN = 0x4,
27};
28
29autoreply define test_enum {
30 vl_api_test_enumflags_t flags;
31};
Ole Troanfb0afab2021-02-11 11:13:46 +010032
33typedef test_stringtype {
34 string str[];
35};
36
37autoreply define test_string {
38 vl_api_test_stringtype_t str;
39};
Ole Troancf0102b2021-02-12 11:48:12 +010040
Ole Troanfb0afab2021-02-11 11:13:46 +010041autoreply define test_string2 {
42 string str[];
43};
Ole Troancf0102b2021-02-12 11:48:12 +010044
45/* Test of toplevel VLA with basetype */
46autoreply define test_vla {
47 u32 count;
48 u32 vla[count];
49};
50
51/* Test of toplevel VLA with u8 */
52autoreply define test_vla2 {
53 u32 count;
54 u8 vla[count];
55};
56/* Test of toplevel VLA with user type */
57typedef test_vlatype {
58 u32 data;
59};
60autoreply define test_vla3 {
61 u32 count;
62 vl_api_test_vlatype_t vla[count];
63};
64/* Test of typedefed VLA */
65typedef test_vlatype2 {
66 u32 count;
67 u32 vla[count];
68};
69autoreply define test_vla4 {
70 vl_api_test_vlatype2_t data;
71};
72/* u8 string in typedef */
73typedef test_vlatype3 {
74 u32 count;
75 u8 vla[count];
76};
77autoreply define test_vla5 {
78 vl_api_test_vlatype3_t data;
79};
80
Ole Troan316967c2021-02-16 00:31:52 +010081/* Addresses */
82autoreply define test_addresses {
83 vl_api_address_t a;
84};
Ole Troan93c4b1b2021-02-16 18:09:51 +010085autoreply define test_addresses2 {
86 vl_api_address_t a[2];
87};
88autoreply define test_addresses3 {
89 u32 n;
90 vl_api_address_t a[n];
91};
92
93/* Empty */
94autoreply define test_empty {
95 u32 client_index;
96 u32 context;
97};
Ole Troan71134f22021-02-17 14:10:04 +010098
99/* Interface */
100autoreply define test_interface {
101 vl_api_interface_index_t sw_if_index;
102};