EDCS language bindings — Part 4:  C

6 Function definitions

6.1  Introduction

6.1.1  Table of contents

Table 6.1 — Table of contents

6  Function definitions

6.1  Introduction

6.1.1  Table of contents

6.1.2  Notational

6.2  Conversion API functions

EDCS_ConvertQuantityValue

EDCS_GetHighestCodesUsed

EDCS_GetProfileSupport

EDCS_GetProfileSupportList

EDCS_GetVersions

6.1.2  Notational conventions

The binding of each EDCS function utilizes the following template:

EDCS C Binding Function Name

Abstract Function:  EDCS Abstract Function Name

ReturnValueDataType EDCS_FunctionName (

[const]

Parameter0DataType

parameter_0_name,

/* parameter 0 comment */

[const]

Parameter1DataType

parameter_1_name,

/* parameter 1 comment */

. . .

 [const]

ParameterNDataType

parameter_N_name,

/* parameter N comment */

);

The EDCS C binding function name is formed by a sentinal “EDCS_” followed by the name without spaces and with words capitalized. The EDCS abstract function name is the name used in ISO/IEC 18025.

The return value data type and parameter data types may be found in clause 5 of this standard or may be a standard C data type (e.g., void). If the parameter data type is preceded by the word “const”, the input parameter is a pointer to a structured representation type.

The parameter names are formed by using lower case words separated by underscores.

To the right of each parameter declaration is a C comment field that provides a brief description of the parameter. If the comment begins with “OUT”, the argument is used as an output parameter; the implementation returns data to the application through this argument. Arguments without “OUT” are input-only parameters.

6.2  Conversion API functions

EDCS_ConvertQuantityValue 

Abstract Function:  ConvertQuantityValue

EDCS_Status_Code EDCS_ConvertQuantityValue (

const

EDCS_Real_Value

*from_value,

/* value to convert */

 

EDCS_Real_Value

*to_value

/* OUT converted value */

);

EDCS_GetHighestCodesUsed

Abstract Function:  GetHighestCodesUsed

EDCS_Status_Code EDCS_GetHighestCodesUsed (

 

EDCS_Dictionary_Type

dictionary_name,

/* dictionary */

 

EDCS_Integer

*standard_code,

/* OUT highest std code */

 

EDCS_Integer

*registered_code

/* OUT highest reg code */

);

EDCS_GetProfileSupport

Abstract Function:  GetProfileSupport

EDCS_Status_Code EDCS_GetProfileSupport (

 

EDCS_Profile_Code

profile_code,

/* profile */

 

EDCS_Boolean

*is_supported

/* OUT profile support indication */

);

EDCS_GetProfileSupportList

Abstract Function:  GetProfileSupportList

EDCS_Status_Code EDCS_GetProfileSupportList (

 

EDCS_ProfileCodeList

*profile_codes

/* OUT profile codes supported */

);

EDCS_GetVersions

Abstract Function:  GetVersions

EDCS_Status_Code EDCS_GetVersions (

 

EDCS_String

*specification_version,

/* OUT implemented specification version */

 

EDCS_String

*implementation_version

/* OUT implementation version */

);

http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/index.html