#ifndef _THREADED_INTERNAL_H
#define _THREADED_INTERNAL_H
#include "lcms2_threaded.h"
#define REQUIRED_LCMS_VERSION 2140
#define UNUSED_PARAMETER(x) ((void)x)
#define CMSCHECKPOINT CMSAPI
#if defined(_MSC_VER) || defined(__BORLANDC__)
# define cmsINLINE __inline
#else
# define cmsINLINE static inline
#endif
typedef struct {
struct _cmstransform_struct* CMMcargo;
const void* InputBuffer;
void* OutputBuffer;
cmsUInt32Number PixelsPerLine;
cmsUInt32Number LineCount;
const cmsStride* Stride;
} _cmsWorkSlice;
cmsUInt32Number _cmsThrCountSlices(struct _cmstransform_struct* CMMcargo, cmsInt32Number MaxWorkers,
cmsUInt32Number PixelsPerLine, cmsUInt32Number LineCount,
cmsStride* Stride);
cmsBool _cmsThrSplitWork(const _cmsWorkSlice* master, cmsInt32Number nslices, _cmsWorkSlice slices[]);
cmsHANDLE _cmsThrCreateWorker(cmsContext ContextID, _cmsTransform2Fn worker, _cmsWorkSlice* param);
void _cmsThrJoinWorker(cmsContext ContextID, cmsHANDLE hWorker);
cmsInt32Number _cmsThrIdealThreadCount(void);
void _cmsThrScheduler(struct _cmstransform_struct* CMMcargo,
const void* InputBuffer,
void* OutputBuffer,
cmsUInt32Number PixelsPerLine,
cmsUInt32Number LineCount,
const cmsStride* Stride);
#endif