#include <time.h>
#include <gphoto2/gphoto2-context.h>
#include <gphoto2/gphoto2-list.h>
#include <gphoto2/gphoto2-file.h>
Include dependency graph for gphoto2-filesys.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _CameraFileInfoFile |
File information of a regular file. More... | |
struct | _CameraFileInfoPreview |
File information of a preview file. More... | |
struct | _CameraFileInfoAudio |
File information of an audio file. More... | |
struct | _CameraFileInfo |
File information structure. More... | |
struct | _CameraStorageInformation |
Storage information structue. More... | |
struct | _CameraFilesystemFuncs |
Typedefs | |
typedef _CameraFileInfoFile | CameraFileInfoFile |
File information of a regular file. | |
typedef _CameraFileInfoPreview | CameraFileInfoPreview |
File information of a preview file. | |
typedef _CameraFileInfoAudio | CameraFileInfoAudio |
File information of an audio file. | |
typedef _CameraFileInfo | CameraFileInfo |
File information structure. | |
typedef _CameraStorageInformation | CameraStorageInformation |
Storage information structue. | |
typedef _CameraFilesystem | CameraFilesystem |
Filesystem structure, only exposed to camera drivers. | |
typedef int(*) | CameraFilesystemListFunc (CameraFilesystem *fs, const char *folder, CameraList *list, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemSetInfoFunc (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileInfo info, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemGetInfoFunc (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileInfo *info, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemGetFileFunc (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileType type, CameraFile *file, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemDeleteFileFunc (CameraFilesystem *fs, const char *folder, const char *filename, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemPutFileFunc (CameraFilesystem *fs, const char *folder, CameraFile *file, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemDeleteAllFunc (CameraFilesystem *fs, const char *folder, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemDirFunc (CameraFilesystem *fs, const char *folder, const char *name, void *data, GPContext *context) |
typedef int(*) | CameraFilesystemStorageInfoFunc (CameraFilesystem *fs, CameraStorageInformation **, int *nrofstorageinformations, void *data, GPContext *context) |
typedef _CameraFilesystemFuncs | CameraFilesystemFuncs |
Enumerations | |
enum | CameraFileInfoFields { GP_FILE_INFO_NONE = 0, GP_FILE_INFO_TYPE = 1 << 0, GP_FILE_INFO_NAME = 1 << 1, GP_FILE_INFO_SIZE = 1 << 2, GP_FILE_INFO_WIDTH = 1 << 3, GP_FILE_INFO_HEIGHT = 1 << 4, GP_FILE_INFO_PERMISSIONS = 1 << 5, GP_FILE_INFO_STATUS = 1 << 6, GP_FILE_INFO_MTIME = 1 << 7, GP_FILE_INFO_ALL = 0xFF } |
Bitmask on what fields are set in the CameraFileInfo structure. More... | |
enum | CameraFilePermissions { GP_FILE_PERM_NONE = 0, GP_FILE_PERM_READ = 1 << 0, GP_FILE_PERM_DELETE = 1 << 1, GP_FILE_PERM_ALL = 0xFF } |
Bitmask containing the file permission flags. More... | |
enum | CameraFileStatus { GP_FILE_STATUS_NOT_DOWNLOADED, GP_FILE_STATUS_DOWNLOADED } |
Possible status values. More... | |
enum | CameraStorageInfoFields { GP_STORAGEINFO_BASE = (1<<0), GP_STORAGEINFO_LABEL = (1<<1), GP_STORAGEINFO_DESCRIPTION = (1<<2), GP_STORAGEINFO_ACCESS = (1<<3), GP_STORAGEINFO_STORAGETYPE = (1<<4), GP_STORAGEINFO_FILESYSTEMTYPE = (1<<5), GP_STORAGEINFO_MAXCAPACITY = (1<<6), GP_STORAGEINFO_FREESPACEKBYTES = (1<<7), GP_STORAGEINFO_FREESPACEIMAGES = (1<<8) } |
Storage information flags. More... | |
enum | CameraStorageType { GP_STORAGEINFO_ST_UNKNOWN = 0, GP_STORAGEINFO_ST_FIXED_ROM = 1, GP_STORAGEINFO_ST_REMOVABLE_ROM = 2, GP_STORAGEINFO_ST_FIXED_RAM = 3, GP_STORAGEINFO_ST_REMOVABLE_RAM = 4 } |
Hardware storage types. More... | |
enum | CameraStorageAccessType { GP_STORAGEINFO_AC_READWRITE = 0, GP_STORAGEINFO_AC_READONLY = 1, GP_STORAGEINFO_AC_READONLY_WITH_DELETE = 2 } |
Storage access modes. More... | |
enum | CameraStorageFilesystemType { GP_STORAGEINFO_FST_UNDEFINED = 0, GP_STORAGEINFO_FST_GENERICFLAT = 1, GP_STORAGEINFO_FST_GENERICHIERARCHICAL = 2, GP_STORAGEINFO_FST_DCF = 3 } |
Filesystem hierarchy types. More... | |
Functions | |
int | gp_filesystem_new (CameraFilesystem **fs) |
Create a new filesystem struct. | |
int | gp_filesystem_free (CameraFilesystem *fs) |
Free filesystem struct. | |
int | gp_filesystem_append (CameraFilesystem *fs, const char *folder, const char *filename, GPContext *context) |
Append a file to a folder in a filesystem. | |
int | gp_filesystem_set_info_noop (CameraFilesystem *fs, const char *folder, CameraFileInfo info, GPContext *context) |
Store the file information in the virtual fs. | |
int | gp_filesystem_set_file_noop (CameraFilesystem *fs, const char *folder, CameraFile *file, GPContext *context) |
Attach file content to a specified file. | |
int | gp_filesystem_delete_file_noop (CameraFilesystem *fs, const char *folder, const char *filename, GPContext *context) |
Delete a virtal file from a folder in the filesystem. | |
int | gp_filesystem_reset (CameraFilesystem *fs) |
Clear the filesystem. | |
int | gp_filesystem_count (CameraFilesystem *fs, const char *folder, GPContext *context) |
Count files a folder of a filesystem. | |
int | gp_filesystem_name (CameraFilesystem *fs, const char *folder, int filenumber, const char **filename, GPContext *context) |
Lookup the filename of an indexed file within a folder. | |
int | gp_filesystem_get_folder (CameraFilesystem *fs, const char *filename, const char **folder, GPContext *context) |
Search a folder that contains a given filename. | |
int | gp_filesystem_number (CameraFilesystem *fs, const char *folder, const char *filename, GPContext *context) |
Get the index of a file in specified folder. | |
int | gp_filesystem_set_list_funcs (CameraFilesystem *fs, CameraFilesystemListFunc file_list_func, CameraFilesystemListFunc folder_list_func, void *data) |
Set the functions to list folders and files. | |
int | gp_filesystem_list_files (CameraFilesystem *fs, const char *folder, CameraList *list, GPContext *context) |
Get the list of files in a folder. | |
int | gp_filesystem_list_folders (CameraFilesystem *fs, const char *folder, CameraList *list, GPContext *context) |
List all subfolders within a filesystem folder. | |
int | gp_filesystem_set_info_funcs (CameraFilesystem *fs, CameraFilesystemGetInfoFunc get_info_func, CameraFilesystemSetInfoFunc set_info_func, void *data) |
Set file information functions. | |
int | gp_filesystem_get_info (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileInfo *info, GPContext *context) |
Get information about the specified file. | |
int | gp_filesystem_set_info (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileInfo info, GPContext *context) |
Set information about a file. | |
int | gp_filesystem_set_file_funcs (CameraFilesystem *fs, CameraFilesystemGetFileFunc get_file_func, CameraFilesystemDeleteFileFunc del_file_func, void *data) |
Set camera filesystem file related functions. | |
int | gp_filesystem_get_file (CameraFilesystem *fs, const char *folder, const char *filename, CameraFileType type, CameraFile *file, GPContext *context) |
Get file data from the filesystem. | |
int | gp_filesystem_delete_file (CameraFilesystem *fs, const char *folder, const char *filename, GPContext *context) |
Delete a file from a folder. | |
int | gp_filesystem_set_folder_funcs (CameraFilesystem *fs, CameraFilesystemPutFileFunc put_file_func, CameraFilesystemDeleteAllFunc delete_all_func, CameraFilesystemDirFunc make_dir_func, CameraFilesystemDirFunc remove_dir_func, void *data) |
Set folder related functions of the filesystem. | |
int | gp_filesystem_get_storageinfo (CameraFilesystem *fs, CameraStorageInformation **, int *nrofstorageinformations, GPContext *context) |
Get the storage information about this filesystem. | |
int | gp_filesystem_set_funcs (CameraFilesystem *fs, CameraFilesystemFuncs *funcs, void *data) |
Set all filesystem related function pointers. | |
int | gp_filesystem_put_file (CameraFilesystem *fs, const char *folder, CameraFile *file, GPContext *context) |
Upload a file to a folder on the device filesystem. | |
int | gp_filesystem_delete_all (CameraFilesystem *fs, const char *folder, GPContext *context) |
Delete all files in specified folder. | |
int | gp_filesystem_make_dir (CameraFilesystem *fs, const char *folder, const char *name, GPContext *context) |
Create a subfolder within a folder. | |
int | gp_filesystem_remove_dir (CameraFilesystem *fs, const char *folder, const char *name, GPContext *context) |
Remove a subfolder from within a folder. | |
int | gp_filesystem_dump (CameraFilesystem *fs) |
Dump the current filesystem. |
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.
typedef struct _CameraFileInfo CameraFileInfo |
File information structure.
Contains the normal, preview and audio file information structures for a specific file.
typedef struct _CameraFileInfoAudio CameraFileInfoAudio |
File information of an audio file.
Contains information of an audio file with fields being set depending on the bitmask in the fields member.
typedef struct _CameraFileInfoFile CameraFileInfoFile |
File information of a regular file.
Contains information a regular file with fields being set depending on the bitmask in the fields member.
typedef struct _CameraFileInfoPreview CameraFileInfoPreview |
File information of a preview file.
Contains information of a preview file with fields being set depending on the bitmask in the fields member.
typedef struct _CameraFilesystem CameraFilesystem |
Filesystem structure, only exposed to camera drivers.
Internal structure, contents not exposed to frontends. Camera drivers get these passed to filesystem related functions and are supposed to use it only via the accessor functions.
typedef struct _CameraStorageInformation CameraStorageInformation |
Storage information structue.
This structure contains the information of a specific camera storage. Only the members as specified by the fields member are valid.
enum CameraFileInfoFields |
Bitmask on what fields are set in the CameraFileInfo structure.
Bitmask to mark up which fields are set in the CameraFileInfo structure. The other fields might be uninitialized. If you set information via gp_camera_file_set_info() you need to set those flags. If you retrieve information via gp_camera_file_get_info() you need to check those flags. They are seperate for both "normal" and "preview" parts and are mostly image related.
enum CameraFileStatus |
Storage access modes.
The modes we can access the storage with. Uses the same types and values as the PTP standard (PTP_AC_xxx).
Filesystem hierarchy types.
The type of the filesystem hierarchy the devices uses. Same types and values as the PTP standard defines (PTP_FST_xxx).
Storage information flags.
Bitmask to specify which entries of the filesystem storage information is set.
enum CameraStorageType |
Hardware storage types.
Type of hardware this storage is on. The types and values are the same as the PTP standard uses (PTP_ST_xxx).
int gp_filesystem_append | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
GPContext * | context | |||
) |
Append a file to a folder in a filesystem.
fs | a CameraFilesystem | |
folder | the folder where to put the file in | |
filename | filename of the file | |
context | a GPContext |
int gp_filesystem_count | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
GPContext * | context | |||
) |
Count files a folder of a filesystem.
fs | a CameraFilesystem | |
folder | a folder in which to count the files | |
context | a GPContext |
int gp_filesystem_delete_all | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
GPContext * | context | |||
) |
Delete all files in specified folder.
fs | a CameraFilesystem | |
folder | the folder in which to delete all files | |
context | a GPContext |
int gp_filesystem_delete_file | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
GPContext * | context | |||
) |
Delete a file from a folder.
fs | a CameraFilesystem | |
folder | a folder in which to delete the file | |
filename | the name of the file to delete | |
context | a GPContext |
int gp_filesystem_delete_file_noop | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
GPContext * | context | |||
) |
Delete a virtal file from a folder in the filesystem.
fs | a CameraFilesystem | |
folder | a folder in which to delete the file | |
filename | the name of the file to delete | |
context | a GPContext |
int gp_filesystem_dump | ( | CameraFilesystem * | fs | ) |
Dump the current filesystem.
fs | the CameraFilesystem |
int gp_filesystem_free | ( | CameraFilesystem * | fs | ) |
Free filesystem struct.
fs | a CameraFilesystem |
int gp_filesystem_get_file | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
CameraFileType | type, | |||
CameraFile * | file, | |||
GPContext * | context | |||
) |
Get file data from the filesystem.
fs | a CameraFilesystem | |
folder | the folder in which the file can be found | |
filename | the name of the file to download | |
type | the type of the file | |
file | the file that receives the data | |
context | a GPContext |
int gp_filesystem_get_folder | ( | CameraFilesystem * | fs, | |
const char * | filename, | |||
const char ** | folder, | |||
GPContext * | context | |||
) |
Search a folder that contains a given filename.
fs | a CameraFilesystem | |
filename | the name of the file to search in the fs | |
folder | pointer to value where the string is stored in | |
context | a GPContext |
Note that you get a reference to the string stored in the filesystem structure, so do not free it yourself.
int gp_filesystem_get_info | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
CameraFileInfo * | info, | |||
GPContext * | context | |||
) |
Get information about the specified file.
fs | a CameraFilesystem | |
folder | the folder that contains the file | |
filename | the filename | |
info | pointer to CameraFileInfo that receives the information | |
context | a GPContext |
int gp_filesystem_get_storageinfo | ( | CameraFilesystem * | fs, | |
CameraStorageInformation ** | storageinfo, | |||
int * | nrofstorageinfos, | |||
GPContext * | context | |||
) |
Get the storage information about this filesystem.
fs | the filesystem | |
storageinfo | pointer to receive the array of informations | |
nrofstorageinfos | pointer to receive number of array entries | |
context | a GPContext |
int gp_filesystem_list_files | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
CameraList * | list, | |||
GPContext * | context | |||
) |
Get the list of files in a folder.
fs | a CameraFilesystem | |
folder | a folder of which a file list should be generated | |
list | a CameraList where to put the list of files into | |
context | a GPContext |
int gp_filesystem_list_folders | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
CameraList * | list, | |||
GPContext * | context | |||
) |
List all subfolders within a filesystem folder.
fs | a CameraFilesystem | |
folder | a folder | |
list | a CameraList where subfolders should be listed | |
context | a GPContext |
int gp_filesystem_make_dir | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | name, | |||
GPContext * | context | |||
) |
Create a subfolder within a folder.
fs | a CameraFilesystem | |
folder | the folder in which the directory should be created | |
name | the name of the directory to be created | |
context | a GPContext |
int gp_filesystem_name | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
int | filenumber, | |||
const char ** | filename, | |||
GPContext * | context | |||
) |
Lookup the filename of an indexed file within a folder.
fs | a CameraFilesystem | |
folder | the folder where to look up the file with the filenumber | |
filenumber | the number of the file | |
filename | pointer to a filename where the result is stored | |
context | a GPContext |
int gp_filesystem_new | ( | CameraFilesystem ** | fs | ) |
Create a new filesystem struct.
fs | a pointer to a CameraFilesystem |
int gp_filesystem_number | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
GPContext * | context | |||
) |
Get the index of a file in specified folder.
fs | a CameraFilesystem | |
folder | the folder where to look for file called filename | |
filename | the file to look for | |
context | a GPContext |
int gp_filesystem_put_file | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
CameraFile * | file, | |||
GPContext * | context | |||
) |
Upload a file to a folder on the device filesystem.
fs | a CameraFilesystem | |
folder | the folder where to put the file into | |
file | the file | |
context | a GPContext |
int gp_filesystem_remove_dir | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | name, | |||
GPContext * | context | |||
) |
Remove a subfolder from within a folder.
fs | a CameraFilesystem | |
folder | the folder in which the directory should be created | |
name | the name of the directory to be created | |
context | a GPContext |
int gp_filesystem_reset | ( | CameraFilesystem * | fs | ) |
Clear the filesystem.
fs | the filesystem to be cleared |
int gp_filesystem_set_file_funcs | ( | CameraFilesystem * | fs, | |
CameraFilesystemGetFileFunc | get_file_func, | |||
CameraFilesystemDeleteFileFunc | del_file_func, | |||
void * | data | |||
) |
Set camera filesystem file related functions.
fs | a CameraFilesystem | |
get_file_func | the function downloading files | |
del_file_func | the function deleting files | |
data | private data structure |
int gp_filesystem_set_file_noop | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
CameraFile * | file, | |||
GPContext * | context | |||
) |
Attach file content to a specified file.
fs | a CameraFilesystem | |
folder | a folder in the filesystem | |
file | a CameraFile | |
context,: | a GPContext |
int gp_filesystem_set_folder_funcs | ( | CameraFilesystem * | fs, | |
CameraFilesystemPutFileFunc | put_file_func, | |||
CameraFilesystemDeleteAllFunc | delete_all_func, | |||
CameraFilesystemDirFunc | make_dir_func, | |||
CameraFilesystemDirFunc | remove_dir_func, | |||
void * | data | |||
) |
Set folder related functions of the filesystem.
fs | a CameraFilesystem | |
put_file_func | function used to upload files | |
delete_all_func | function used to delete all files in a folder | |
make_dir_func | function used to create a new directory | |
remove_dir_func | function used to remove an existing directory | |
data | a data object that will passed to all called functions |
The fs will try to compensate missing delete_all_func functionality with the delete_file_func if such a function has been supplied.
int gp_filesystem_set_funcs | ( | CameraFilesystem * | fs, | |
CameraFilesystemFuncs * | funcs, | |||
void * | data | |||
) |
Set all filesystem related function pointers.
fs | a CameraFilesystem | |
funcs | pointer to a struct of filesystem functions | |
data | private data |
int gp_filesystem_set_info | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
const char * | filename, | |||
CameraFileInfo | info, | |||
GPContext * | context | |||
) |
Set information about a file.
fs | a CameraFilesystem | |
folder | foldername where the file resides | |
filename | the files name | |
info | the CameraFileInfo to set | |
context | a GPContext |
int gp_filesystem_set_info_funcs | ( | CameraFilesystem * | fs, | |
CameraFilesystemGetInfoFunc | get_info_func, | |||
CameraFilesystemSetInfoFunc | set_info_func, | |||
void * | data | |||
) |
Set file information functions.
fs | a CameraFilesystem | |
get_info_func | the function to retrieve file information | |
set_info_func | the function to set file information | |
data | private data |
int gp_filesystem_set_info_noop | ( | CameraFilesystem * | fs, | |
const char * | folder, | |||
CameraFileInfo | info, | |||
GPContext * | context | |||
) |
Store the file information in the virtual fs.
fs | a CameraFilesystem | |
folder | the foldername | |
info | the CameraFileInfo to store | |
context | a GPContext |
int gp_filesystem_set_list_funcs | ( | CameraFilesystem * | fs, | |
CameraFilesystemListFunc | file_list_func, | |||
CameraFilesystemListFunc | folder_list_func, | |||
void * | data | |||
) |
Set the functions to list folders and files.
fs | a CameraFilesystem | |
file_list_func | the function that will return listings of files | |
folder_list_func | the function that will return listings of folders | |
data | private data structure |