#include <gphoto2/gphoto2-port-info-list.h>
#include <gphoto2/gphoto2-port-portability.h>
Include dependency graph for gphoto2-port.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _GPPortSettingsSerial |
Port settings for serial ports. More... | |
struct | _GPPortSettingsUSB |
Port settings for USB ports. More... | |
struct | _GPPortSettingsDisk |
Port settings for the local disk (directories) port. More... | |
union | _GPPortSettings |
Union of port settings. More... | |
struct | _GPPort |
The GPhoto port structure. More... | |
Defines | |
#define | TRUE (0==0) |
#define | FALSE (1==0) |
#define | GP_PORT_MAX_BUF_LEN 4096 |
Maximum length of receive buffer. | |
#define | PIN_CTS GP_PIN_CTS |
Typedefs | |
typedef enum _GPPortSerialParity | GPPortSerialParity |
Serial parity. | |
typedef _GPPortSettingsSerial | GPPortSettingsSerial |
Port settings for serial ports. | |
typedef _GPPortSettingsUSB | GPPortSettingsUSB |
Port settings for USB ports. | |
typedef _GPPortSettingsDisk | GPPortSettingsDisk |
Port settings for the local disk (directories) port. | |
typedef _GPPortSettings | GPPortSettings |
Union of port settings. | |
typedef _GPPortPrivateLibrary | GPPortPrivateLibrary |
typedef _GPPortPrivateCore | GPPortPrivateCore |
typedef _GPPort | GPPort |
The GPhoto port structure. | |
typedef enum _GPPin | GPPin |
Serial pins. | |
typedef enum _GPLevel | GPLevel |
Level to pull specific lines. | |
typedef GPPort | gp_port |
typedef GPPortSettings | gp_port_settings |
Enumerations | |
enum | _GPPortSerialParity { GP_PORT_SERIAL_PARITY_OFF = 0, GP_PORT_SERIAL_PARITY_EVEN, GP_PORT_SERIAL_PARITY_ODD } |
Serial parity. More... | |
enum | { GP_PORT_USB_ENDPOINT_IN, GP_PORT_USB_ENDPOINT_OUT, GP_PORT_USB_ENDPOINT_INT } |
enum | _GPPin { GP_PIN_RTS, GP_PIN_DTR, GP_PIN_CTS, GP_PIN_DSR, GP_PIN_CD, GP_PIN_RING } |
Serial pins. More... | |
enum | _GPLevel { GP_LEVEL_LOW = 0, GP_LEVEL_HIGH = 1 } |
Level to pull specific lines. More... | |
Functions | |
int | gp_port_new (GPPort **port) |
Create new GPPort. | |
int | gp_port_free (GPPort *port) |
Free the port structure. | |
int | gp_port_set_info (GPPort *port, GPPortInfo info) |
Configure a port. | |
int | gp_port_get_info (GPPort *port, GPPortInfo *info) |
Retreives information about the port. | |
int | gp_port_open (GPPort *port) |
Open a port. | |
int | gp_port_close (GPPort *port) |
Close a port. | |
int | gp_port_write (GPPort *port, const char *data, int size) |
Writes a specified amount of data to a port. | |
int | gp_port_read (GPPort *port, char *data, int size) |
Read data from port. | |
int | gp_port_check_int (GPPort *port, char *data, int size) |
Check for intterupt. | |
int | gp_port_check_int_fast (GPPort *port, char *data, int size) |
Check for interrupt without wait. | |
int | gp_port_get_timeout (GPPort *port, int *timeout) |
Get the current port timeout. | |
int | gp_port_set_timeout (GPPort *port, int timeout) |
Set timeout of port. | |
int | gp_port_set_settings (GPPort *port, GPPortSettings settings) |
Set port settings. | |
int | gp_port_get_settings (GPPort *port, GPPortSettings *settings) |
Get the current port settings. | |
int | gp_port_get_pin (GPPort *port, GPPin pin, GPLevel *level) |
Get setting of specific serial PIN. | |
int | gp_port_set_pin (GPPort *port, GPPin pin, GPLevel level) |
Set specified serial PIN to value. | |
int | gp_port_send_break (GPPort *port, int duration) |
Send a break over a serial port. | |
int | gp_port_flush (GPPort *port, int direction) |
Flush data on serial port. | |
int | gp_port_usb_find_device (GPPort *port, int idvendor, int idproduct) |
Find USB device by vendor/product. | |
int | gp_port_usb_find_device_by_class (GPPort *port, int mainclass, int subclass, int protocol) |
Find USB device by interface class. | |
int | gp_port_usb_clear_halt (GPPort *port, int ep) |
Clear USB endpoint HALT condition. | |
int | gp_port_usb_msg_write (GPPort *port, int request, int value, int index, char *bytes, int size) |
Send a USB control message with output data. | |
int | gp_port_usb_msg_read (GPPort *port, int request, int value, int index, char *bytes, int size) |
Send a USB control message with input data. | |
int | gp_port_usb_msg_interface_write (GPPort *port, int request, int value, int index, char *bytes, int size) |
Send a USB interface control message with output data. | |
int | gp_port_usb_msg_interface_read (GPPort *port, int request, int value, int index, char *bytes, int size) |
Send a USB interface control message with input data. | |
int | gp_port_usb_msg_class_write (GPPort *port, int request, int value, int index, char *bytes, int size) |
Send a USB class control message with output data. | |
int | gp_port_usb_msg_class_read (GPPort *port, int request, int value, int index, char *bytes, int size) |
Send a USB class control message with input data. | |
int | gp_port_set_error (GPPort *port, const char *format,...) |
Set verbose port error message. | |
const char * | gp_port_get_error (GPPort *port) |
Get verbose port error message. |
#define PIN_CTS GP_PIN_CTS |
typedef GPPortSettings gp_port_settings |
Level to pull specific lines.
The level on which to pull some of the serial lines.
Serial pins.
A number of serial pins to trigger and pull. This is necessary for some devices that have more than just the regular 3 or 4 wires.
The GPhoto port structure.
This structure tracks the physical connection of the device. It can correspond the various methods of lowlevel access, serial usb and others and abstracts them as much as possible.
Frontends should consider this structure opaque and only use accessor functions.
Camera drivers should only access the type and pl members directly, and use accessor functions for the rest.
typedef enum _GPPortSerialParity GPPortSerialParity |
Serial parity.
Parity of the serial port.
typedef union _GPPortSettings GPPortSettings |
Union of port settings.
This contains a shared union of possible settings for ports needing them.
anonymous enum |
enum _GPLevel |
enum _GPPin |
Serial pins.
A number of serial pins to trigger and pull. This is necessary for some devices that have more than just the regular 3 or 4 wires.
enum _GPPortSerialParity |
int gp_port_check_int | ( | GPPort * | port, | |
char * | data, | |||
int | size | |||
) |
Check for intterupt.
port | a GPPort | |
data | a pointer to an allocated buffer | |
size | the number of bytes that should be read |
int gp_port_check_int_fast | ( | GPPort * | port, | |
char * | data, | |||
int | size | |||
) |
Check for interrupt without wait.
port | a GPPort | |
data | a pointer to an allocated buffer | |
size | the number of bytes that should be read |
int gp_port_close | ( | GPPort * | port | ) |
Close a port.
port | a GPPort |
int gp_port_flush | ( | GPPort * | port, | |
int | direction | |||
) |
Flush data on serial port.
port | a GPPort | |
direction | the direction of the flush |
int gp_port_free | ( | GPPort * | port | ) |
Free the port structure.
port | a GPPort |
const char* gp_port_get_error | ( | GPPort * | port | ) |
Get verbose port error message.
port | a GPPort |
int gp_port_get_info | ( | GPPort * | port, | |
GPPortInfo * | info | |||
) |
Retreives information about the port.
Retrieves the informations set by gp_port_set_info().
port | a GPPort | |
info | GPPortInfo |
Get setting of specific serial PIN.
port | a GPPort | |
pin | the serial pin to be retrieved | |
level | the setting of the pin |
int gp_port_get_settings | ( | GPPort * | port, | |
GPPortSettings * | settings | |||
) |
Get the current port settings.
port | a GPPort | |
settings | pointer to the retrieved settings |
int gp_port_get_timeout | ( | GPPort * | port, | |
int * | timeout | |||
) |
Get the current port timeout.
port | a GPPort | |
timeout | pointer to timeout |
int gp_port_new | ( | GPPort ** | port | ) |
Create new GPPort.
Allocate and initialize the memory for a new GPPort.
After you called this function, you probably want to call gp_port_set_info in order to make the newly created port functional.
port | Pointer the GPPort* pointer |
int gp_port_open | ( | GPPort * | port | ) |
Open a port.
port | a GPPort |
int gp_port_read | ( | GPPort * | port, | |
char * | data, | |||
int | size | |||
) |
Read data from port.
port | a GPPort | |
data | a pointer to an allocated buffer | |
size | the number of bytes that should be read |
int gp_port_send_break | ( | GPPort * | port, | |
int | duration | |||
) |
Send a break over a serial port.
port | a GPPort | |
duration | duration of break in milliseconds |
int gp_port_set_error | ( | GPPort * | port, | |
const char * | format, | |||
... | ||||
) |
Set verbose port error message.
port | a GPPort | |
format | printf style format string | |
... | variable arguments depending on format string |
int gp_port_set_info | ( | GPPort * | port, | |
GPPortInfo | info | |||
) |
Configure a port.
Makes a port functional by passing in the necessary path information (from the serial:/dev/ttyS0 or similar variables). After calling this function, you can access the port using for example gp_port_open().
port | a GPPort | |
info | the GPPortInfo to set |
Set specified serial PIN to value.
port | a GPPort | |
pin | the serial pin to be retrieved | |
level | the setting of the pin |
int gp_port_set_settings | ( | GPPort * | port, | |
GPPortSettings | settings | |||
) |
Set port settings.
port | a GPPort | |
settings | the GPPortSettings to be set |
int gp_port_set_timeout | ( | GPPort * | port, | |
int | timeout | |||
) |
Set timeout of port.
port | a GPPort | |
timeout | the timeout |
int gp_port_usb_clear_halt | ( | GPPort * | port, | |
int | ep | |||
) |
Clear USB endpoint HALT condition.
port | a GPPort | |
ep | endpoint to clear HALT |
int gp_port_usb_find_device | ( | GPPort * | port, | |
int | idvendor, | |||
int | idproduct | |||
) |
Find USB device by vendor/product.
port | a GPPort | |
idvendor | USB vendor id | |
idproduct | USB product id |
int gp_port_usb_find_device_by_class | ( | GPPort * | port, | |
int | mainclass, | |||
int | subclass, | |||
int | protocol | |||
) |
Find USB device by interface class.
port | a GPPort | |
mainclass | the USB interface class | |
subclass | the USB interface subclass | |
protocol | the USB interface protocol |
int gp_port_usb_msg_class_read | ( | GPPort * | port, | |
int | request, | |||
int | value, | |||
int | index, | |||
char * | bytes, | |||
int | size | |||
) |
Send a USB class control message with input data.
port | a GPPort | |
request | control request code | |
value | control value | |
index | control index | |
bytes | pointer to data | |
size | size of the data |
int gp_port_usb_msg_class_write | ( | GPPort * | port, | |
int | request, | |||
int | value, | |||
int | index, | |||
char * | bytes, | |||
int | size | |||
) |
Send a USB class control message with output data.
port | a GPPort | |
request | control request code | |
value | control value | |
index | control index | |
bytes | pointer to data | |
size | size of the data |
int gp_port_usb_msg_interface_read | ( | GPPort * | port, | |
int | request, | |||
int | value, | |||
int | index, | |||
char * | bytes, | |||
int | size | |||
) |
Send a USB interface control message with input data.
port | a GPPort | |
request | control request code | |
value | control value | |
index | control index | |
bytes | pointer to data | |
size | size of the data |
int gp_port_usb_msg_interface_write | ( | GPPort * | port, | |
int | request, | |||
int | value, | |||
int | index, | |||
char * | bytes, | |||
int | size | |||
) |
Send a USB interface control message with output data.
port | a GPPort | |
request | control request code | |
value | control value | |
index | control index | |
bytes | pointer to data | |
size | size of the data |
int gp_port_usb_msg_read | ( | GPPort * | port, | |
int | request, | |||
int | value, | |||
int | index, | |||
char * | bytes, | |||
int | size | |||
) |
Send a USB control message with input data.
port | a GPPort | |
request | control request code | |
value | control value | |
index | control index | |
bytes | pointer to data | |
size | size of the data |
int gp_port_usb_msg_write | ( | GPPort * | port, | |
int | request, | |||
int | value, | |||
int | index, | |||
char * | bytes, | |||
int | size | |||
) |
Send a USB control message with output data.
port | a GPPort | |
request | control request code | |
value | control value | |
index | control index | |
bytes | pointer to data | |
size | size of the data |
int gp_port_write | ( | GPPort * | port, | |
const char * | data, | |||
int | size | |||
) |
Writes a specified amount of data to a port.
port | a GPPort | |
data | the data to write to the port | |
size | the number of bytes to write to the port |