php_image.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. +----------------------------------------------------------------------+
  3. | Copyright (c) The PHP Group |
  4. +----------------------------------------------------------------------+
  5. | This source file is subject to version 3.01 of the PHP license, |
  6. | that is bundled with this package in the file LICENSE, and is |
  7. | available through the world-wide-web at the following url: |
  8. | https://www.php.net/license/3_01.txt |
  9. | If you did not receive a copy of the PHP license and are unable to |
  10. | obtain it through the world-wide-web, please send a note to |
  11. | license@php.net so we can mail you a copy immediately. |
  12. +----------------------------------------------------------------------+
  13. | Authors: Rasmus Lerdorf <rasmus@php.net> |
  14. | Marcus Boerger <helly@php.net> |
  15. +----------------------------------------------------------------------+
  16. */
  17. #ifndef PHP_IMAGE_H
  18. #define PHP_IMAGE_H
  19. /* {{{ enum image_filetype
  20. This enum is used to have ext/standard/image.c and ext/exif/exif.c use
  21. the same constants for file types.
  22. */
  23. typedef enum
  24. { IMAGE_FILETYPE_UNKNOWN=0,
  25. IMAGE_FILETYPE_GIF=1,
  26. IMAGE_FILETYPE_JPEG,
  27. IMAGE_FILETYPE_PNG,
  28. IMAGE_FILETYPE_SWF,
  29. IMAGE_FILETYPE_PSD,
  30. IMAGE_FILETYPE_BMP,
  31. IMAGE_FILETYPE_TIFF_II, /* intel */
  32. IMAGE_FILETYPE_TIFF_MM, /* motorola */
  33. IMAGE_FILETYPE_JPC,
  34. IMAGE_FILETYPE_JP2,
  35. IMAGE_FILETYPE_JPX,
  36. IMAGE_FILETYPE_JB2,
  37. IMAGE_FILETYPE_SWC,
  38. IMAGE_FILETYPE_IFF,
  39. IMAGE_FILETYPE_WBMP,
  40. /* IMAGE_FILETYPE_JPEG2000 is a userland alias for IMAGE_FILETYPE_JPC */
  41. IMAGE_FILETYPE_XBM,
  42. IMAGE_FILETYPE_ICO,
  43. IMAGE_FILETYPE_WEBP,
  44. IMAGE_FILETYPE_AVIF,
  45. /* WHEN EXTENDING: PLEASE ALSO REGISTER IN image.c:PHP_MINIT_FUNCTION(imagetypes) */
  46. IMAGE_FILETYPE_COUNT
  47. } image_filetype;
  48. /* }}} */
  49. PHP_MINIT_FUNCTION(imagetypes);
  50. PHPAPI int php_getimagetype(php_stream *stream, const char *input, char *filetype);
  51. PHPAPI char * php_image_type_to_mime_type(int image_type);
  52. PHPAPI bool php_is_image_avif(php_stream *stream);
  53. #endif /* PHP_IMAGE_H */