00001 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 #ifndef _GAN_IMAGE_SGI_IO_H
00030 #define _GAN_IMAGE_SGI_IO_H
00031 
00032 #include <stdio.h>
00033 #include <gandalf/common/misc_defs.h>
00034 #include <gandalf/image/image_defs.h>
00035 
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00053 typedef struct Gan_SGIHeaderStruct
00054 {
00056    Gan_Bool dummy;
00057 } Gan_SGIHeaderStruct;
00058 
00059 
00060 struct Gan_ImageReadControlStruct;
00061 struct Gan_ImageHeaderStruct;
00062 struct Gan_ImageWriteControlStruct;
00063 
00064 
00065  Gan_Bool gan_image_is_sgi(const unsigned char *magic_string, size_t length);
00066  Gan_Image *gan_read_sgi_image_stream ( FILE *infile, Gan_Image *image,
00067                                        const struct Gan_ImageReadControlStruct *ictrlstr, struct Gan_ImageHeaderStruct *header );
00068  Gan_Image *gan_read_sgi_image ( const char *filename, Gan_Image *image,
00069                                 const struct Gan_ImageReadControlStruct *ictrlstr, struct Gan_ImageHeaderStruct *header );
00070  void gan_initialise_sgi_header_struct(Gan_SGIHeaderStruct *octrlstr);
00071  Gan_Bool   gan_write_sgi_image_stream ( FILE *outfile, const Gan_Image *image, Gan_Bool new_file, const struct Gan_ImageWriteControlStruct *octrlstr );
00072  Gan_Bool   gan_write_sgi_image ( const char *filename, const Gan_Image *image, const struct Gan_ImageWriteControlStruct *octrlstr );
00073 
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085 
00086 #endif