xref: /aosp_15_r20/external/emboss/testdata/enum.emb (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1*99e0aae7SDavid Rees# Copyright 2019 Google LLC
2*99e0aae7SDavid Rees#
3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License");
4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License.
5*99e0aae7SDavid Rees# You may obtain a copy of the License at
6*99e0aae7SDavid Rees#
7*99e0aae7SDavid Rees#     https://www.apache.org/licenses/LICENSE-2.0
8*99e0aae7SDavid Rees#
9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software
10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS,
11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and
13*99e0aae7SDavid Rees# limitations under the License.
14*99e0aae7SDavid Rees
15*99e0aae7SDavid Rees[$default byte_order: "LittleEndian"]
16*99e0aae7SDavid Rees[(cpp) namespace: "emboss::test"]
17*99e0aae7SDavid Rees
18*99e0aae7SDavid Reesstruct Constants:
19*99e0aae7SDavid Rees  let sprocket = 1
20*99e0aae7SDavid Rees  let geegaw = 2
21*99e0aae7SDavid Rees
22*99e0aae7SDavid Reesenum Kind:
23*99e0aae7SDavid Rees  WIDGET                = 0
24*99e0aae7SDavid Rees  SPROCKET              = Constants.sprocket
25*99e0aae7SDavid Rees  GEEGAW                = Constants.geegaw
26*99e0aae7SDavid Rees  COMPUTED              = Constants.geegaw+Constants.sprocket
27*99e0aae7SDavid Rees  LARGE_VALUE           = 2000
28*99e0aae7SDavid Rees  DUPLICATE_LARGE_VALUE = LARGE_VALUE
29*99e0aae7SDavid Rees  MAX32BIT              = 4294967295
30*99e0aae7SDavid Rees  MAX64BIT              = 0x1_0000_0000_0000_0000-1
31*99e0aae7SDavid Rees
32*99e0aae7SDavid Rees
33*99e0aae7SDavid Reesenum Signed:
34*99e0aae7SDavid Rees  MIN64BIT = -0x8000_0000_0000_0000
35*99e0aae7SDavid Rees  MAX64BIT = 0x8000_0000_0000_0000-1
36*99e0aae7SDavid Rees
37*99e0aae7SDavid Rees
38*99e0aae7SDavid Reesenum OnlyShortValues:
39*99e0aae7SDavid Rees  ZERO = 0
40*99e0aae7SDavid Rees  ONE  = 1
41*99e0aae7SDavid Rees
42*99e0aae7SDavid Rees
43*99e0aae7SDavid Reesenum OnlyShortSignedValues:
44*99e0aae7SDavid Rees  ZERO         = 0
45*99e0aae7SDavid Rees  NEGATIVE_ONE = -1
46*99e0aae7SDavid Rees
47*99e0aae7SDavid Rees
48*99e0aae7SDavid Reesenum ExplicitlySigned:
49*99e0aae7SDavid Rees  [is_signed: true]
50*99e0aae7SDavid Rees  ZERO = 0
51*99e0aae7SDavid Rees
52*99e0aae7SDavid Rees
53*99e0aae7SDavid Reesenum ExplicitlySized64:
54*99e0aae7SDavid Rees  [maximum_bits: 64]
55*99e0aae7SDavid Rees  ZERO = 0
56*99e0aae7SDavid Rees
57*99e0aae7SDavid Rees
58*99e0aae7SDavid Reesenum ExplicitlySized32:
59*99e0aae7SDavid Rees  [maximum_bits: 32]
60*99e0aae7SDavid Rees  ZERO = 0
61*99e0aae7SDavid Rees
62*99e0aae7SDavid Rees
63*99e0aae7SDavid Reesenum ExplicitlySized16:
64*99e0aae7SDavid Rees  [maximum_bits: 16]
65*99e0aae7SDavid Rees  ZERO = 0
66*99e0aae7SDavid Rees
67*99e0aae7SDavid Rees
68*99e0aae7SDavid Reesenum ExplicitlySized8:
69*99e0aae7SDavid Rees  [maximum_bits: 8]
70*99e0aae7SDavid Rees  ZERO = 0
71*99e0aae7SDavid Rees
72*99e0aae7SDavid Rees
73*99e0aae7SDavid Reesenum ExplicitlySized12:
74*99e0aae7SDavid Rees  [maximum_bits: 12]
75*99e0aae7SDavid Rees  ZERO = 0
76*99e0aae7SDavid Rees
77*99e0aae7SDavid Rees
78*99e0aae7SDavid Reesenum ExplicitlySizedAndSigned:
79*99e0aae7SDavid Rees  [maximum_bits: 32]
80*99e0aae7SDavid Rees  [is_signed: true]
81*99e0aae7SDavid Rees  ZERO = 0
82*99e0aae7SDavid Rees
83*99e0aae7SDavid Rees
84*99e0aae7SDavid Reesstruct ManifestEntry:
85*99e0aae7SDavid Rees  0 [+1]     Kind  kind
86*99e0aae7SDavid Rees  1 [+4]     UInt  count
87*99e0aae7SDavid Rees  5 [+4]     Kind  wide_kind
88*99e0aae7SDavid Rees  9 [+5]  bits:
89*99e0aae7SDavid Rees    4 [+32]  Kind  wide_kind_in_bits
90*99e0aae7SDavid Rees
91*99e0aae7SDavid Rees
92*99e0aae7SDavid Reesstruct StructContainingEnum:
93*99e0aae7SDavid Rees  enum Status:
94*99e0aae7SDavid Rees    OK      = 0x00
95*99e0aae7SDavid Rees    FAILURE = 0x01
96*99e0aae7SDavid Rees  0 [+1] UInt bar
97