Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > C Code > Generating C Code > Overview of generating C code (C code) > Overview of modeling C code (C code) > Setting up data types for generating C code (C code)
  
Setting up data types for generating C code (C code)
In addition to the standard Data Type properties in Modeler, you can apply the «C Class» stereotype to a Data Type, and then use its Tag Definitions to define C specific information.
1. If you have not done so already, add the C Profile package to your Model. How?
2. Set the standard properties of the Data Type as required. Tell me more...
3. If you want to generate a Model's or Package's Data Types in a specific order, order the Data Types as required. Tell me more...
4. Apply the «C Class» stereotype to the Data Type. For information about applying Stereotypes to an item, click here
5. Open the Data Type's Property Pages, and then click theC Class tab. For information about setting the tagged value of a Tag Definition, see
6. If you want to specify a header file comment, type the text as the tagged value of the C Header File Comment tag definition.
7. If you want to specify an implementation file comment, type the text as the tagged value of the C Implementation File Comment tag definition.
8. If you want to specify header file #includes to files not modeled in Modeler, type the #includes text as the tagged value of the C Header Include tag definition.
* 
You model #includes to files modeled in Modeler through Dependencies.
9. If you want to specify implementation file #includes to files not modeled in Modeler, type the #includes text as the tagged value of the C Implementation Include tag definition.
10. If you want the Data Type to be generated inline when used as a type, set the tagged value of the C Anonymous Item tag definition to TRUE.
11. If the Data Type is scoped to a Class and you want to specify that the Data Type is a non-member, that is, the Data Type is not a member of the owning Class but you want it to appear in the owning Class' Header file, set the tagged value of the C Non Member tag definition to TRUE
12. If you want to specify forward declarations to structs, unions or enums, reference those Classes, Data Types, Interfaces or Type Definitions through the C Forward Declarations tag definition. If you want to specify forward declarations to items not modeled in the Model, specify the text of the forward declarations as the tagged value of the C Forward Declaration Text