lcms2_threaded.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //---------------------------------------------------------------------------------
  2. //
  3. // Little Color Management System, multithread extensions
  4. // Copyright (c) 1998-2022 Marti Maria Saguer, all rights reserved
  5. //
  6. //
  7. // This program is free software: you can redistribute it and/or modify
  8. // it under the terms of the GNU General Public License as published by
  9. // the Free Software Foundation, either version 3 of the License, or
  10. // (at your option) any later version.
  11. //
  12. // This program is distributed in the hope that it will be useful,
  13. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. // GNU General Public License for more details.
  16. //
  17. // You should have received a copy of the GNU General Public License
  18. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. //
  20. //---------------------------------------------------------------------------------
  21. #ifndef _LCMS2_THREADED_H
  22. #define _LCMS2_THREADED_H
  23. #include "lcms2_plugin.h"
  24. #ifdef CMS_NO_PTHREADS
  25. #error "This plug-in needs pthreads to operate"
  26. #endif
  27. #ifndef CMS_USE_CPP_API
  28. # ifdef __cplusplus
  29. extern "C" {
  30. # endif
  31. #endif
  32. #define LCMS2_THREADED_VERSION 1000
  33. // Configuration toggles
  34. // The one and only plug-in entry point. To install this plugin in your code you need to place this in
  35. // some initialization place. IOf you want to combine this plug-in with fastfloat, make sure to call
  36. // the threaded entry point comes last in chain.
  37. //
  38. // cmsPlugin(cmsThreadedExtensions(CMS_THREADED_GUESS_MAX_THREADS));
  39. //
  40. #define CMS_THREADED_GUESS_MAX_THREADS -1
  41. CMSAPI void* CMSEXPORT cmsThreadedExtensions(cmsInt32Number max_threads, cmsUInt32Number flags);
  42. #ifndef CMS_USE_CPP_API
  43. # ifdef __cplusplus
  44. }
  45. # endif
  46. #endif
  47. #endif