rpm/rpmio/rpmurl.h

55 lines
1.1 KiB
C

#ifndef H_RPMURL
#define H_RPMURL
/** \ingroup rpmio
* \file rpmio/rpmurl.h
*
* A couple utils for URL Manipulation
*/
#ifdef __cplusplus
extern "C" {
#endif
/** \ingroup rpmurl
* Supported URL types.
*/
typedef enum urltype_e {
URL_IS_UNKNOWN = 0, /*!< unknown (aka a file) */
URL_IS_DASH = 1, /*!< stdin/stdout */
URL_IS_PATH = 2, /*!< file://... */
URL_IS_FTP = 3, /*!< ftp://... */
URL_IS_HTTP = 4, /*!< http://... */
URL_IS_HTTPS = 5, /*!< https://... */
URL_IS_HKP = 6 /*!< hkp://... */
} urltype;
/** \ingroup rpmurl
* Return type of URL.
* @param url url string
* @return type of url
*/
urltype urlIsURL(const char * url);
/** \ingroup rpmurl
* Return path component of URL.
* @param url url string
* @retval pathp pointer to path component of url
* @return type of url
*/
urltype urlPath(const char * url, const char ** pathp);
/** \ingroup rpmurl
* Copy data from URL to local file.
* @param url url string of source
* @param dest file name of destination
* @return 0 on success, -1 on error
*/
int urlGetFile(const char * url, const char * dest);
#ifdef __cplusplus
}
#endif
#endif /* H_RPMURL */