# Introduction

The `fpConvertStream()` and ```KV` `HTML` `ConvertFile()` functions enable you to specify a callback function. A callback function controls the conversion while it is in progress. For example, you can specify a callback function to report progress during the conversion.

To use the API callback functions, declare one or more instances of the `KV` `HTML` `Callbacks` `Ex` structure. Each member of this instance can then be initialized by assigning a function pointer to the application-defined callback functions, cast to the appropriate function prototype. Each instance of `KV` `HTML` `Callbacks` `Ex` can define unique callback functions. Alternatively, the functions can be common to all instances of `KV` `HTML` `Callbacks` `Ex`; these functions take appropriate action, depending on the value of the pointer `pCallingContext`.

The second parameter (`pCallingContext)` of the call to `fpConvertStream()` and `KV` `HTML` `ConvertFile()` provides a void pointer used to identify the context of this call. If more than one call to `fpConvertStream()` or `KV` `HTML` `ConvertFile()` is made within a single application, any resulting callbacks are identified by the first parameter of the callback function. This enables the callback function to take any appropriate action, depending on which calling context is returned.

The seventh parameter (`pCallbacks`) of the call to `fpConvertStream()` and `KV` `HTML` `ConvertFile()` must be set to the address of the `KV` `HTML` `Callbacks` `Ex` structure to be used for this call.

For sample code, see the sample program `callback.c`. It creates a frame-based HTML stream and demonstrates the use of the callback functions.

_FT_HTML5_bannerTitle.htm