#include <gphoto2-port-library.h>
| Data Fields | |
| int(* | init )(GPPort *) | 
| int(* | exit )(GPPort *) | 
| int(* | open )(GPPort *) | 
| int(* | close )(GPPort *) | 
| int(* | read )(GPPort *, char *, int) | 
| int(* | check_int )(GPPort *, char *, int, int) | 
| int(* | write )(GPPort *, const char *, int) | 
| int(* | update )(GPPort *) | 
| int(* | get_pin )(GPPort *, GPPin, GPLevel *) | 
| int(* | set_pin )(GPPort *, GPPin, GPLevel) | 
| int(* | send_break )(GPPort *, int) | 
| int(* | flush )(GPPort *, int) | 
| int(* | find_device )(GPPort *dev, int idvendor, int idproduct) | 
| int(* | find_device_by_class )(GPPort *dev, int class, int subclass, int protocol) | 
| int(* | clear_halt )(GPPort *dev, int ep) | 
| int(* | msg_write )(GPPort *dev, int request, int value, int index, char *bytes, int size) | 
| int(* | msg_read )(GPPort *dev, int request, int value, int index, char *bytes, int size) | 
| int(* | msg_interface_write )(GPPort *dev, int request, int value, int index, char *bytes, int size) | 
| int(* | msg_interface_read )(GPPort *dev, int request, int value, int index, char *bytes, int size) | 
| int(* | msg_class_write )(GPPort *dev, int request, int value, int index, char *bytes, int size) | 
| int(* | msg_class_read )(GPPort *dev, int request, int value, int index, char *bytes, int size) | 
These operations are to be implemented and set by the port library, which drives the lowlevel protocol (serial, usb, etc.).
They are acessed using the accessor functions, like gp_port_open(), gp_port_read() and gp_port_write().
 1.5.3
 1.5.3