1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef TOOLS_CDDL_CODEGEN_H_ 6 #define TOOLS_CDDL_CODEGEN_H_ 7 8 #include "tools/cddl/sema.h" 9 10 bool WriteTypeDefinitions(int fd, CppSymbolTable* table); 11 bool WriteFunctionDeclarations(int fd, CppSymbolTable* table); 12 bool WriteEncoders(int fd, CppSymbolTable* table); 13 bool WriteDecoders(int fd, CppSymbolTable* table); 14 bool WriteEqualityOperators(int fd, CppSymbolTable* table); 15 bool WriteHeaderPrologue(int fd, const std::string& header_filename); 16 bool WriteHeaderEpilogue(int fd, const std::string& header_filename); 17 bool WriteSourcePrologue(int fd, const std::string& header_filename); 18 bool WriteSourceEpilogue(int fd); 19 20 #endif // TOOLS_CDDL_CODEGEN_H_ 21