From aac9e7c280a9686520e0f8f4bd7ffe4ed901716d Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 6 Mar 2011 17:50:01 +0100 Subject: Move documentation of public transaction functions to alpm.h --- lib/libalpm/alpm.h | 65 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 16 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 0f3b7166..b1f9542a 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -263,12 +263,13 @@ alpm_list_t *alpm_find_grp_pkgs(alpm_list_t *dbs, const char *name); pmpkg_t *alpm_sync_newversion(pmpkg_t *pkg, alpm_list_t *dbs_sync); -/* - * Transactions +/** + * @addtogroup alpm_api_trans Transaction Functions + * Functions to manipulate libalpm transactions + * @{ */ - -/* Flags */ +/** Transaction flags */ typedef enum _pmtransflag_t { PM_TRANS_FLAG_NODEPS = 1, PM_TRANS_FLAG_FORCE = (1 << 1), @@ -290,12 +291,7 @@ typedef enum _pmtransflag_t { PM_TRANS_FLAG_NOLOCK = (1 << 17) } pmtransflag_t; -/** - * @addtogroup alpm_trans - * @{ - */ -/** - * @brief Transaction events. +/** Transaction events. * NULL parameters are passed to in all events unless specified otherwise. */ typedef enum _pmtransevt_t { @@ -374,9 +370,8 @@ typedef enum _pmtransevt_t { /** Disk space usage was computed for a package */ PM_TRANS_EVT_DISKSPACE_DONE, } pmtransevt_t; -/*@}*/ -/* Transaction Conversations (ie, questions) */ +/** Transaction Conversations (ie, questions) */ typedef enum _pmtransconv_t { PM_TRANS_CONV_INSTALL_IGNOREPKG = 1, PM_TRANS_CONV_REPLACE_PKG = (1 << 1), @@ -387,7 +382,7 @@ typedef enum _pmtransconv_t { PM_TRANS_CONV_SELECT_PROVIDER = (1 << 6), } pmtransconv_t; -/* Transaction Progress */ +/** Transaction Progress */ typedef enum _pmtransprog_t { PM_TRANS_PROGRESS_ADD_START, PM_TRANS_PROGRESS_UPGRADE_START, @@ -397,27 +392,65 @@ typedef enum _pmtransprog_t { PM_TRANS_PROGRESS_INTEGRITY_START, } pmtransprog_t; -/* Transaction Event callback */ +/** Transaction Event callback */ typedef void (*alpm_trans_cb_event)(pmtransevt_t, void *, void *); -/* Transaction Conversation callback */ +/** Transaction Conversation callback */ typedef void (*alpm_trans_cb_conv)(pmtransconv_t, void *, void *, void *, int *); -/* Transaction Progress callback */ +/** Transaction Progress callback */ typedef void (*alpm_trans_cb_progress)(pmtransprog_t, const char *, int, size_t, size_t); int alpm_trans_get_flags(void); + +/** Returns a list of packages added by the transaction. + * @return a list of pmpkg_t structures + */ alpm_list_t * alpm_trans_get_add(void); + +/** Returns the list of packages removed by the transaction. + * @return a list of pmpkg_t structures + */ alpm_list_t * alpm_trans_get_remove(void); + +/** Initialize the transaction. + * @param flags flags of the transaction (like nodeps, etc) + * @param event event callback function pointer + * @param conv question callback function pointer + * @param progress progress callback function pointer + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_trans_init(pmtransflag_t flags, alpm_trans_cb_event cb_event, alpm_trans_cb_conv conv, alpm_trans_cb_progress cb_progress); + +/** Prepare a transaction. + * @param data the address of an alpm_list where a list + * of pmdepmissing_t objects is dumped (conflicting packages) + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_trans_prepare(alpm_list_t **data); + +/** Commit a transaction. + * @param data the address of an alpm_list where detailed description + * of an error can be dumped (ie. list of conflicting files) + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_trans_commit(alpm_list_t **data); + +/** Interrupt a transaction. + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_trans_interrupt(void); + +/** Release a transaction. + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_trans_release(void); +/** @} */ + int alpm_sync_sysupgrade(int enable_downgrade); int alpm_add_pkg(pmpkg_t *pkg); int alpm_remove_pkg(pmpkg_t *pkg); -- cgit v1.2.3-54-g00ecf From 0c320b5a512b693479f2397b398f1298d7788567 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 6 Mar 2011 18:18:43 +0100 Subject: alpm.h: add documentation for package property accessors --- lib/libalpm/alpm.h | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index b1f9542a..39f987dd 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -206,30 +206,166 @@ char *alpm_fetch_pkgurl(const char *url); int alpm_pkg_vercmp(const char *a, const char *b); alpm_list_t *alpm_pkg_compute_requiredby(pmpkg_t *pkg); +/** @name Package Property Accessors + * Any pointer returned by these functions points to internal structures + * allocated by libalpm. They should not be freed nor modified in any + * way. + * @{ + */ + +/** Gets the name of the file from which the package was loaded. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_filename(pmpkg_t *pkg); + +/** Returns the package name. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_name(pmpkg_t *pkg); + +/** Returns the package version as a string. + * This includes all available epoch, version, and pkgrel components. Use + * alpm_pkg_vercmp() to compare version strings if necessary. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_version(pmpkg_t *pkg); + +/** Returns the package description. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_desc(pmpkg_t *pkg); + +/** Returns the package URL. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_url(pmpkg_t *pkg); + +/** Returns the build timestamp of the package. + * @param pkg a pointer to package + * @return the timestamp of the build time + */ time_t alpm_pkg_get_builddate(pmpkg_t *pkg); + +/** Returns the install timestamp of the package. + * @param pkg a pointer to package + * @return the timestamp of the install time + */ time_t alpm_pkg_get_installdate(pmpkg_t *pkg); + +/** Returns the packager's name. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_packager(pmpkg_t *pkg); + +/** Returns the package's MD5 checksum as a string. + * The returned string is a sequence of lowercase hexadecimal digits. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_md5sum(pmpkg_t *pkg); + +/** Returns the architecture for which the package was built. + * @param pkg a pointer to package + * @return a reference to an internal string + */ const char *alpm_pkg_get_arch(pmpkg_t *pkg); + +/** Returns the size of the package. + * @param pkg a pointer to package + * @return the size of the package in bytes. + */ off_t alpm_pkg_get_size(pmpkg_t *pkg); + +/** Returns the installed size of the package. + * @param pkg a pointer to package + * @return the total size of files installed by the package. + */ off_t alpm_pkg_get_isize(pmpkg_t *pkg); + +/** Returns the package installation reason. + * @param pkg a pointer to package + * @return an enum member giving the install reason. + */ pmpkgreason_t alpm_pkg_get_reason(pmpkg_t *pkg); + +/** Returns the list of package licenses. + * @param pkg a pointer to package + * @return a pointer to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_licenses(pmpkg_t *pkg); + +/** Returns the list of package groups. + * @param pkg a pointer to package + * @return a pointer to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_groups(pmpkg_t *pkg); + +/** Returns the list of package dependencies as pmdepend_t. + * @param pkg a pointer to package + * @return a reference to an internal list of pmdepend_t structures. + */ alpm_list_t *alpm_pkg_get_depends(pmpkg_t *pkg); + +/** Returns the list of package optional dependencies. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_optdepends(pmpkg_t *pkg); + +/** Returns the list of package names conflicting with pkg. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_conflicts(pmpkg_t *pkg); + +/** Returns the list of package names provided by pkg. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_provides(pmpkg_t *pkg); + alpm_list_t *alpm_pkg_get_deltas(pmpkg_t *pkg); + +/** Returns the list of packages to be replaced by pkg. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_replaces(pmpkg_t *pkg); + +/** Returns the list of files installed by pkg. + * The filenames are relative to the install root, + * and do not include leading slashes. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_files(pmpkg_t *pkg); + +/** Returns the list of files backed up when installing pkg. + * The elements of the returned list have the form + * "\t", where the given md5sum is that of + * the file as provided by the package. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_backup(pmpkg_t *pkg); + +/** Returns the database containing pkg + * Returns a pointer to the pmdb_t structure the package is + * originating from, or NULL is the package was loaded from a file. + * @param pkg a pointer to package + * @return a pointer to the DB containing pkg, or NULL. + */ pmdb_t *alpm_pkg_get_db(pmpkg_t *pkg); + +/* End of pmpkg_t accessors */ +/* @} */ + void *alpm_pkg_changelog_open(pmpkg_t *pkg); size_t alpm_pkg_changelog_read(void *ptr, size_t size, const pmpkg_t *pkg, const void *fp); -- cgit v1.2.3-54-g00ecf From 96432ab4ef27bc6a570427736d8b7f439535e05f Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 6 Mar 2011 18:44:03 +0100 Subject: Move documentation of public database functions to alpm.h --- lib/libalpm/alpm.h | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++---- lib/libalpm/db.c | 65 ++++++++---------------------------------- 2 files changed, 91 insertions(+), 58 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 39f987dd..3cbb0290 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -158,8 +158,6 @@ void alpm_option_set_usedelta(int usedelta); int alpm_option_get_checkspace(void); void alpm_option_set_checkspace(int checkspace); -pmdb_t *alpm_option_get_localdb(void); -alpm_list_t *alpm_option_get_syncdbs(void); /* * Install reasons -- ie, why the package was installed @@ -170,30 +168,106 @@ typedef enum _pmpkgreason_t { PM_PKG_REASON_DEPEND = 1 /* installed as a dependency for another package */ } pmpkgreason_t; -/* - * Databases +/** @addtogroup alpm_api_databases Database Functions + * Functions to query and manipulate the database of libalpm. + * @{ + */ + +/** Get the database of locally installed packages. + * The returned pointer points to an internal structure + * of libalpm which should only be manipulated through + * libalpm functions. + * @return a reference to the local database + */ +pmdb_t *alpm_option_get_localdb(void); + +/** Get the list of sync databases. + * Returns a list of pmdb_t structures, one for each registered + * sync database. + * @return a reference to an internal list of pmdb_t structures */ +alpm_list_t *alpm_option_get_syncdbs(void); +/** Register a sync database of packages. + * @param treename the name of the sync repository + * @return a pmdb_t* on success (the value), NULL on error + */ pmdb_t *alpm_db_register_sync(const char *treename); + +/** Unregister a package database. + * @param db pointer to the package database to unregister + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_db_unregister(pmdb_t *db); + +/** Unregister all package databases. + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_db_unregister_all(void); +/** Get the name of a package database. + * @param db pointer to the package database + * @return the name of the package database, NULL on error + */ const char *alpm_db_get_name(const pmdb_t *db); + +/** Get a download URL for the package database. + * @param db pointer to the package database + * @return a fully-specified download URL, NULL on error + */ const char *alpm_db_get_url(const pmdb_t *db); +/** Set the serverlist of a database. + * @param db database pointer + * @param url url of the server + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_db_setserver(pmdb_t *db, const char *url); int alpm_db_update(int level, pmdb_t *db); +/** Get a package entry from a package database. + * @param db pointer to the package database to get the package from + * @param name of the package + * @return the package entry on success, NULL on error + */ pmpkg_t *alpm_db_get_pkg(pmdb_t *db, const char *name); + +/** Get the package cache of a package database. + * @param db pointer to the package database to get the package from + * @return the list of packages on success, NULL on error + */ alpm_list_t *alpm_db_get_pkgcache(pmdb_t *db); +/** Get a group entry from a package database. + * @param db pointer to the package database to get the group from + * @param name of the group + * @return the groups entry on success, NULL on error + */ pmgrp_t *alpm_db_readgrp(pmdb_t *db, const char *name); + +/** Get the group cache of a package database. + * @param db pointer to the package database to get the group from + * @return the list of groups on success, NULL on error + */ alpm_list_t *alpm_db_get_grpcache(pmdb_t *db); + +/** Searches a database. + * @param db pointer to the package database to search in + * @param needles the list of strings to search for + * @return the list of packages on success, NULL on error + */ alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles); + +/** Set install reason for a package in db. + * @param db pointer to the package database + * @param name the name of the package + * @param reason the new install reason + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_db_set_pkgreason(pmdb_t *db, const char *name, pmpkgreason_t reason); -/* +/** * Packages */ diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index 49bbd00f..1a3168b4 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -47,10 +47,7 @@ * @{ */ -/** Register a sync database of packages. - * @param treename the name of the sync repository - * @return a pmdb_t* on success (the value), NULL on error - */ +/** Register a sync database of packages. */ pmdb_t SYMEXPORT *alpm_db_register_sync(const char *treename) { ALPM_LOG_FUNC; @@ -75,9 +72,7 @@ void _alpm_db_unregister(pmdb_t *db) _alpm_db_free(db); } -/** Unregister all package databases - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ +/** Unregister all package databases. */ int SYMEXPORT alpm_db_unregister_all(void) { alpm_list_t *i; @@ -100,10 +95,7 @@ int SYMEXPORT alpm_db_unregister_all(void) return(0); } -/** Unregister a package database - * @param db pointer to the package database to unregister - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ +/** Unregister a package database. */ int SYMEXPORT alpm_db_unregister(pmdb_t *db) { int found = 0; @@ -140,11 +132,7 @@ int SYMEXPORT alpm_db_unregister(pmdb_t *db) return(0); } -/** Set the serverlist of a database. - * @param db database pointer - * @param url url of the server - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ +/** Set the serverlist of a database. */ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url) { alpm_list_t *i; @@ -187,10 +175,7 @@ int SYMEXPORT alpm_db_setserver(pmdb_t *db, const char *url) return(0); } -/** Get the name of a package database - * @param db pointer to the package database - * @return the name of the package database, NULL on error - */ +/** Get the name of a package database. */ const char SYMEXPORT *alpm_db_get_name(const pmdb_t *db) { ALPM_LOG_FUNC; @@ -202,10 +187,7 @@ const char SYMEXPORT *alpm_db_get_name(const pmdb_t *db) return db->treename; } -/** Get a download URL for the package database - * @param db pointer to the package database - * @return a fully-specified download URL, NULL on error - */ +/** Get a download URL for the package database. */ const char SYMEXPORT *alpm_db_get_url(const pmdb_t *db) { char *url; @@ -223,11 +205,7 @@ const char SYMEXPORT *alpm_db_get_url(const pmdb_t *db) } -/** Get a package entry from a package database - * @param db pointer to the package database to get the package from - * @param name of the package - * @return the package entry on success, NULL on error - */ +/** Get a package entry from a package database. */ pmpkg_t SYMEXPORT *alpm_db_get_pkg(pmdb_t *db, const char *name) { ALPM_LOG_FUNC; @@ -240,10 +218,7 @@ pmpkg_t SYMEXPORT *alpm_db_get_pkg(pmdb_t *db, const char *name) return(_alpm_db_get_pkgfromcache(db, name)); } -/** Get the package cache of a package database - * @param db pointer to the package database to get the package from - * @return the list of packages on success, NULL on error - */ +/** Get the package cache of a package database. */ alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(pmdb_t *db) { ALPM_LOG_FUNC; @@ -255,11 +230,7 @@ alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(pmdb_t *db) return(_alpm_db_get_pkgcache(db)); } -/** Get a group entry from a package database - * @param db pointer to the package database to get the group from - * @param name of the group - * @return the groups entry on success, NULL on error - */ +/** Get a group entry from a package database. */ pmgrp_t SYMEXPORT *alpm_db_readgrp(pmdb_t *db, const char *name) { ALPM_LOG_FUNC; @@ -272,10 +243,7 @@ pmgrp_t SYMEXPORT *alpm_db_readgrp(pmdb_t *db, const char *name) return(_alpm_db_get_grpfromcache(db, name)); } -/** Get the group cache of a package database - * @param db pointer to the package database to get the group from - * @return the list of groups on success, NULL on error - */ +/** Get the group cache of a package database. */ alpm_list_t SYMEXPORT *alpm_db_get_grpcache(pmdb_t *db) { ALPM_LOG_FUNC; @@ -287,11 +255,7 @@ alpm_list_t SYMEXPORT *alpm_db_get_grpcache(pmdb_t *db) return(_alpm_db_get_grpcache(db)); } -/** Searches a database - * @param db pointer to the package database to search in - * @param needles the list of strings to search for - * @return the list of packages on success, NULL on error - */ +/** Searches a database. */ alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db, const alpm_list_t* needles) { ALPM_LOG_FUNC; @@ -303,12 +267,7 @@ alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db, const alpm_list_t* needles) return(_alpm_db_search(db, needles)); } -/** Set install reason for a package in db - * @param db pointer to the package database - * @param name the name of the package - * @param reason the new install reason - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ +/** Set install reason for a package in db. */ int SYMEXPORT alpm_db_set_pkgreason(pmdb_t *db, const char *name, pmpkgreason_t reason) { ALPM_LOG_FUNC; -- cgit v1.2.3-54-g00ecf From 3901ca1a6db773aeecb7a03271d99e87dabdfd45 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 6 Mar 2011 18:51:54 +0100 Subject: alpm.h: organize doxygen documentation in groups --- lib/libalpm/alpm.h | 53 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 14 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 3cbb0290..8ae3ff25 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -39,6 +39,11 @@ extern "C" { * Arch Linux Package Management library */ +/** @addtogroup alpm_api Public API + * The libalpm Public API + * @{ + */ + /* * Structures */ @@ -93,8 +98,9 @@ typedef void (*alpm_cb_totaldl)(off_t total); typedef int (*alpm_cb_fetch)(const char *url, const char *localpath, int force); -/* - * Options +/** @addtogroup alpm_api_options Options + * Libalpm option getters and setters + * @{ */ alpm_cb_log alpm_option_get_logcb(void); @@ -158,6 +164,7 @@ void alpm_option_set_usedelta(int usedelta); int alpm_option_get_checkspace(void); void alpm_option_set_checkspace(int checkspace); +/** @} */ /* * Install reasons -- ie, why the package was installed @@ -267,11 +274,12 @@ alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles); */ int alpm_db_set_pkgreason(pmdb_t *db, const char *name, pmpkgreason_t reason); -/** - * Packages - */ +/** @} */ -/* Info parameters */ +/** @addtogroup alpm_api_packages Package Functions + * Functions to manipulate libalpm packages + * @{ + */ int alpm_pkg_load(const char *filename, int full, pmpkg_t **pkg); int alpm_pkg_free(pmpkg_t *pkg); @@ -450,6 +458,9 @@ int alpm_pkg_has_scriptlet(pmpkg_t *pkg); off_t alpm_pkg_download_size(pmpkg_t *newpkg); alpm_list_t *alpm_pkg_unused_deltas(pmpkg_t *pkg); +/* End of alpm_pkg */ +/** @} */ + /* * Deltas */ @@ -473,8 +484,7 @@ alpm_list_t *alpm_find_grp_pkgs(alpm_list_t *dbs, const char *name); pmpkg_t *alpm_sync_newversion(pmpkg_t *pkg, alpm_list_t *dbs_sync); -/** - * @addtogroup alpm_api_trans Transaction Functions +/** @addtogroup alpm_api_trans Transaction Functions * Functions to manipulate libalpm transactions * @{ */ @@ -661,12 +671,16 @@ int alpm_trans_release(void); /** @} */ +/** @} */ + int alpm_sync_sysupgrade(int enable_downgrade); int alpm_add_pkg(pmpkg_t *pkg); int alpm_remove_pkg(pmpkg_t *pkg); -/* - * Dependencies and conflicts +/** @addtogroup alpm_api_depends Dependency Functions + * Functions dealing with libalpm representation of dependency + * information. + * @{ */ typedef enum _pmdepmod_t { @@ -698,8 +712,11 @@ const char *alpm_dep_get_name(const pmdepend_t *dep); const char *alpm_dep_get_version(const pmdepend_t *dep); char *alpm_dep_compute_string(const pmdepend_t *dep); -/* - * File conflicts +/** @} */ + +/** @addtogroup alpm_api_fileconflicts File Conflicts Functions + * Functions to manipulate file conflict information. + * @{ */ typedef enum _pmfileconflicttype_t { @@ -712,6 +729,8 @@ pmfileconflicttype_t alpm_fileconflict_get_type(pmfileconflict_t *conflict); const char *alpm_fileconflict_get_file(pmfileconflict_t *conflict); const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict); +/** @} */ + /* * Helpers */ @@ -719,8 +738,8 @@ const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict); /* checksums */ char *alpm_compute_md5sum(const char *name); -/* - * Errors +/** @addtogroup alpm_api_errors Error Codes + * @{ */ enum _pmerrno_t { PM_ERR_MEMORY = 1, @@ -786,6 +805,12 @@ extern enum _pmerrno_t pm_errno; const char *alpm_strerror(int err); const char *alpm_strerrorlast(void); +/* End of alpm_api_errors */ +/** @} */ + +/* End of alpm_api */ +/** @} */ + #ifdef __cplusplus } #endif -- cgit v1.2.3-54-g00ecf From 6ebb6fec8b356c87e6fdea5659bbf34461adee90 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 6 Mar 2011 19:07:25 +0100 Subject: Move documentation for public package function to alpm.h --- lib/libalpm/alpm.h | 70 +++++++++++++++++++++++++++++++++++++++++++++--- lib/libalpm/be_package.c | 10 ------- lib/libalpm/dload.c | 6 +---- lib/libalpm/package.c | 46 +++++-------------------------- 4 files changed, 73 insertions(+), 59 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 8ae3ff25..5d6fdac0 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -98,6 +98,12 @@ typedef void (*alpm_cb_totaldl)(off_t total); typedef int (*alpm_cb_fetch)(const char *url, const char *localpath, int force); +/** Fetch a remote pkg. + * @param url URL of the package to download + * @return the downloaded filepath on success, NULL on error + */ +char *alpm_fetch_pkgurl(const char *url); + /** @addtogroup alpm_api_options Options * Libalpm option getters and setters * @{ @@ -281,11 +287,39 @@ int alpm_db_set_pkgreason(pmdb_t *db, const char *name, pmpkgreason_t reason); * @{ */ +/** Create a package from a file. + * If full is false, the archive is read only until all necessary + * metadata is found. If it is true, the entire archive is read, which + * serves as a verfication of integrity and the filelist can be created. + * @param filename location of the package tarball + * @param full whether to stop the load after metadata is read or continue + * through the full archive + * @param pkg address of the package pointer + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_pkg_load(const char *filename, int full, pmpkg_t **pkg); + +/** Free a package. + * @param pkg package pointer to free + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_pkg_free(pmpkg_t *pkg); + +/** Check the integrity (with md5) of a package from the sync cache. + * @param pkg package pointer + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ int alpm_pkg_checkmd5sum(pmpkg_t *pkg); -char *alpm_fetch_pkgurl(const char *url); + +/** Compare two version strings and determine which one is 'newer'. */ int alpm_pkg_vercmp(const char *a, const char *b); + +/** Computes the list of packages requiring a given package. + * The return value of this function is a newly allocated + * list of package names (char*), it should be freed by the caller. + * @param pkg a package + * @return the list of packages requiring pkg + */ alpm_list_t *alpm_pkg_compute_requiredby(pmpkg_t *pkg); /** @name Package Property Accessors @@ -412,6 +446,10 @@ alpm_list_t *alpm_pkg_get_conflicts(pmpkg_t *pkg); */ alpm_list_t *alpm_pkg_get_provides(pmpkg_t *pkg); +/** Returns the list of available deltas for pkg. + * @param pkg a pointer to package + * @return a reference to an internal list of strings. + */ alpm_list_t *alpm_pkg_get_deltas(pmpkg_t *pkg); /** Returns the list of packages to be replaced by pkg. @@ -448,14 +486,41 @@ pmdb_t *alpm_pkg_get_db(pmpkg_t *pkg); /* End of pmpkg_t accessors */ /* @} */ +/** Open a package changelog for reading. + * Similar to fopen in functionality, except that the returned 'file + * stream' could really be from an archive as well as from the database. + * @param pkg the package to read the changelog of (either file or db) + * @return a 'file stream' to the package changelog + */ void *alpm_pkg_changelog_open(pmpkg_t *pkg); + +/** Read data from an open changelog 'file stream'. + * Similar to fread in functionality, this function takes a buffer and + * amount of data to read. If an error occurs pm_errno will be set. + * @param ptr a buffer to fill with raw changelog data + * @param size the size of the buffer + * @param pkg the package that the changelog is being read from + * @param fp a 'file stream' to the package changelog + * @return the number of characters read, or 0 if there is no more data or an + * error occurred. + */ size_t alpm_pkg_changelog_read(void *ptr, size_t size, const pmpkg_t *pkg, const void *fp); + /*int alpm_pkg_changelog_feof(const pmpkg_t *pkg, void *fp);*/ + int alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp); + int alpm_pkg_has_scriptlet(pmpkg_t *pkg); +/** Returns the size of download. + * Returns the size of the files that will be downloaded to install a + * package. + * @param newpkg the new package to upgrade to + * @return the size of the download + */ off_t alpm_pkg_download_size(pmpkg_t *newpkg); + alpm_list_t *alpm_pkg_unused_deltas(pmpkg_t *pkg); /* End of alpm_pkg */ @@ -668,9 +733,6 @@ int alpm_trans_interrupt(void); * @return 0 on success, -1 on error (pm_errno is set accordingly) */ int alpm_trans_release(void); - -/** @} */ - /** @} */ int alpm_sync_sysupgrade(int enable_downgrade); diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index f4837890..6dfddd61 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -367,16 +367,6 @@ error: return(NULL); } -/** Create a package from a file. - * If full is false, the archive is read only until all necessary - * metadata is found. If it is true, the entire archive is read, which - * serves as a verfication of integrity and the filelist can be created. - * @param filename location of the package tarball - * @param full whether to stop the load after metadata is read or continue - * through the full archive - * @param pkg address of the package pointer - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ int SYMEXPORT alpm_pkg_load(const char *filename, int full, pmpkg_t **pkg) { ALPM_LOG_FUNC; diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 7a98eb12..a98d84ac 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -415,11 +415,7 @@ int _alpm_download_files(alpm_list_t *files, return(ret); } -/** Fetch a remote pkg. - * @param url URL of the package to download - * @return the downloaded filepath on success, NULL on error - * @addtogroup alpm_misc - */ +/** Fetch a remote pkg. */ char SYMEXPORT *alpm_fetch_pkgurl(const char *url) { char *filename, *filepath; diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 589badff..f2f15af4 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -46,10 +46,7 @@ * @{ */ -/** Free a package. - * @param pkg package pointer to free - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ +/** Free a package. */ int SYMEXPORT alpm_pkg_free(pmpkg_t *pkg) { ALPM_LOG_FUNC; @@ -64,10 +61,7 @@ int SYMEXPORT alpm_pkg_free(pmpkg_t *pkg) return(0); } -/** Check the integrity (with md5) of a package from the sync cache. - * @param pkg package pointer - * @return 0 on success, -1 on error (pm_errno is set accordingly) - */ +/** Check the integrity (with md5) of a package from the sync cache. */ int SYMEXPORT alpm_pkg_checkmd5sum(pmpkg_t *pkg) { char *fpath; @@ -289,30 +283,13 @@ pmdb_t SYMEXPORT *alpm_pkg_get_db(pmpkg_t *pkg) return(pkg->origin_data.db); } -/** - * Open a package changelog for reading. Similar to fopen in functionality, - * except that the returned 'file stream' could really be from an archive - * as well as from the database. - * @param pkg the package to read the changelog of (either file or db) - * @return a 'file stream' to the package changelog - */ +/** Open a package changelog for reading. */ void SYMEXPORT *alpm_pkg_changelog_open(pmpkg_t *pkg) { return pkg->ops->changelog_open(pkg); } -/** - * Read data from an open changelog 'file stream'. Similar to fread in - * functionality, this function takes a buffer and amount of data to read. If an - * error occurs pm_errno will be set. - * - * @param ptr a buffer to fill with raw changelog data - * @param size the size of the buffer - * @param pkg the package that the changelog is being read from - * @param fp a 'file stream' to the package changelog - * @return the number of characters read, or 0 if there is no more data or an - * error occurred. - */ +/** Read data from an open changelog 'file stream'. */ size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size, const pmpkg_t *pkg, const void *fp) { @@ -326,14 +303,7 @@ int SYMEXPORT alpm_pkg_changelog_feof(const pmpkg_t *pkg, void *fp) } */ -/** - * Close a package changelog for reading. Similar to fclose in functionality, - * except that the 'file stream' could really be from an archive as well as - * from the database. - * @param pkg the package that the changelog was read from - * @param fp a 'file stream' to the package changelog - * @return whether closing the package changelog stream was successful - */ +/** Close a package changelog for reading. */ int SYMEXPORT alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp) { return pkg->ops->changelog_close(pkg, fp); @@ -361,11 +331,7 @@ static void find_requiredby(pmpkg_t *pkg, pmdb_t *db, alpm_list_t **reqs) } } -/** - * @brief Compute the packages requiring a given package. - * @param pkg a package - * @return the list of packages requiring pkg - */ +/** Compute the packages requiring a given package. */ alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(pmpkg_t *pkg) { const alpm_list_t *i; -- cgit v1.2.3-54-g00ecf From fa47dd96158563b5e6c50e637e2a12a58693dc10 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 6 Mar 2011 19:11:04 +0100 Subject: alpm.h: more documentation for pkgreason, depend and errno. --- lib/libalpm/alpm.h | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 5d6fdac0..13d55c16 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -172,13 +172,14 @@ void alpm_option_set_checkspace(int checkspace); /** @} */ -/* - * Install reasons -- ie, why the package was installed +/** Install reasons + * Why the package was installed. */ - typedef enum _pmpkgreason_t { - PM_PKG_REASON_EXPLICIT = 0, /* explicitly requested by the user */ - PM_PKG_REASON_DEPEND = 1 /* installed as a dependency for another package */ + /** Explicitly requested by the user. */ + PM_PKG_REASON_EXPLICIT = 0, + /** Installed as a dependency for another package. */ + PM_PKG_REASON_DEPEND = 1 } pmpkgreason_t; /** @addtogroup alpm_api_databases Database Functions @@ -745,12 +746,19 @@ int alpm_remove_pkg(pmpkg_t *pkg); * @{ */ +/** Types of version constraints in dependency specs. */ typedef enum _pmdepmod_t { + /** No version constraint */ PM_DEP_MOD_ANY = 1, + /** Test version equality (package=x.y.z) */ PM_DEP_MOD_EQ, + /** Test for at least a version (package>=x.y.z) */ PM_DEP_MOD_GE, + /** Test for at most a version (package<=x.y.z) */ PM_DEP_MOD_LE, + /** Test for greater than some version (package>x.y.z) */ PM_DEP_MOD_GT, + /** Test for less than some version (package=2.12" + */ char *alpm_dep_compute_string(const pmdepend_t *dep); /** @} */ @@ -862,9 +892,13 @@ enum _pmerrno_t { PM_ERR_EXTERNAL_DOWNLOAD }; +/** The number of the last error that occurred. */ extern enum _pmerrno_t pm_errno; +/** Returns the string corresponding to an error number. */ const char *alpm_strerror(int err); + +/** Returns the string corresponding to pm_errno. */ const char *alpm_strerrorlast(void); /* End of alpm_api_errors */ -- cgit v1.2.3-54-g00ecf From b750d3e7b0b0d377ea856c7915f9c6acf6d512d8 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Mon, 28 Mar 2011 20:56:13 +0200 Subject: More documentation for option getters/setters. --- lib/libalpm/alpm.h | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 13d55c16..1bb0b814 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -109,35 +109,56 @@ char *alpm_fetch_pkgurl(const char *url); * @{ */ +/** @name The logging callback. */ +/* @{ */ alpm_cb_log alpm_option_get_logcb(void); void alpm_option_set_logcb(alpm_cb_log cb); +/* @} */ +/** Get/set the download progress callback. */ alpm_cb_download alpm_option_get_dlcb(void); void alpm_option_set_dlcb(alpm_cb_download cb); +/** Get/set the downloader callback. */ alpm_cb_fetch alpm_option_get_fetchcb(void); void alpm_option_set_fetchcb(alpm_cb_fetch cb); +/** Get/set the callback used when download size is known. */ alpm_cb_totaldl alpm_option_get_totaldlcb(void); void alpm_option_set_totaldlcb(alpm_cb_totaldl cb); +/** Get/set the root of the destination filesystem. */ const char *alpm_option_get_root(void); int alpm_option_set_root(const char *root); +/** Get/set the path to the database directory. */ const char *alpm_option_get_dbpath(void); int alpm_option_set_dbpath(const char *dbpath); +/** Get/set the list of package cache directories. */ alpm_list_t *alpm_option_get_cachedirs(void); -int alpm_option_add_cachedir(const char *cachedir); void alpm_option_set_cachedirs(alpm_list_t *cachedirs); + +/** Add a single directory to the package cache paths. */ +int alpm_option_add_cachedir(const char *cachedir); + +/** Remove a single directory from the package cache paths. */ int alpm_option_remove_cachedir(const char *cachedir); +/** Get/set the logfile name. */ const char *alpm_option_get_logfile(void); int alpm_option_set_logfile(const char *logfile); +/** Get the name of the database lock file. + * + * This properly is read-only, and determined from + * the database path. + * + * @sa alpm_option_set_dbpath(const char*) + */ const char *alpm_option_get_lockfile(void); -/* no set_lockfile, path is determined from dbpath */ +/** Get/set whether to use syslog (0 is FALSE, TRUE otherwise). */ int alpm_option_get_usesyslog(void); void alpm_option_set_usesyslog(int usesyslog); @@ -161,6 +182,7 @@ void alpm_option_add_ignoregrp(const char *grp); void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps); int alpm_option_remove_ignoregrp(const char *grp); +/** Get/set the targeted architecture. */ const char *alpm_option_get_arch(void); void alpm_option_set_arch(const char *arch); @@ -736,9 +758,12 @@ int alpm_trans_interrupt(void); int alpm_trans_release(void); /** @} */ +/** @name Common Transactions */ +/** @{ */ int alpm_sync_sysupgrade(int enable_downgrade); int alpm_add_pkg(pmpkg_t *pkg); int alpm_remove_pkg(pmpkg_t *pkg); +/** @} */ /** @addtogroup alpm_api_depends Dependency Functions * Functions dealing with libalpm representation of dependency -- cgit v1.2.3-54-g00ecf From dbd7d49d31d337d0b63d7945fd3308f903a75fd2 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sat, 9 Apr 2011 23:28:00 +0200 Subject: alpm.h: document transaction flags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Oudompheng --- lib/libalpm/alpm.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 1bb0b814..f519303b 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -579,23 +579,39 @@ pmpkg_t *alpm_sync_newversion(pmpkg_t *pkg, alpm_list_t *dbs_sync); /** Transaction flags */ typedef enum _pmtransflag_t { + /** Ignore dependency checks. */ PM_TRANS_FLAG_NODEPS = 1, + /** Ignore file conflicts and overwrite files. */ PM_TRANS_FLAG_FORCE = (1 << 1), + /** Delete files even if they are tagged as backup. */ PM_TRANS_FLAG_NOSAVE = (1 << 2), + /** Ignore version numbers when checking dependencies. */ PM_TRANS_FLAG_NODEPVERSION = (1 << 3), + /** Remove also any packages depending on a package being removed. */ PM_TRANS_FLAG_CASCADE = (1 << 4), + /** Remove packages and their unneeded deps (not explicitly installed). */ PM_TRANS_FLAG_RECURSE = (1 << 5), + /** Modify database but do not cmomit changes to the filesystem. */ PM_TRANS_FLAG_DBONLY = (1 << 6), /* (1 << 7) flag can go here */ + /** Use PM_PKG_REASON_DEPEND when installing packages. */ PM_TRANS_FLAG_ALLDEPS = (1 << 8), + /** Only download packages and do not actually install. */ PM_TRANS_FLAG_DOWNLOADONLY = (1 << 9), + /** Do not execute install scriptlets after installing. */ PM_TRANS_FLAG_NOSCRIPTLET = (1 << 10), + /** Ignore dependency conflicts. */ PM_TRANS_FLAG_NOCONFLICTS = (1 << 11), /* (1 << 12) flag can go here */ + /** Do not install a package if it is already installed and up to date. */ PM_TRANS_FLAG_NEEDED = (1 << 13), + /** Use PM_PKG_REASON_EXPLICIT when installing packages. */ PM_TRANS_FLAG_ALLEXPLICIT = (1 << 14), + /** Do not remove a package if it is needed by another one. */ PM_TRANS_FLAG_UNNEEDED = (1 << 15), + /** Remove also explicitly installed unneeded deps (use with PM_TRANS_FLAG_RECURSE). */ PM_TRANS_FLAG_RECURSEALL = (1 << 16), + /** Do not lock the database during the operation. */ PM_TRANS_FLAG_NOLOCK = (1 << 17) } pmtransflag_t; -- cgit v1.2.3-54-g00ecf From 8e8391e17c09a576896972c484b3d2194a7684c1 Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sat, 9 Apr 2011 23:28:00 +0200 Subject: alpm.h: fix typos in documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Oudompheng --- lib/libalpm/alpm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index f519303b..cb643d29 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -591,7 +591,7 @@ typedef enum _pmtransflag_t { PM_TRANS_FLAG_CASCADE = (1 << 4), /** Remove packages and their unneeded deps (not explicitly installed). */ PM_TRANS_FLAG_RECURSE = (1 << 5), - /** Modify database but do not cmomit changes to the filesystem. */ + /** Modify database but do not commit changes to the filesystem. */ PM_TRANS_FLAG_DBONLY = (1 << 6), /* (1 << 7) flag can go here */ /** Use PM_PKG_REASON_DEPEND when installing packages. */ -- cgit v1.2.3-54-g00ecf