OpenCMISS-Iron Internal API Documentation
FieldExport.c File Reference
Include dependency graph for FieldExport.c:

Go to the source code of this file.

Classes

struct  FileSession
 
struct  _SessionListEntry
 

Macros

#define BASIS_LAGRANGE_HERMITE_TP_TYPE   1
 
#define BASIS_SIMPLEX_TYPE   2
 
#define BASIS_LINEAR_LAGRANGE_INTERPOLATION   1
 
#define BASIS_QUADRATIC_LAGRANGE_INTERPOLATION   2
 
#define BASIS_CUBIC_LAGRANGE_INTERPOLATION   3
 
#define BASIS_CUBIC_HERMITE_INTERPOLATION   4
 
#define BASIS_QUADRATIC1_HERMITE_INTERPOLATION   5
 
#define BASIS_QUADRATIC2_HERMITE_INTERPOLATION   6
 
#define BASIS_LINEAR_SIMPLEX_INTERPOLATION   7
 
#define BASIS_QUADRATIC_SIMPLEX_INTERPOLATION   8
 
#define BASIS_CUBIC_SIMPLEX_INTERPOLATION   9
 
#define FIELD_IO_INTERPOLATION_HEADER_SCALE   4
 
#define FIELD_IO_INTERPOLATION_HEADER_NODAL   5
 
#define FIELD_IO_INTERPOLATION_HEADER_GRID   6
 
#define FIELD_IO_INTERPOLATION_HEADER_GAUSS   7
 
#define FIELD_IO_INTERPOLATION_HEADER_CONSTANT   8
 
#define FIELD_GEOMETRIC_TYPE   1
 
#define FIELD_FIBRE_TYPE   2
 
#define FIELD_GENERAL_TYPE   3
 
#define FIELD_MATERIAL_TYPE   4
 
#define FIELD_GEOMETRIC_GENERAL_TYPE   5
 
#define FIELD_U_VARIABLE_TYPE   1
 
#define FIELD_DELUDELN_VARIABLE_TYPE   2
 
#define FIELD_DELUDELT_VARIABLE_TYPE   3
 
#define FIELD_DEL2UDELT2_VARIABLE_TYPE   4
 
#define FIELD_V_VARIABLE_TYPE   5
 
#define FIELD_DELVDELN_VARIABLE_TYPE   6
 
#define FIELD_U1_VARIABLE_TYPE   9
 
#define FIELD_U2_VARIABLE_TYPE   13
 
#define COORDINATE_RECTANGULAR_CARTESIAN_TYPE   1
 
#define COORDINATE_CYCLINDRICAL_POLAR_TYPE   2
 
#define COORDINATE_SPHERICAL_POLAR_TYPE   3
 
#define COORDINATE_PROLATE_SPHEROIDAL_TYPE   4
 
#define COORDINATE_OBLATE_SPHEROIDAL_TYPE   5
 
#define NO_PART_DERIV   1
 
#define FIRST_PART_DERIV   2
 
#define SECOND_PART_DERIV   3
 
#define PART_DERIV_S1   2
 
#define PART_DERIV_S1_S1   3
 
#define PART_DERIV_S2   4
 
#define PART_DERIV_S2_S2   5
 
#define PART_DERIV_S1_S2   6
 
#define PART_DERIV_S3   7
 
#define PART_DERIV_S3_S3   8
 
#define PART_DERIV_S1_S3   9
 
#define PART_DERIV_S2_S3   10
 
#define PART_DERIV_S1_S2_S3   11
 
#define PART_DERIV_S4   12
 
#define PART_DERIV_S4_S4   13
 
#define PART_DERIV_S1_S4   14
 
#define PART_DERIV_S2_S4   15
 
#define PART_DERIV_S3_S4   16
 
#define PART_DERIV_S1_S2_S4   17
 
#define PART_DERIV_S1_S3_S4   18
 
#define PART_DERIV_S2_S3_S4   19
 
#define PART_DERIV_S1_S2_S3_S4   20
 

Typedefs

typedef struct _SessionListEntry SessionListEntry
 

Functions

static int FieldExport_FPrintf (FileSession *const session, const char *format,...)
 
static SessionListEntryFieldExport_GetSession (const int handle)
 
int FieldExport_InterpolationType (const int interpType)
 
static int FieldExport_File_Group (FileSession *const session, const char *const label)
 
static int FieldExport_File_MeshDimensions (FileSession *const session, const int dimensions, const int basisType)
 
static int FieldExport_File_ScalingFactorCount (FileSession *const session, const int scalingFactorCount)
 
static int FieldExport_File_InterpolationHeader (FileSession *const session, const int labelType, const int numberOfXi, const int *const interpolationXi)
 
static int FieldExport_File_InterpolationHeaderScale (FileSession *const session, const int numberOfXi, const int *const interpolationXi, const int numberOfScaleFactors)
 
static char * FieldExport_GetVariableLabel (const int fieldType, const int variableType)
 
static char * FieldExport_GetCoordinateVariableLabel (int coordinateSystemType)
 
static char * FieldExport_GetCoordinateComponentLabel (int coordinateSystemType, int componentNumber)
 
static int FieldExport_File_NodeCount (FileSession *const session, const int nodeCount)
 
static int FieldExport_File_FieldCount (FileSession *const session, const int fieldCount)
 
static int FieldExport_File_CoordinateVariable (FileSession *const session, const char *variableName, const int variableIndex, int coordinateSystemType, const int componentCount)
 
static int FieldExport_File_Variable (FileSession *const session, const char *variableName, const int variableIndex, const int fieldType, const int variableType, const int componentCount)
 
static int FieldExport_File_CoordinateComponent (FileSession *const session, int coordinateSystemType, const int componentNumber, const int interpType, const int numberOfXi, const int *const interpolationXi)
 
static int FieldExport_File_Component (FileSession *const session, const int componentNumber, const int interpType, const int numberOfXi, const int *const interpolationXi)
 
static int FieldExport_File_ElementGridSize (FileSession *const session, const int interpType, const int numberOfXi, const int *const numberGauss)
 
static int FieldExport_File_NodeScaleIndexes (FileSession *const session, const int nodeCount, const int *const derivativeCount, const int *const elementDerivatives, const int *const nodeIndexes, const int *const scaleIndexes)
 
static int FieldExport_File_ElementIndex (FileSession *session, const int dimensionCount, const int elementIndex)
 
static int FieldExport_File_ElementNodeIndices (FileSession *session, const int nodeCount, const int *const indices)
 
static int FieldExport_File_ElementNodeScales (FileSession *session, const int isFirstSet, const int scaleCount, const double *const scales)
 
static int FieldExport_File_ElementGridValues (FileSession *session, const int isFirstSet, const int valueCount, const double value)
 
static int FieldExport_File_OpenSession (const char *const name, int *const handle)
 
static int FieldExport_File_CloseSession (SessionListEntry *session)
 
static int FieldExport_File_NodeValues (FileSession *session, const int nodeNumber, const int valueCount, const double *const values)
 
static int FieldExport_FieldDerivateLabels (FileSession *session, const int numberOfDerivatives, const int *const derivatives)
 
static int FieldExport_File_DerivativeIndices (FileSession *session, const int componentNumber, const int fieldType, const int variableType, const int numberOfDerivatives, const int *const derivatives, const int valueIndex)
 
static int FieldExport_File_CoordinateDerivativeIndices (FileSession *session, const int componentNumber, int coordinateSystemType, const int numberOfDerivatives, const int *const derivatives, const int valueIndex)
 
int FieldExport_OpenSession (const int type, const char *const name, int *const handle)
 
int FieldExport_Group (const int handle, const char *const label)
 
int FieldExport_MeshDimensions (const int handle, const int dimensions, const int basisType)
 
int FieldExport_ScalingFactorCount (const int handle, const int scalingFactorCount)
 
int FieldExport_ScaleFactors (const int handle, const int numberOfXi, const int *const interpolationXi, const int numberOfScaleFactors)
 
int FieldExport_NodeCount (const int handle, const int nodeCount)
 
int FieldExport_FieldCount (const int handle, const int fieldCount)
 
int FieldExport_CoordinateVariable (const int handle, const char *variableName, const int variableNumber, int coordinateSystemType, const int componentCount)
 
int FieldExport_Variable (const int handle, const char *variableName, const int variableNumber, const int fieldType, const int variableType, const int componentCount)
 
int FieldExport_CoordinateComponent (const int handle, int coordinateSystemType, const int componentNumber, const int interpType, const int numberOfXi, const int *const interpolationXi)
 
int FieldExport_Component (const int handle, const int componentNumber, const int interpType, const int numberOfXi, const int *const interpolationXi)
 
int FieldExport_ElementGridSize (const int handle, const int interpType, const int numberOfXi, const int *const numberGauss)
 
int FieldExport_NodeScaleIndexes (const int handle, const int nodeCount, const int *const derivativeCount, const int *const elementDerivatives, const int *const nodeIndexes, const int *const scaleIndexes)
 
int FieldExport_ElementIndex (const int handle, const int dimensionCount, const int index)
 
int FieldExport_ElementNodeIndices (const int handle, const int nodeCount, const int *const indices)
 
int FieldExport_ElementNodeScales (const int handle, const int isFirstSet, const int scaleCount, const double *const scales)
 
int FieldExport_ElementGridValues (const int handle, const int isFirstSet, const int dimensionCount, const double value)
 
int FieldExport_CloseSession (const int handle)
 
int FieldExport_NodeValues (const int handle, const int nodeNumber, const int valueCount, const double *const values)
 
int FieldExport_CoordinateDerivativeIndices (const int handle, const int componentNumber, const int coordinateSystemType, const int numberOfDerivatives, const int *const derivatives, const int valueIndex)
 
int FieldExport_DerivativeIndices (const int handle, const int componentNumber, const int fieldType, const int variableType, const int numberOfDerivatives, const int *const derivatives, const int valueIndex)
 
int FieldExport_VersionInfo (const int handle, const int numberOfVersions)
 
int FieldExport_EndComponent (const int handle)
 

Variables

static SessionListEntry sessions
 
static int nextHandle = 0
 

Macro Definition Documentation

#define BASIS_CUBIC_HERMITE_INTERPOLATION   4
#define BASIS_CUBIC_LAGRANGE_INTERPOLATION   3
#define BASIS_CUBIC_SIMPLEX_INTERPOLATION   9
#define BASIS_LAGRANGE_HERMITE_TP_TYPE   1

Definition at line 69 of file FieldExport.c.

Referenced by FieldExport_File_MeshDimensions().

#define BASIS_LINEAR_LAGRANGE_INTERPOLATION   1
#define BASIS_LINEAR_SIMPLEX_INTERPOLATION   7
#define BASIS_QUADRATIC1_HERMITE_INTERPOLATION   5
#define BASIS_QUADRATIC2_HERMITE_INTERPOLATION   6
#define BASIS_QUADRATIC_LAGRANGE_INTERPOLATION   2
#define BASIS_QUADRATIC_SIMPLEX_INTERPOLATION   8
#define BASIS_SIMPLEX_TYPE   2

Definition at line 70 of file FieldExport.c.

Referenced by FieldExport_File_MeshDimensions().

#define COORDINATE_CYCLINDRICAL_POLAR_TYPE   2

Definition at line 106 of file FieldExport.c.

#define COORDINATE_OBLATE_SPHEROIDAL_TYPE   5

Definition at line 109 of file FieldExport.c.

#define COORDINATE_PROLATE_SPHEROIDAL_TYPE   4

Definition at line 108 of file FieldExport.c.

#define COORDINATE_RECTANGULAR_CARTESIAN_TYPE   1
#define COORDINATE_SPHERICAL_POLAR_TYPE   3

Definition at line 107 of file FieldExport.c.

#define FIELD_DEL2UDELT2_VARIABLE_TYPE   4

Definition at line 99 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_DELUDELN_VARIABLE_TYPE   2

Definition at line 97 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_DELUDELT_VARIABLE_TYPE   3

Definition at line 98 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_DELVDELN_VARIABLE_TYPE   6

Definition at line 101 of file FieldExport.c.

#define FIELD_FIBRE_TYPE   2

Definition at line 91 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_GENERAL_TYPE   3

Definition at line 92 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_GEOMETRIC_GENERAL_TYPE   5

Definition at line 94 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_GEOMETRIC_TYPE   1

Definition at line 90 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_IO_INTERPOLATION_HEADER_CONSTANT   8
#define FIELD_IO_INTERPOLATION_HEADER_GAUSS   7
#define FIELD_IO_INTERPOLATION_HEADER_GRID   6
#define FIELD_IO_INTERPOLATION_HEADER_NODAL   5
#define FIELD_IO_INTERPOLATION_HEADER_SCALE   4

Definition at line 83 of file FieldExport.c.

#define FIELD_MATERIAL_TYPE   4

Definition at line 93 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_U1_VARIABLE_TYPE   9

Definition at line 102 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_U2_VARIABLE_TYPE   13

Definition at line 103 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_U_VARIABLE_TYPE   1

Definition at line 96 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIELD_V_VARIABLE_TYPE   5

Definition at line 100 of file FieldExport.c.

Referenced by FieldExport_GetVariableLabel().

#define FIRST_PART_DERIV   2

Definition at line 113 of file FieldExport.c.

#define NO_PART_DERIV   1

Definition at line 111 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1   2

Definition at line 116 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S1   3

Definition at line 117 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S2   6

Definition at line 120 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S2_S3   11

Definition at line 125 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S2_S3_S4   20

Definition at line 134 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S2_S4   17

Definition at line 131 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S3   9

Definition at line 123 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S3_S4   18

Definition at line 132 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S1_S4   14

Definition at line 128 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S2   4

Definition at line 118 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S2_S2   5

Definition at line 119 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S2_S3   10

Definition at line 124 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S2_S3_S4   19

Definition at line 133 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S2_S4   15

Definition at line 129 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S3   7

Definition at line 121 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S3_S3   8

Definition at line 122 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S3_S4   16

Definition at line 130 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S4   12

Definition at line 126 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define PART_DERIV_S4_S4   13

Definition at line 127 of file FieldExport.c.

Referenced by FieldExport_FieldDerivateLabels().

#define SECOND_PART_DERIV   3

Definition at line 114 of file FieldExport.c.

Typedef Documentation

Function Documentation

int FieldExport_Component ( const int  handle,
const int  componentNumber,
const int  interpType,
const int  numberOfXi,
const int *const  interpolationXi 
)
int FieldExport_CoordinateComponent ( const int  handle,
int  coordinateSystemType,
const int  componentNumber,
const int  interpType,
const int  numberOfXi,
const int *const  interpolationXi 
)
int FieldExport_CoordinateDerivativeIndices ( const int  handle,
const int  componentNumber,
const int  coordinateSystemType,
const int  numberOfDerivatives,
const int *const  derivatives,
const int  valueIndex 
)
int FieldExport_CoordinateVariable ( const int  handle,
const char *  variableName,
const int  variableNumber,
int  coordinateSystemType,
const int  componentCount 
)
int FieldExport_DerivativeIndices ( const int  handle,
const int  componentNumber,
const int  fieldType,
const int  variableType,
const int  numberOfDerivatives,
const int *const  derivatives,
const int  valueIndex 
)
int FieldExport_ElementGridSize ( const int  handle,
const int  interpType,
const int  numberOfXi,
const int *const  numberGauss 
)
int FieldExport_ElementGridValues ( const int  handle,
const int  isFirstSet,
const int  dimensionCount,
const double  value 
)
int FieldExport_ElementIndex ( const int  handle,
const int  dimensionCount,
const int  index 
)
int FieldExport_ElementNodeIndices ( const int  handle,
const int  nodeCount,
const int *const  indices 
)
int FieldExport_ElementNodeScales ( const int  handle,
const int  isFirstSet,
const int  scaleCount,
const double *const  scales 
)
int FieldExport_FieldCount ( const int  handle,
const int  fieldCount 
)
static int FieldExport_File_CloseSession ( SessionListEntry session)
static
static int FieldExport_File_Component ( FileSession *const  session,
const int  componentNumber,
const int  interpType,
const int  numberOfXi,
const int *const  interpolationXi 
)
static
static int FieldExport_File_CoordinateComponent ( FileSession *const  session,
int  coordinateSystemType,
const int  componentNumber,
const int  interpType,
const int  numberOfXi,
const int *const  interpolationXi 
)
static
static int FieldExport_File_CoordinateDerivativeIndices ( FileSession session,
const int  componentNumber,
int  coordinateSystemType,
const int  numberOfDerivatives,
const int *const  derivatives,
const int  valueIndex 
)
static
static int FieldExport_File_CoordinateVariable ( FileSession *const  session,
const char *  variableName,
const int  variableIndex,
int  coordinateSystemType,
const int  componentCount 
)
static
static int FieldExport_File_DerivativeIndices ( FileSession session,
const int  componentNumber,
const int  fieldType,
const int  variableType,
const int  numberOfDerivatives,
const int *const  derivatives,
const int  valueIndex 
)
static
static int FieldExport_File_ElementGridSize ( FileSession *const  session,
const int  interpType,
const int  numberOfXi,
const int *const  numberGauss 
)
static
static int FieldExport_File_ElementGridValues ( FileSession session,
const int  isFirstSet,
const int  valueCount,
const double  value 
)
static

Definition at line 868 of file FieldExport.c.

References FileSession::error, and FieldExport_FPrintf().

Referenced by FieldExport_ElementGridValues().

static int FieldExport_File_ElementIndex ( FileSession session,
const int  dimensionCount,
const int  elementIndex 
)
static

Definition at line 810 of file FieldExport.c.

References FieldExport_FPrintf().

Referenced by FieldExport_ElementIndex().

static int FieldExport_File_ElementNodeIndices ( FileSession session,
const int  nodeCount,
const int *const  indices 
)
static

Definition at line 829 of file FieldExport.c.

References FileSession::error, and FieldExport_FPrintf().

Referenced by FieldExport_ElementNodeIndices().

static int FieldExport_File_ElementNodeScales ( FileSession session,
const int  isFirstSet,
const int  scaleCount,
const double *const  scales 
)
static

Definition at line 846 of file FieldExport.c.

References FileSession::error, and FieldExport_FPrintf().

Referenced by FieldExport_ElementNodeScales().

static int FieldExport_File_FieldCount ( FileSession *const  session,
const int  fieldCount 
)
static

Definition at line 645 of file FieldExport.c.

References FieldExport_FPrintf().

Referenced by FieldExport_FieldCount().

static int FieldExport_File_Group ( FileSession *const  session,
const char *const  label 
)
static

Definition at line 231 of file FieldExport.c.

References FieldExport_FPrintf().

Referenced by FieldExport_Group().

static int FieldExport_File_MeshDimensions ( FileSession *const  session,
const int  dimensions,
const int  basisType 
)
static
static int FieldExport_File_NodeCount ( FileSession *const  session,
const int  nodeCount 
)
static

Definition at line 639 of file FieldExport.c.

References FieldExport_FPrintf().

Referenced by FieldExport_NodeCount().

static int FieldExport_File_NodeScaleIndexes ( FileSession *const  session,
const int  nodeCount,
const int *const  derivativeCount,
const int *const  elementDerivatives,
const int *const  nodeIndexes,
const int *const  scaleIndexes 
)
static

Definition at line 772 of file FieldExport.c.

References FileSession::error, and FieldExport_FPrintf().

Referenced by FieldExport_NodeScaleIndexes().

static int FieldExport_File_NodeValues ( FileSession session,
const int  nodeNumber,
const int  valueCount,
const double *const  values 
)
static
static int FieldExport_File_OpenSession ( const char *const  name,
int *const  handle 
)
static
static int FieldExport_File_ScalingFactorCount ( FileSession *const  session,
const int  scalingFactorCount 
)
static

Definition at line 261 of file FieldExport.c.

References FieldExport_FPrintf().

Referenced by FieldExport_ScalingFactorCount().

static int FieldExport_File_Variable ( FileSession *const  session,
const char *  variableName,
const int  variableIndex,
const int  fieldType,
const int  variableType,
const int  componentCount 
)
static

Definition at line 662 of file FieldExport.c.

References FieldExport_FPrintf(), and FieldExport_GetVariableLabel().

Referenced by FieldExport_Variable().

static char* FieldExport_GetCoordinateComponentLabel ( int  coordinateSystemType,
int  componentNumber 
)
static
static char* FieldExport_GetCoordinateVariableLabel ( int  coordinateSystemType)
static

Definition at line 588 of file FieldExport.c.

References COORDINATE_RECTANGULAR_CARTESIAN_TYPE.

Referenced by FieldExport_File_CoordinateVariable().

int FieldExport_Group ( const int  handle,
const char *const  label 
)
int FieldExport_MeshDimensions ( const int  handle,
const int  dimensions,
const int  basisType 
)
int FieldExport_NodeCount ( const int  handle,
const int  nodeCount 
)
int FieldExport_NodeScaleIndexes ( const int  handle,
const int  nodeCount,
const int *const  derivativeCount,
const int *const  elementDerivatives,
const int *const  nodeIndexes,
const int *const  scaleIndexes 
)
int FieldExport_NodeValues ( const int  handle,
const int  nodeNumber,
const int  valueCount,
const double *const  values 
)
int FieldExport_OpenSession ( const int  type,
const char *const  name,
int *const  handle 
)
int FieldExport_ScaleFactors ( const int  handle,
const int  numberOfXi,
const int *const  interpolationXi,
const int  numberOfScaleFactors 
)
int FieldExport_ScalingFactorCount ( const int  handle,
const int  scalingFactorCount 
)
int FieldExport_Variable ( const int  handle,
const char *  variableName,
const int  variableNumber,
const int  fieldType,
const int  variableType,
const int  componentCount 
)
int FieldExport_VersionInfo ( const int  handle,
const int  numberOfVersions 
)

Variable Documentation

int nextHandle = 0
static

Definition at line 174 of file FieldExport.c.

Referenced by FieldExport_File_OpenSession().

SessionListEntry sessions
static

Definition at line 172 of file FieldExport.c.