Listing Directories

Name

Listing Directories -- 

Synopsis


#include <canon.h>


int         canon_int_directory_operations  (Camera *camera,
                                             const char *path,
                                             canonDirFunctionCode action,
                                             GPContext *context);
enum        canonDirFunctionCode;
int         canon_int_list_directory        (Camera *camera,
                                             const char *folder,
                                             CameraList *list,
                                             const canonDirlistFunctionBits flags,
                                             GPContext *context);
enum        canonDirlistFunctionBits;

Description

Details

canon_int_directory_operations ()

int         canon_int_directory_operations  (Camera *camera,
                                             const char *path,
                                             canonDirFunctionCode action,
                                             GPContext *context);

Creates or removes a directory in camera storage.

camera :

Camera to work on

path :

Path to directory on which to operate

action :

canonDirFunctionCode (either DIR_CREATE or DIR_REMOVE)

context :

context for error reporting

Returns :

gphoto2 status code. GP_OK on success, otherwise status from canon_serial_error(), GP_ERROR if USB operation fails, GP_ERROR_CORRUPTED_DATA if the camera response is not the expected length, GP_ERROR_BAD_PARAMETERS if action is invalid.


enum canonDirFunctionCode

typedef enum {
	DIR_CREATE = 0,
	DIR_REMOVE = 1
} canonDirFunctionCode;

Software code to pass to canon_int_directory_operations().

DIR_CREATE

Create the specified directory

DIR_REMOVE

Remove the specified directory


canon_int_list_directory ()

int         canon_int_list_directory        (Camera *camera,
                                             const char *folder,
                                             CameraList *list,
                                             const canonDirlistFunctionBits flags,
                                             GPContext *context);

Gets the directory tree of a given flash device, unsorted and with a few missing features (such as correct sorting of files and correctly associating files with each other).

Implicitly assumes that uint8_t[] is a char[] for strings.

camera :

Camera to access

folder :

Folder on the camera to list

list :

Returns list of folders in this directory

flags :

canonDirlistFunctionBits specifying to list files, folders, or both

context :

context for error reporting

Returns :

a gphoto2 status code. list will contain a list of folders (directories) contained in this folder. Files will be added to the internal gphoto2 file system only if they are image or movie files.


enum canonDirlistFunctionBits

typedef enum {
	CANON_LIST_FILES   = 2,
	CANON_LIST_FOLDERS = 4
} canonDirlistFunctionBits;

Software bits to pass in "flags" argument to canon_int_list_directory(), telling what to list. Bits may be ORed together to list both files and folders.

CANON_LIST_FILES

List files

CANON_LIST_FOLDERS

List folders