|  | 
| #define | GP_MIME_TXT   "text/plain" | 
|  | 
| #define | GP_MIME_WAV   "audio/wav" | 
|  | 
| #define | GP_MIME_RAW   "image/x-raw" | 
|  | 
| #define | GP_MIME_PNG   "image/png" | 
|  | 
| #define | GP_MIME_PGM   "image/x-portable-graymap" | 
|  | 
| #define | GP_MIME_PPM   "image/x-portable-pixmap" | 
|  | 
| #define | GP_MIME_PNM   "image/x-portable-anymap" | 
|  | 
| #define | GP_MIME_JPEG   "image/jpeg" | 
|  | 
| #define | GP_MIME_TIFF   "image/tiff" | 
|  | 
| #define | GP_MIME_BMP   "image/bmp" | 
|  | 
| #define | GP_MIME_QUICKTIME   "video/quicktime" | 
|  | 
| #define | GP_MIME_AVI   "video/x-msvideo" | 
|  | 
| #define | GP_MIME_CRW   "image/x-canon-raw" | 
|  | 
| #define | GP_MIME_CR2   "image/x-canon-cr2" | 
|  | 
| #define | GP_MIME_NEF   "image/x-nikon-nef" | 
|  | 
| #define | GP_MIME_UNKNOWN   "application/octet-stream" | 
|  | 
| #define | GP_MIME_EXIF   "application/x-exif" | 
|  | 
| #define | GP_MIME_MP3   "audio/mpeg" | 
|  | 
| #define | GP_MIME_OGG   "application/ogg" | 
|  | 
| #define | GP_MIME_WMA   "audio/x-wma" | 
|  | 
| #define | GP_MIME_ASF   "audio/x-asf" | 
|  | 
| #define | GP_MIME_MPEG   "video/mpeg" | 
|  | 
| #define | GP_MIME_AVCHD   "video/mp2t" | 
|  | 
| #define | GP_MIME_RW2   "image/x-panasonic-raw2" | 
|  | 
| #define | GP_MIME_ARW   "image/x-sony-arw" | 
|  | 
|  | 
| int | gp_file_new (CameraFile **file) | 
|  | 
| int | gp_file_new_from_fd (CameraFile **file, int fd) | 
|  | 
| int | gp_file_new_from_handler (CameraFile **file, CameraFileHandler *handler, void *priv) | 
|  | 
| int | gp_file_ref (CameraFile *file) | 
|  | Increase reference counter for CameraFile object.  More... 
 | 
|  | 
| int | gp_file_unref (CameraFile *file) | 
|  | Decrease reference counter for CameraFile object.  More... 
 | 
|  | 
| int | gp_file_free (CameraFile *file) | 
|  | descruct a CameraFile object.  More... 
 | 
|  | 
| int | gp_file_set_name (CameraFile *file, const char *name) | 
|  | 
| int | gp_file_get_name (CameraFile *file, const char **name) | 
|  | 
| int | gp_file_set_mime_type (CameraFile *file, const char *mime_type) | 
|  | 
| int | gp_file_get_mime_type (CameraFile *file, const char **mime_type) | 
|  | 
| int | gp_file_set_mtime (CameraFile *file, time_t mtime) | 
|  | 
| int | gp_file_get_mtime (CameraFile *file, time_t *mtime) | 
|  | 
| int | gp_file_detect_mime_type (CameraFile *file) | 
|  | 
| int | gp_file_adjust_name_for_mime_type (CameraFile *file) | 
|  | 
| int | gp_file_get_name_by_type (CameraFile *file, const char *basename, CameraFileType type, char **newname) | 
|  | 
| int | gp_file_set_data_and_size (CameraFile *, char *data, unsigned long int size) | 
|  | 
| int | gp_file_get_data_and_size (CameraFile *, const char **data, unsigned long int *size) | 
|  | 
| int | gp_file_open (CameraFile *file, const char *filename) | 
|  | 
| int | gp_file_save (CameraFile *file, const char *filename) | 
|  | 
| int | gp_file_clean (CameraFile *file) | 
|  | 
| int | gp_file_copy (CameraFile *destination, CameraFile *source) | 
|  | 
| int | gp_file_append (CameraFile *, const char *data, unsigned long int size) | 
|  | 
| int | gp_file_slurp (CameraFile *, char *data, size_t size, size_t *readlen) | 
|  | 
Abstracted gphoto2 file operations. 
- Author
- Copyright 2000 Scott Fritzinger 
- 
Copyright 2008-2009 Marcus Meissner
- Note
- This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
- 
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- 
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 
The type of view on the specified file. 
Specifies the file of the current file, usually passed to the gp_camera_file_get() and gp_camera_file_put() functions. This is useful for multiple views of one file, like that an single image file has "raw", "normal", "exif" and "preview" views, or a media file has "normal" and "metadata" file views. 
| Enumerator | 
|---|
| GP_FILE_TYPE_PREVIEW | A preview of an image.  | 
| GP_FILE_TYPE_NORMAL | The regular normal data of a file.  | 
| GP_FILE_TYPE_RAW | The raw mode of a file, for instance the raw bayer data for cameras where postprocessing is done in the driver. The RAW files of modern DSLRs are GP_FILE_TYPE_NORMAL usually.  | 
| GP_FILE_TYPE_AUDIO | The audio view of a file. Perhaps an embedded comment or similar.  | 
| GP_FILE_TYPE_EXIF | The embedded EXIF data of an image.  | 
| GP_FILE_TYPE_METADATA | The metadata of a file, like Metadata of files on MTP devices.  | 
 
 
      
        
          | int gp_file_get_data_and_size | ( | CameraFile * | file, | 
        
          |  |  | const char ** | data, | 
        
          |  |  | unsigned long int * | size | 
        
          |  | ) |  |  | 
      
 
 
- Parameters
- 
  
    | file | a CameraFile |  | basename | the basename of the file |  | type | the gphoto type of the file |  | newname | the new name generated |  
 
- Returns
- a gphoto2 error code.
This function takes the basename and generates a filename out of it depending on the gphoto filetype and the mime type in the file. The gphoto filetype will be converted to a prefix, like thumb_ or raw_, the mimetype will replace the current suffix by a different one (if necessary).
This can be used so that saving thumbnails or metadata will not overwrite the normal files. 
References GP_FILE_TYPE_NORMAL, and GP_OK.