# Runtime Control

> The eXtremeDB database runtime is the set of C or C++ language libraries linked (statically or dynamically) into the application. The runtime environment must be initialized before performing any database actions by

> calling the function `mco_runtime_start()`. This startup procedure initializes one or more semaphores that coordinate access to the database between multiple processes, or between multiple threads of a single process. Each process must call`mco_runtime_start()` once, and only once.

> The following functions start or terminate the database runtime, report information about it or set/get runtime options.

> mco_runtime_start
> Start the database runtime
> mco_runtime_start_ex
> Dynamically load the specified libraries and start the database runtime
> mco_runtime_stop
> Terminate the database runtime
> mco_get_runtime_info
> Reports the version and enabled features of the database runtime
> mco_runtime_setoption
> Set a runtime option value
> mco_runtime_getoption
> Get a runtime option value
> mco_get_max_connections
> Retrieve the maximum number of concurrent connections allowed for the database
> mco_get_last_unique_violation_index
> Retrieve the index number of the unique constraint that was most recently violated
> mco_runtime_get_options_arr
> Return a pointer to the internal array of all runtime option values