cl_init() to initialize
    it. CL_INIT_DEFAULT is a macro that can be passed to cl_init()
    representing the default initialization settings. When it's done, you're ready
    to create a new scan engine by calling cl_engine_new(). To free resources
    allocated by the engine use cl_engine_free(). Function prototypes:
    int cl_init(unsigned int options); struct cl_engine *cl_engine_new(void); int cl_engine_free(struct cl_engine *engine);
cl_init() and cl_engine_free() return CL_SUCCESS
    on success or another code on error. cl_engine_new() return
    a pointer or NULL if there's not enough memory to allocate a new
    engine structure.