# objid

The keyword bears multiple meanings:

1. Provides unique identification for TTCN-3 modules
2. Denotes the TTCN-3 predefined type for object identifier

### 1. Identification of TTCN-3 modules

A unique object identifier value may be assigned to each TTCN-3 module in order to distinguish e.g. different revisions of the implemented protocol specification.

This object identifier value may then be used in import statement to uniquely address the desired module.

Refer to keywords module and import for further details!

Related keywords:

- import
- module

### modulename . objid { object_identifier_elements }

- The modulename refers to a valid TTCN-3 or ASN.1 module.

### 2. The `objid` predefined type

TTCN-3 offers the built-in object identifer type for storing object identifier values.

Related keywords: none

### objid { object_identifier_elements }

- The `objid` can be used to type constants, module parameters, variables and templates.
- The object identifier value itself starts with the `objid` keyword followed by the elements of the object identifier in curly braces.
- Inside object identifier elements all formats (name, number and name-number form) are accepted.

Example:

`const objid c_etsiIN := objid { itu_t identified_organization etsi(0) inDomain(1) }
var objid v_etsiInIso := objid { iso identified_organization dod(6) internet(1) private(4) enterprise(1) etsi(13019) }
`

The above example defines an constant and a variable for holding an object identifier. Both are initialized with proper, reserved object identifier values. Inside the values one can observe the mixed use of elements.

BNF definition of objid