00001 00024 #ifndef __GPHOTO2_PORT_INFO_LIST_H__ 00025 #define __GPHOTO2_PORT_INFO_LIST_H__ 00026 00034 typedef enum { 00035 GP_PORT_NONE = 0, 00036 GP_PORT_SERIAL = 1 << 0, 00037 GP_PORT_USB = 1 << 2, 00038 GP_PORT_DISK = 1 << 3, 00039 GP_PORT_PTPIP = 1 << 4 00040 } GPPortType; 00041 00051 typedef struct _GPPortInfo { 00052 GPPortType type; 00053 char name[64]; 00054 char path[64]; 00056 /* Private */ 00057 char library_filename[1024]; 00058 } GPPortInfo; 00059 00060 #include <gphoto2/gphoto2-port.h> 00061 00062 #ifdef __cplusplus 00063 extern "C" { 00064 #endif /* __cplusplus */ 00065 00066 #ifdef _GPHOTO2_INTERNAL_CODE 00067 #include <gphoto2/gphoto2-port-log.h> 00068 extern const StringFlagItem gpi_gphoto_port_type_map[]; 00069 #endif 00070 00071 /* Internals are private */ 00072 typedef struct _GPPortInfoList GPPortInfoList; 00073 00074 int gp_port_info_list_new (GPPortInfoList **list); 00075 int gp_port_info_list_free (GPPortInfoList *list); 00076 00077 int gp_port_info_list_append (GPPortInfoList *list, GPPortInfo info); 00078 00079 int gp_port_info_list_load (GPPortInfoList *list); 00080 00081 int gp_port_info_list_count (GPPortInfoList *list); 00082 00083 int gp_port_info_list_lookup_path (GPPortInfoList *list, const char *path); 00084 int gp_port_info_list_lookup_name (GPPortInfoList *list, const char *name); 00085 00086 int gp_port_info_list_get_info (GPPortInfoList *list, int n, GPPortInfo *info); 00087 00088 const char *gp_port_message_codeset (const char*); 00089 00090 /* DEPRECATED */ 00091 typedef GPPortInfo gp_port_info; 00092 00093 #ifdef __cplusplus 00094 } 00095 #endif /* __cplusplus */ 00096 00097 #endif /* __GPHOTO2_PORT_INFO_LIST_H__ */