camlib
Documentation for camlib is still a work-in-progress
Loading...
Searching...
No Matches
cl_ops.h
Go to the documentation of this file.
1
2#ifndef OPERATIONS_H
3#define OPERATIONS_H
4
8int ptp_set_generic_property(struct PtpRuntime *r, const char *name, int value);
9
15
19
23
25int ptp_close_session(struct PtpRuntime *r);
26
28int ptp_get_device_info(struct PtpRuntime *r, struct PtpDeviceInfo *di);
29
32int ptp_get_storage_ids(struct PtpRuntime *r, struct PtpArray **a);
33
35int ptp_init_capture(struct PtpRuntime *r, int storage_id, int object_format);
36
38int ptp_init_open_capture(struct PtpRuntime *r, int storage_id, int object_format);
39
41int ptp_terminate_open_capture(struct PtpRuntime *r, int trans);
42
44int ptp_get_storage_info(struct PtpRuntime *r, int id, struct PtpStorageInfo *si);
45
47int ptp_send_object_info(struct PtpRuntime *r, int storage_id, int handle, struct PtpObjectInfo *oi);
48
50int ptp_get_prop_value(struct PtpRuntime *r, int code);
51
53int ptp_set_prop_value(struct PtpRuntime *r, int code, int value);
54
56int ptp_set_prop_value_data(struct PtpRuntime *r, int code, void *data, int length);
57
59int ptp_get_prop_desc(struct PtpRuntime *r, int code, struct PtpPropDesc *pd);
60
62// @param id storage ID
63// @param format Can specify file format ID, or zero for all IDs
64// @param in Can be folder object ID, or 0 for recursive (entire filesystem)
65// @param[out] a Output array is a pointer to data packet, and will be overwritten by new operations
67int ptp_get_object_handles(struct PtpRuntime *r, int id, int format, int in, struct PtpArray **a);
68
70int ptp_get_object_info(struct PtpRuntime *r, uint32_t handle, struct PtpObjectInfo *oi);
71
73int ptp_move_object(struct PtpRuntime *r, int storage_id, int handle, int folder);
74
76int ptp_delete_object(struct PtpRuntime *r, int handle, int format_code);
77
81int ptp_get_thumbnail(struct PtpRuntime *r, int handle);
82
85int ptp_get_partial_object(struct PtpRuntime *r, uint32_t handle, int offset, int max);
86
89int ptp_get_object(struct PtpRuntime *r, int handle);
90
93int ptp_download_object(struct PtpRuntime *r, int handle, FILE *stream, size_t max);
94
100int ptp_get_all_known(struct PtpRuntime *r, struct PtpGenericEvent **s, int *length);
101
105
108int ptpip_init_command_request(struct PtpRuntime *r, char *device_name);
109
110// EOS Only functions - not for Canon point and shoot
111int ptp_eos_get_viewfinder_data(struct PtpRuntime *r);
112int ptp_eos_set_remote_mode(struct PtpRuntime *r, int mode);
113int ptp_eos_set_prop_value(struct PtpRuntime *r, int code, int value);
114int ptp_eos_set_event_mode(struct PtpRuntime *r, int mode);
115int ptp_eos_remote_release_off(struct PtpRuntime *r, int mode);
116int ptp_eos_remote_release_on(struct PtpRuntime *r, int mode);
117int ptp_eos_get_event(struct PtpRuntime *r);
118int ptp_eos_hdd_capacity_push(struct PtpRuntime *r);
119int ptp_eos_hdd_capacity_pop(struct PtpRuntime *r);
120int ptp_eos_get_prop_value(struct PtpRuntime *r, int code);
121int ptp_eos_bulb_start(struct PtpRuntime *r);
122int ptp_eos_bulb_stop(struct PtpRuntime *r);
123int ptp_eos_set_ui_lock(struct PtpRuntime *r);
124int ptp_eos_reset_ui_lock(struct PtpRuntime *r);
125int ptp_eos_cancel_af(struct PtpRuntime *r);
126// steps can be between -3 and 3
127int ptp_eos_drive_lens(struct PtpRuntime *r, int steps);
128int ptp_eos_ping(struct PtpRuntime *r);
129
130// Get max expected size of liveview, for allocations only
131int ptp_liveview_size(struct PtpRuntime *r);
132// Runs vendor-specific commands for the liveview
133int ptp_liveview_init(struct PtpRuntime *r);
134int ptp_liveview_deinit(struct PtpRuntime *r);
135// Get a frame directly into a buffer. Size is expected to be from ptp_liveview_size()
136int ptp_liveview_frame(struct PtpRuntime *r, void *buffer);
137int ptp_liveview_type(struct PtpRuntime *r);
138
139// Get Magic Lantern transparent menus buffer - see https://github.com/petabyt/ptpview
140int ptp_ml_init_bmp_lv(struct PtpRuntime *r);
141int ptp_ml_get_bmp_lv(struct PtpRuntime *r, uint32_t **buffer_ptr);
142
143int ptp_chdk_get_version(struct PtpRuntime *r);
144int ptp_chdk_upload_file(struct PtpRuntime *r, char *input, char *dest);
145
146// Canon advanced extensions - available in canon-adv.c
147int ptp_eos_activate_command(struct PtpRuntime *r);
148int ptp_eos_exec_evproc(struct PtpRuntime *r, void *data, int length, int expect_return);
149int ptp_eos_evproc_run(struct PtpRuntime *r, char *fmt, ...);
150int ptp_eos_evproc_return_data(struct PtpRuntime *r);
151int ptp_eos_fa_get_build_version(struct PtpRuntime *r, char *buffer, int max);
152
153#endif
int ptp_get_storage_ids(struct PtpRuntime *r, struct PtpArray **a)
Returns allocated array of storage IDs call free() afterwards.
Generic Struct for arrays.
Definition camlib.h:166
Generic event / property change.
Definition camlib.h:150
Holds all camlib instance info.
Definition camlib.h:97
int ptp_get_thumbnail(struct PtpRuntime *r, int handle)
Raw JPEG data is accessible from ptp_get_payload()
int ptp_set_generic_property(struct PtpRuntime *r, const char *name, int value)
Set a generic property - abstraction over SetDeviceProp.
int ptp_get_partial_object(struct PtpRuntime *r, uint32_t handle, int offset, int max)
int ptp_download_object(struct PtpRuntime *r, int handle, FILE *stream, size_t max)
Download an object from handle, to a local file (uses GetPartialObject)
int ptpip_init_command_request(struct PtpRuntime *r, char *device_name)
int ptp_pre_take_picture(struct PtpRuntime *r)
Call before taking a picture - this is generally for 'focusing' On some cameras this does nothing.
int ptpip_init_events(struct PtpRuntime *r)
int ptp_take_picture(struct PtpRuntime *r)
Call after calling ptp_pre_take_picture - this time a picture will be taken.
int ptp_get_object(struct PtpRuntime *r, int handle)
Download an object.
int ptp_open_session(struct PtpRuntime *r)
Open a new session - required for most commands.
int ptp_get_object_handles(struct PtpRuntime *r, int id, int format, int in, struct PtpArray **a)
Gets a list of object handles in a storage device or folder.
int ptp_get_all_known(struct PtpRuntime *r, struct PtpGenericEvent **s, int *length)
Recieve a generic list of all properties received in DeviceInfo This is similar to getting all events...