13af6ab5fSopenharmony_ci/*
23af6ab5fSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License.
53af6ab5fSopenharmony_ci * You may obtain a copy of the License at
63af6ab5fSopenharmony_ci *
73af6ab5fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
83af6ab5fSopenharmony_ci *
93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and
133af6ab5fSopenharmony_ci * limitations under the License.
143af6ab5fSopenharmony_ci */
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci// Autogenerated file -- DO NOT EDIT!
173af6ab5fSopenharmony_ci// Enums with more than 32 bits are not alowded in C and it's trouble
183af6ab5fSopenharmony_ci// NOLINTBEGIN(hicpp-signed-bitwise)
193af6ab5fSopenharmony_ci
203af6ab5fSopenharmony_ci% Enums::enums&.each do |name, enum|
213af6ab5fSopenharmony_ci% if enum.flags.length > 0
223af6ab5fSopenharmony_ci% if enum.flags.length <= 32 || enum.type == "int"
233af6ab5fSopenharmony_cienum Es2panda<%= name %> {
243af6ab5fSopenharmony_ci% enum.flags&.each_with_index do |flag, index|
253af6ab5fSopenharmony_ci%   if enum.type == 'unsigned'
263af6ab5fSopenharmony_ci%       if index == 0
273af6ab5fSopenharmony_ci    <%= enum.name_to_upper_snake %>_<%= flag %> = 0U,
283af6ab5fSopenharmony_ci%       else
293af6ab5fSopenharmony_ci    <%= enum.name_to_upper_snake %>_<%= flag %> = 1U << <%= index - 1%>U,
303af6ab5fSopenharmony_ci%       end
313af6ab5fSopenharmony_ci%   else
323af6ab5fSopenharmony_ci    <%= enum.name_to_upper_snake %>_<%= flag %>,
333af6ab5fSopenharmony_ci%   end
343af6ab5fSopenharmony_ci% end
353af6ab5fSopenharmony_ci% enum.flag_unions&.each do |union_name, flags|
363af6ab5fSopenharmony_ci    <%= enum.name_to_upper_snake %>_<%= union_name %> = <%= flags.each_with_index { |flag, index| flags[index] = "#{enum.name_to_upper_snake}_#{flag}"}.join(' | ') %>,
373af6ab5fSopenharmony_ci% end
383af6ab5fSopenharmony_ci};
393af6ab5fSopenharmony_ci// NOLINTNEXTLINE(modernize-use-using)
403af6ab5fSopenharmony_citypedef enum Es2panda<%= name %> Es2panda<%= name %>;
413af6ab5fSopenharmony_ci
423af6ab5fSopenharmony_ci% else
433af6ab5fSopenharmony_ci// NOLINTNEXTLINE(modernize-use-using)
443af6ab5fSopenharmony_citypedef uint64_t Es2panda<%= name %>;
453af6ab5fSopenharmony_ci
463af6ab5fSopenharmony_ci% end
473af6ab5fSopenharmony_ci% end
483af6ab5fSopenharmony_ci% end
493af6ab5fSopenharmony_ci
503af6ab5fSopenharmony_ci// NOLINTEND(hicpp-signed-bitwise)
51