libgphoto2 photo camera library (libgphoto2) API 2.4.14

- Main Page
- Related Pages
- Data Structures
- Files
- Directories

- File List
- Globals

Data Structures | Defines | Functions

# gphoto2-file.c File Reference

`#include "config.h"`
`#include <gphoto2/gphoto2-file.h>`
`#include <stdlib.h>`
`#include <stdio.h>`
`#include <errno.h>`
`#include <unistd.h>`
`#include <string.h>`
`#include <sys/stat.h>`
`#include <utime.h>`
`#include <gphoto2/gphoto2-port-log.h>`
`#include <gphoto2/gphoto2-port-portability.h>`
`#include <gphoto2/gphoto2-result.h>`

## Data Structures
struct | _CameraFile
## Defines
#define | _POSIX_SOURCE
#define | _BSD_SOURCE
#define | CHECK_NULL(r) {if (!(r)) return (GP_ERROR_BAD_PARAMETERS);}
#define | CHECK_RESULT(result) {int r = (result); if (r < 0) return (r);}
#define | CHECK_MEM(m) {if (!(m)) return (GP_ERROR_NO_MEMORY);}
#define | MAX_PATH 256
## Functions
int | gp_file_new (CameraFile **file)
int | gp_file_new_from_fd (CameraFile **file, int fd)
int | gp_file_free (CameraFile *file)
| descruct a CameraFile object.
int | gp_file_ref (CameraFile *file)
| Increase reference counter for CameraFile object.
int | gp_file_unref (CameraFile *file)
| Decrease reference counter for CameraFile object.
int | gp_file_append (CameraFile *file, const char *data, unsigned long int size)
int | gp_file_slurp (CameraFile *file, char *data, size_t size, size_t *readlen)
int | gp_file_set_data_and_size (CameraFile *file, char *data, unsigned long int size)
int | gp_file_get_data_and_size (CameraFile *file, const char **data, unsigned long int *size)
int | gp_file_save (CameraFile *file, const char *filename)
int | gp_file_open (CameraFile *file, const char *filename)
int | gp_file_clean (CameraFile *file)
int | gp_file_copy (CameraFile *destination, CameraFile *source)
int | gp_file_get_name (CameraFile *file, const char **name)
int | gp_file_get_mime_type (CameraFile *file, const char **mime_type)
int | gp_file_set_name (CameraFile *file, const char *name)
int | gp_file_set_mime_type (CameraFile *file, const char *mime_type)
int | gp_file_detect_mime_type (CameraFile *file)
int | gp_file_adjust_name_for_mime_type (CameraFile *file)
int | gp_file_set_type (CameraFile *file, CameraFileType type)
int | gp_file_get_type (CameraFile *file, CameraFileType *type)
int | gp_file_get_mtime (CameraFile *file, time_t *mtime)
int | gp_file_set_mtime (CameraFile *file, time_t mtime)

## Detailed Description

Author:
  Copyright 2000 Scott Fritzinger

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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  This file contains internal functions. Use of these functions from external software modules is considered deprecated.

## Function Documentation

int gp_file_adjust_name_for_mime_type | ( | CameraFile * | file | ) |

Parameters:

  file | a CameraFile

Returns:
  a gphoto2 error code.

References gp_log(), GP_LOG_DEBUG, and GP_OK.

Referenced by gp_filesystem_get_file().

int gp_file_append | ( | CameraFile * | file,
|  | const char * | data,
|  | unsigned long int | size
| ) |  |

Parameters:

  file | a CameraFile
  data |
  size |

Returns:
  a gphoto2 error code.

References GP_ERROR, GP_ERROR_IO_WRITE, GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_log(), GP_LOG_ERROR, and GP_OK.

int gp_file_clean | ( | CameraFile * | file | ) |

Parameters:

  file | a CameraFile

Returns:
  a gphoto2 error code.

References GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, and GP_OK.

Referenced by gp_camera_capture_preview(), gp_camera_file_get(), gp_file_free(), and gp_file_open().

int gp_file_copy | ( | CameraFile * | destination,
|  | CameraFile * | source
| ) |  |

Parameters:

  destination | a CameraFile
  source | a CameraFile

Returns:
  a gphoto2 error code.

References GP_ERROR, GP_ERROR_IO, GP_ERROR_IO_READ, GP_ERROR_IO_WRITE, GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_log(), GP_LOG_DEBUG, GP_LOG_ERROR, and GP_OK.

int gp_file_detect_mime_type | ( | CameraFile * | file | ) |

Parameters:

  file | a CameraFile

Returns:
  a gphoto2 error code.

References GP_ERROR_IO_READ, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_file_set_mime_type(), and GP_OK.

int gp_file_free | ( | CameraFile * | file | ) |

descruct a CameraFile object.

Parameters:

  file | a CameraFile

Returns:
  a gphoto2 error code.

References GP_FILE_ACCESSTYPE_FD, gp_file_clean(), and GP_OK.

Referenced by gp_file_unref().

int gp_file_get_data_and_size | ( | CameraFile * | file,
|  | const char ** | data,
|  | unsigned long int * | size
| ) |  |

Get a pointer to the data and the file's size.

Parameters:

  file | a CameraFile
  data |
  size |

Returns:
  a gphoto2 error code.

Both data and size can be NULL and will then be ignored.

References GP_ERROR, GP_ERROR_IO, GP_ERROR_IO_READ, GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_log(), GP_LOG_ERROR, and GP_OK.

Referenced by gp_camera_file_get_info(), gp_filesystem_get_file(), and gp_filesystem_set_file_noop().

int gp_file_get_mime_type | ( | CameraFile * | file,
|  | const char ** | mime_type
| ) |  |

Parameters:

  file | a CameraFile
  mime_type | a pointer to a MIME type string

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_camera_file_get_info().

int gp_file_get_mtime | ( | CameraFile * | file,
|  | time_t * | mtime
| ) |  |

Parameters:

  file | a CameraFile
  mtime |

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_set_file_noop().

int gp_file_get_name | ( | CameraFile * | file,
|  | const char ** | name
| ) |  |

Parameters:

  file | a CameraFile
  name | a pointer to a name string

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_set_file_noop().

int gp_file_get_type | ( | CameraFile * | file,
|  | CameraFileType * | type
| ) |  |

Parameters:

  file | a CameraFile
  type | a CameraFileType

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_set_file_noop().

int gp_file_new | ( | CameraFile ** | file | ) |

Create new CameraFile object.

Parameters:

  file | a pointer to a CameraFile

Returns:
  a gphoto2 error code.

References GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_MEMORY, GP_FILE_TYPE_NORMAL, and GP_OK.

Referenced by gp_camera_file_get_info(), and gp_filesystem_get_file().

int gp_file_new_from_fd | ( | CameraFile ** | file,
|  | int | fd
| ) |  |

Create new CameraFile object from a UNIX filedescriptor.

Parameters:

  file | a pointer to a CameraFile
  fd | a UNIX filedescriptor

Returns:
  a gphoto2 error code.

References GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_FD, GP_FILE_TYPE_NORMAL, and GP_OK.

int gp_file_open | ( | CameraFile * | file,
|  | const char * | filename
| ) |  |

Parameters:

  file | a CameraFile
  filename |

Returns:
  a gphoto2 error code.

References GP_ERROR, GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_file_clean(), gp_log(), GP_LOG_ERROR, and GP_OK.

int gp_file_ref | ( | CameraFile * | file | ) |

Increase reference counter for CameraFile object.

Parameters:

  file | a CameraFile

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_set_file_noop().

int gp_file_save | ( | CameraFile * | file,
|  | const char * | filename
| ) |  |

Parameters:

  file | a CameraFile
  filename |

Returns:
  a gphoto2 error code.

References GP_ERROR, GP_ERROR_IO, GP_ERROR_IO_READ, GP_ERROR_NO_MEMORY, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_log(), GP_LOG_ERROR, and GP_OK.

int gp_file_set_data_and_size | ( | CameraFile * | file,
|  | char * | data,
|  | unsigned long int | size
| ) |  |

Parameters:

  file | a CameraFile
  data |
  size |

Returns:
  a gphoto2 error code.

References GP_ERROR, GP_ERROR_IO_WRITE, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_log(), GP_LOG_ERROR, and GP_OK.

Referenced by gp_filesystem_get_file().

int gp_file_set_mime_type | ( | CameraFile * | file,
|  | const char * | mime_type
| ) |  |

Parameters:

  file | a CameraFile
  mime_type | a MIME type string

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_file_detect_mime_type(), and gp_filesystem_get_file().

int gp_file_set_mtime | ( | CameraFile * | file,
|  | time_t | mtime
| ) |  |

Parameters:

  file | a CameraFile
  mtime |

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_set_file_noop().

int gp_file_set_name | ( | CameraFile * | file,
|  | const char * | name
| ) |  |

Parameters:

  file | a CameraFile
  name | a pointer to a MIME type string

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_get_file().

int gp_file_set_type | ( | CameraFile * | file,
|  | CameraFileType | type
| ) |  |

Parameters:

  file | a CameraFile
  type | a CameraFileType

Returns:
  a gphoto2 error code.

References GP_OK.

Referenced by gp_filesystem_get_file().

int gp_file_slurp | ( | CameraFile * | file,
|  | char * | data,
|  | size_t | size,
|  | size_t * | readlen
| ) |  |

Parameters:

  file | a CameraFile
  data |
  size |

Returns:
  a gphoto2 error code.

Internal.

References GP_ERROR, GP_ERROR_IO_READ, GP_FILE_ACCESSTYPE_FD, GP_FILE_ACCESSTYPE_MEMORY, gp_log(), GP_LOG_ERROR, and GP_OK.

int gp_file_unref | ( | CameraFile * | file | ) |

Decrease reference counter for CameraFile object.

Parameters:

  file | a CameraFile

Returns:
  a gphoto2 error code.

References gp_file_free(), and GP_OK.

Referenced by gp_camera_file_get_info(), gp_filesystem_get_file(), and gp_filesystem_set_file_noop().