# C API Concepts

This section describes concepts required to implement C language applications for Eduction SDK.

## Include Files

The Eduction SDK C API uses the `edk.h` include file. This include file contains the core APIs for the Eduction SDK engine.

## Naming Conventions

The types, functions, and macros specific to Eduction SDK are prefixed with the string `Edk`.

## Concurrency Control

Concurrency in Eduction is handled using sessions.

You initialize an instance of an `EDKEngine` with corresponding grammars for entity extraction. You can associate each such engine with one or more sessions. All the sessions in the engine share the same grammars. You must configure the engine fully before you create any sessions.

After you create a session, Eduction throws an `EdkError` if you change the engine settings. However, each individual session can process many documents or streams. Each session maintains its state independent of others.

Each engine must be associated with at least one session by default.

_FT_HTML5_bannerTitle.htm