24 #ifndef __GPHOTO2_PORT_LIBRARY_H__ 
   25 #define __GPHOTO2_PORT_LIBRARY_H__ 
   44         int (*read)     (
GPPort *,       
char *, int);
 
   45         int (*check_int)(
GPPort *,      
char *, int, int);
 
   46         int (*write)    (
GPPort *, 
const char *, int);
 
   55         int (*send_break)(
GPPort *, int);
 
   56         int (*flush)     (
GPPort *, int);
 
   59         int (*find_device)(
GPPort * dev, 
int idvendor, 
int idproduct);
 
   60         int (*find_device_by_class)(
GPPort * dev, 
int class, 
int subclass, 
int protocol);
 
   61         int (*clear_halt) (
GPPort * dev, 
int ep);
 
   62         int (*msg_write)  (
GPPort * dev, 
int request, 
int value, 
int index,
 
   63                                 char *bytes, 
int size);
 
   64         int (*msg_read)   (
GPPort * dev, 
int request, 
int value, 
int index,
 
   65                                 char *bytes, 
int size);
 
   66         int (*msg_interface_write)  (
GPPort * dev, 
int request, 
 
   67                                 int value, 
int index, 
char *bytes, 
int size);
 
   68         int (*msg_interface_read)  (
GPPort * dev, 
int request, 
 
   69                                 int value, 
int index, 
char *bytes, 
int size);
 
   70         int (*msg_class_write) (
GPPort * dev, 
int request, 
 
   71                                 int value, 
int index, 
char *bytes, 
int size);
 
   72         int (*msg_class_read) (
GPPort * dev, 
int request, 
 
   73                                 int value, 
int index, 
char *bytes, 
int size);
 
   76         int (*seek) (
GPPort * dev, 
int offset, 
int whence);
 
   79         int (*send_scsi_cmd) (
GPPort *port, 
int to_dev,
 
   80                                 char *cmd, 
int cmd_size,
 
   81                                 char *sense, 
int sense_size,
 
   82                                 char *data, 
int data_size);
 
   88 typedef GPPortType (* GPPortLibraryType) (void);