![]() | ![]() | ![]() | GPhoto2-Port API Reference Manual | ![]() |
---|
GPhoto2-Port —
struct GPPortPrivateLibrary; struct GPPortPrivateCore; struct GPPortSettingsSerial; struct GPPortSettingsUSB; union GPPortSettings; struct GPPort; int gp_port_new (GPPort **port); int gp_port_free (GPPort *port); int gp_port_set_info (GPPort *port, GPPortInfo info); int gp_port_get_info (GPPort *port, GPPortInfo *info); int gp_port_open (GPPort *port); int gp_port_close (GPPort *port); int gp_port_read (GPPort *port, char *data, int size); int gp_port_write (GPPort *port, const char *data, int size); int gp_port_get_settings (GPPort *port, GPPortSettings *settings); int gp_port_set_settings (GPPort *port, GPPortSettings settings); int gp_port_get_timeout (GPPort *port, int *timeout); int gp_port_set_timeout (GPPort *port, int timeout); int gp_port_get_pin (GPPort *port, GPPin pin, GPLevel *level); int gp_port_set_pin (GPPort *port, GPPin pin, GPLevel level); const char* gp_port_get_error (GPPort *port); int gp_port_set_error (GPPort *port, const char *format, ...);
struct GPPortSettingsSerial { char port[128]; /** The portname (/dev/ttyX)*/ int speed; /** The baudrate of the device. */ int bits; /** How many bits data. */ GPPortSerialParity parity; /** parity data, see GP_PORT_SERIAL_PARITY_ defines */ int stopbits; /** How many stop bits are used. */ };
struct GPPortSettingsUSB { int inep, outep, intep; int config; int interface; int altsetting; };
struct GPPort { /* For your convenience */ GPPortType type; GPPortSettings settings; GPPortSettings settings_pending; int timeout; /* in milliseconds */ GPPortPrivateLibrary *pl; GPPortPrivateCore *pc; };
int gp_port_new (GPPort **port);
Allocates 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 : | |
Returns : | a gphoto2 error code |
int gp_port_free (GPPort *port);
Closes the port
and frees the memory.
port : | a GPPort |
Returns : | a gphoto2 error code |
int gp_port_set_info (GPPort *port, GPPortInfo info);
Makes a port
functional. After calling this function, you can
access the port using for example gp_port_open.
port : | a GPPort |
info : | the GPPortInfo |
Returns : | a gphoto2 error code |
int gp_port_get_info (GPPort *port, GPPortInfo *info);
Retreives info
about the port.
port : | a GPPort |
info : | a GPPortInfo |
Returns : | a gphoto2 error code |
int gp_port_open (GPPort *port);
Opens a port which should have been created with gp_port_new and configured with gp_port_set_info and gp_port_set_settings
port : | a GPPort |
Returns : | a gphoto2 error code |
int gp_port_close (GPPort *port);
Closes a port
temporarily. It can afterwards be reopened using
gp_port_open.
port : | a GPPort |
Returns : | a gphoto2 error code |
int gp_port_read (GPPort *port, char *data, int size);
Reads a specified number of bytes from the port into the supplied buffer.
port : | a GPPort |
data : | a pointer to an allocated buffer |
size : | the number of bytes that should be read |
Returns : | a gphoto2 error code |
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 |
Returns : | a gphoto2 error code |
int gp_port_get_settings (GPPort *port, GPPortSettings *settings);
Retreives the current settings
of a port
.
port : | a GPPort |
settings : | |
Returns : | a gphoto2 error code |
int gp_port_set_settings (GPPort *port, GPPortSettings settings);
Adjusts the settings of a port. You should always call gp_port_get_settings, adjust the values depending on the type of the port, and then call gp_port_set_settings.
port : | a GPPort |
settings : | the GPPortSettings to be set |
Returns : | a gphoto2 error code |
int gp_port_get_timeout (GPPort *port, int *timeout);
Retreives the current timeout of the port.
port : | a GPPort |
timeout : | |
Returns : | a gphoto2 error code |
int gp_port_set_timeout (GPPort *port, int timeout);
Sets the timeout
of a port
. gp_port_read will wait timeout
milliseconds
for data. If no data will be received in that period, GP_ERROR_TIMEOUT
will be returned.
port : | a GPPort |
timeout : | the timeout |
Returns : | a gphoto2 error code |
int gp_port_get_pin (GPPort *port, GPPin pin, GPLevel *level);
port : | |
pin : | |
level : | |
Returns : |
int gp_port_set_pin (GPPort *port, GPPin pin, GPLevel level);
port : | |
pin : | |
level : | |
Returns : |
const char* gp_port_get_error (GPPort *port);
Retrieves an error message from a port
. If you want to make sure that
you get correct error messages, you need to call gp_port_set_error with
an error message of NULL
each time before calling another port-related
function of which you want to check the return value.
port : | a GPPort |
Returns : | an error message |
int gp_port_set_error (GPPort *port, const char *format, ...);
Sets an error message that can later be retrieved using gp_port_get_error.
port : | a GPPort |
format : | |
... : | |
Returns : | a gphoto2 error code |
<< GPhoto2-Port-Info-List | GPhoto2-Port-Library >> |