# Control Structures used in the C API

The eXtremeDB runtime accesses the database through the binary form of the database schema called the Database Dictionary. This defines the data layout through which the C API functions then interact with the data storage. Some of the C API functions require the use of control structures and in some cases callback functions. Please use the following links for descriptions of these control structures and callback prototypes:

Memory Devices | Logical Memory Devices
Database Parameters | Database open and runtime options
Log Parameters | Transaction Log file control
Runtime Info | Characteristics of the runtime currently active
Runtime Options | Options to control certain characteristics of the eXtremeDB runtime
Backup | Incremental Backup information
Disk Manager | Disk Manager and Cache control
Database Statistics | Memory usage statistics
Transaction | Database transaction control
Cursor | Cursor (for index searches)
Event Types | Database Event Types
Sequence_Iterator | The `mco_seq_iterator_t` structure used by the Analytics Functions that operate on database fields of type sequence
UDA | Uniform Data Access
XML Policy | XML Policy structure
Callback Functions | User-defined functions that are called by the eXtremeDB runtime
Transaction Logging | eXtremeDB Transaction Logging parameters
High Availability | eXtremeDB High Availability parameters
Cluster | eXtremeDB Cluster parameters
SSL Parameters | Secure Socket Layer parameters for network security
Socket Parameters | Socket parameters used for eXtremeDB network communications
Feed Handler | Feed Handler structures
Perfmon Database | The performance monitor database classes
Perfmon Options | The structure defining performance monitor database options
Tracing Framework | Tracing Framework Modules and Severity
EWS Web Server | The MCO EWS HTTP request structure
Web Services | The JSON structures used by the Web Services API