libgphoto2 photo camera library (libgphoto2) API 2.5.30
|
#include "config.h"
#include <gphoto2/gphoto2-port-info-list.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <ltdl.h>
#include <gphoto2/gphoto2-port-result.h>
#include <gphoto2/gphoto2-port-library.h>
#include <gphoto2/gphoto2-port-log.h>
#include "libgphoto2_port/gphoto2-port-info.h"
#include "libgphoto2_port/i18n.h"
Data Structures | |
struct | _GPPortInfoList |
Macros | |
#define | _GNU_SOURCE |
#define | _DARWIN_C_SOURCE |
#define | CR(x) {int r=(x);if (r<0) return (r);} |
Functions | |
int | gp_port_init_localedir (const char *localedir) |
Initialize the localedir directory for the libgphoto2_port gettext domain. More... | |
const char * | gp_port_message_codeset (const char *codeset) |
Specify codeset for translations. More... | |
int | gp_port_info_list_new (GPPortInfoList **list) |
Create a new GPPortInfoList. More... | |
int | gp_port_info_list_free (GPPortInfoList *list) |
Free a GPPortInfo list. More... | |
int | gp_port_info_list_append (GPPortInfoList *list, GPPortInfo info) |
Append a portinfo to the port information list. More... | |
int | gp_port_info_list_load (GPPortInfoList *list) |
Load system ports. More... | |
int | gp_port_info_list_count (GPPortInfoList *list) |
Number of ports in the list. More... | |
int | gp_port_info_list_lookup_path (GPPortInfoList *list, const char *path) |
Lookup a specific path in the list. More... | |
int | gp_port_info_list_lookup_name (GPPortInfoList *list, const char *name) |
Look up a name in the list. More... | |
int | gp_port_info_list_get_info (GPPortInfoList *list, int n, GPPortInfo *info) |
Get port information of specific entry. More... | |
int | gp_port_info_get_name (GPPortInfo info, char **name) |
Get name of a specific port entry. More... | |
int | gp_port_info_set_name (GPPortInfo info, const char *name) |
Set name of a specific port entry. More... | |
int | gp_port_info_get_path (GPPortInfo info, char **path) |
Get path of a specific port entry. More... | |
int | gp_port_info_set_path (GPPortInfo info, const char *path) |
Set path of a specific port entry. More... | |
int | gp_port_info_get_type (GPPortInfo info, GPPortType *type) |
Get type of a specific port entry. More... | |
int | gp_port_info_set_type (GPPortInfo info, GPPortType type) |
Set type of a specific port entry. More... | |
int | gp_port_info_new (GPPortInfo *info) |
Create a new portinfo. More... | |
int gp_port_info_get_name | ( | GPPortInfo | info, |
char ** | name | ||
) |
Get name of a specific port entry.
info | a #GPPortInfo |
name | a pointer to a char* which will receive the name |
Retreives the name of the passed in GPPortInfo, by reference.
References GP_OK, and _GPPortInfo::name.
int gp_port_info_get_path | ( | GPPortInfo | info, |
char ** | path | ||
) |
Get path of a specific port entry.
info | a #GPPortInfo |
path | a pointer to a char* which will receive the path |
Retreives the path of the passed in GPPortInfo, by reference.
References GP_OK, and _GPPortInfo::path.
int gp_port_info_get_type | ( | GPPortInfo | info, |
GPPortType * | type | ||
) |
Get type of a specific port entry.
info | a #GPPortInfo |
type | a pointer to a GPPortType variable which will receive the type |
Retreives the type of the passed in GPPortInfo
References GP_OK, and _GPPortInfo::type.
int gp_port_info_list_append | ( | GPPortInfoList * | list, |
GPPortInfo | info | ||
) |
Append a portinfo to the port information list.
list | a #GPPortInfoList |
info | the info to append |
Appends an entry to the list. This function is typically called by an io-driver during #gp_port_library_list. If you leave info.name blank, gp_port_info_list_lookup_path will try to match non-existent paths against info.path and - if successful - will append this entry to the list.
References _GPPortInfo::name.
int gp_port_info_list_count | ( | GPPortInfoList * | list | ) |
Number of ports in the list.
list | a #GPPortInfoList |
Returns the number of entries in the passed list.
References _GPPortInfo::name.
Referenced by gp_camera_autodetect().
int gp_port_info_list_free | ( | GPPortInfoList * | list | ) |
Free a GPPortInfo list.
list | a #GPPortInfoList |
Frees a GPPortInfoList structure and its internal data structures.
References GP_OK, _GPPortInfo::library_filename, _GPPortInfo::name, and _GPPortInfo::path.
Referenced by gp_camera_autodetect().
int gp_port_info_list_get_info | ( | GPPortInfoList * | list, |
int | n, | ||
GPPortInfo * | info | ||
) |
Get port information of specific entry.
list | a #GPPortInfoList |
n | the index of the entry |
info | the returned information |
Returns a pointer to the current port entry.
References GP_OK, and _GPPortInfo::name.
int gp_port_info_list_load | ( | GPPortInfoList * | list | ) |
Load system ports.
list | a #GPPortInfoList |
Searches the system for io-drivers and appends them to the list. You would normally call this function once after gp_port_info_list_new and then use this list in order to supply gp_port_set_info with parameters or to do autodetection.
Referenced by gp_camera_autodetect().
int gp_port_info_list_lookup_name | ( | GPPortInfoList * | list, |
const char * | name | ||
) |
Look up a name in the list.
list | a #GPPortInfoList |
name | a name |
Looks for an entry in the list with the exact given name.
References GP_ERROR_UNKNOWN_PORT, and _GPPortInfo::name.
int gp_port_info_list_lookup_path | ( | GPPortInfoList * | list, |
const char * | path | ||
) |
Lookup a specific path in the list.
list | a #GPPortInfoList |
path | a path |
Looks for an entry in the list with the supplied path. If no exact match can be found, a regex search will be performed in the hope some driver claimed ports like "serial:*".
int gp_port_info_list_new | ( | GPPortInfoList ** | list | ) |
Create a new GPPortInfoList.
list | pointer to a GPPortInfoList* which is allocated |
Creates a new list which can later be filled with port infos (#GPPortInfo) using gp_port_info_list_load.
References GP_OK, and gp_port_init_localedir().
Referenced by gp_camera_autodetect().
int gp_port_info_new | ( | GPPortInfo * | info | ) |
Create a new portinfo.
info | pointer to a #GPPortInfo |
Allocates and initializes a GPPortInfo structure. This is a libgphoto2_port internal function.
References GP_OK.
int gp_port_info_set_name | ( | GPPortInfo | info, |
const char * | name | ||
) |
Set name of a specific port entry.
info | a #GPPortInfo |
name | a char* pointer which will receive the name |
Sets the name of the passed in GPPortInfo This is a libgphoto2_port internal function.
References GP_OK, and _GPPortInfo::name.
int gp_port_info_set_path | ( | GPPortInfo | info, |
const char * | path | ||
) |
Set path of a specific port entry.
info | a #GPPortInfo |
path | a char* pointer which will receive the path |
Sets the path of the passed in GPPortInfo This is a libgphoto2_port internal function.
References GP_OK, and _GPPortInfo::path.
int gp_port_info_set_type | ( | GPPortInfo | info, |
GPPortType | type | ||
) |
Set type of a specific port entry.
info | a #GPPortInfo |
type | a GPPortType variable which will has the type |
Sets the type of the passed in GPPortInfo This is a libgphoto2_port internal function.
References GP_OK, and _GPPortInfo::type.
int gp_port_init_localedir | ( | const char * | localedir | ) |
Initialize the localedir directory for the libgphoto2_port gettext domain.
Override the localedir directory libgphoto2_port uses for its message translations.
This function is called by the gp_init_localedir() function, so if you are calling that already, there is no need to call gp_port_init_localedir() yourself.
You only need to call this if you have a non-standard installation where the locale files are at a location which differs from the compiled in default location.
If you need to call this function, call it before calling any non-initialization function.
Internally, this will make sure bindtextdomain() is called for the relevant gettext text domain(s).
localedir | Root directory of libgphoto2_port's localization files. If NULL, use the compiled in default value, which will be something like "/usr/share/locale". |
References gp_log(), GP_LOG_DEBUG, and GP_OK.
Referenced by gp_init_localedir(), and gp_port_info_list_new().
const char * gp_port_message_codeset | ( | const char * | codeset | ) |
Specify codeset for translations.
This function specifies the codeset that is used for the translated strings that are passed back by the libgphoto2_port functions.
This function is called by the gp_message_codeset() function, so there is no need to call it yourself.
codeset | new codeset to use |
Referenced by gp_message_codeset().