summaryrefslogtreecommitdiff
path: root/lib/rpmts_internal.h
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2007-10-31 12:08:01 +0200
committerPanu Matilainen <pmatilai@redhat.com>2007-10-31 12:08:01 +0200
commit05fcdb49f1d366b65a72b1a22f299fa5be41f4e3 (patch)
treef157a2e62640acd059e774a58df26db5801b5e6b /lib/rpmts_internal.h
parenta3bbfc98eefa6cf272ed8f391c8efc6af995bd53 (diff)
downloadlibrpm-tizen-05fcdb49f1d366b65a72b1a22f299fa5be41f4e3.tar.gz
librpm-tizen-05fcdb49f1d366b65a72b1a22f299fa5be41f4e3.tar.bz2
librpm-tizen-05fcdb49f1d366b65a72b1a22f299fa5be41f4e3.zip
Split out rpmts_internal.h from rpmts.h
Diffstat (limited to 'lib/rpmts_internal.h')
-rw-r--r--lib/rpmts_internal.h120
1 files changed, 120 insertions, 0 deletions
diff --git a/lib/rpmts_internal.h b/lib/rpmts_internal.h
new file mode 100644
index 000000000..dd52ef1f9
--- /dev/null
+++ b/lib/rpmts_internal.h
@@ -0,0 +1,120 @@
+#ifndef _RPMTS_INTERNAL_H
+#define _RPMTS_INTERNAL_H
+
+#include "rpmts.h"
+#include "rpmhash.h" /* XXX hashTable */
+#include "rpmal.h" /* XXX availablePackage/relocateFileList ,*/
+#include "rpmtsscore.h" /* for rpmtsScore */
+
+extern int _cacheDependsRC;
+
+/** \ingroup rpmts
+ */
+typedef struct diskspaceInfo_s * rpmDiskSpaceInfo;
+
+/** \ingroup rpmts
+ */
+struct diskspaceInfo_s {
+ dev_t dev; /*!< File system device number. */
+ signed long bneeded; /*!< No. of blocks needed. */
+ signed long ineeded; /*!< No. of inodes needed. */
+ int bsize; /*!< File system block size. */
+ signed long long bavail; /*!< No. of blocks available. */
+ signed long long iavail; /*!< No. of inodes available. */
+};
+
+/** \ingroup rpmts
+ * Adjust for root only reserved space. On linux e2fs, this is 5%.
+ */
+#define adj_fs_blocks(_nb) (((_nb) * 21) / 20)
+
+/* argon thought a shift optimization here was a waste of time... he's
+ probably right :-( */
+#define BLOCK_ROUND(size, block) (((size) + (block) - 1) / (block))
+
+/** \ingroup rpmts
+ * The set of packages to be installed/removed atomically.
+ */
+struct rpmts_s {
+ rpmtransFlags transFlags; /*!< Bit(s) to control operation. */
+ rpmtsType type; /*!< default, rollback, autorollback */
+
+ rpmdb sdb; /*!< Solve database handle. */
+ int sdbmode; /*!< Solve database open mode. */
+ int (*solve) (rpmts ts, rpmds key, const void * data);
+ /*!< Search for NEVRA key. */
+ const void * solveData; /*!< Solve callback data */
+ int nsuggests; /*!< No. of depCheck suggestions. */
+ const void ** suggests; /*!< Possible depCheck suggestions. */
+
+ rpmCallbackFunction notify; /*!< Callback function. */
+ rpmCallbackData notifyData; /*!< Callback private data. */
+
+ rpmps probs; /*!< Current problems in transaction. */
+ rpmprobFilterFlags ignoreSet;
+ /*!< Bits to filter current problems. */
+
+ int filesystemCount; /*!< No. of mounted filesystems. */
+ const char ** filesystems; /*!< Mounted filesystem names. */
+ rpmDiskSpaceInfo dsi; /*!< Per filesystem disk/inode usage. */
+
+ rpmdb rdb; /*!< Install database handle. */
+ int dbmode; /*!< Install database open mode. */
+ hashTable ht; /*!< Fingerprint hash table. */
+
+ int * removedPackages; /*!< Set of packages being removed. */
+ int numRemovedPackages; /*!< No. removed package instances. */
+ int allocedRemovedPackages; /*!< Size of removed packages array. */
+
+ rpmal addedPackages; /*!< Set of packages being installed. */
+ int numAddedPackages; /*!< No. added package instances. */
+
+#ifndef DYING
+ rpmal availablePackages; /*!< Universe of available packages. */
+ int numAvailablePackages; /*!< No. available package instances. */
+#endif
+
+ rpmte relocateElement; /*!< Element to use when relocating packages. */
+
+ rpmte * order; /*!< Packages sorted by dependencies. */
+ int orderCount; /*!< No. of transaction elements. */
+ int orderAlloced; /*!< No. of allocated transaction elements. */
+ int unorderedSuccessors; /*!< Index of 1st element of successors. */
+ int ntrees; /*!< No. of dependency trees. */
+ int maxDepth; /*!< Maximum depth of dependency tree(s). */
+
+ int selinuxEnabled; /*!< Is SE linux enabled? */
+ int chrootDone; /*!< Has chroot(2) been been done? */
+ const char * rootDir; /*!< Path to top of install tree. */
+ const char * currDir; /*!< Current working directory. */
+ FD_t scriptFd; /*!< Scriptlet stdout/stderr. */
+ int delta; /*!< Delta for reallocation. */
+ int32_t tid; /*!< Transaction id. */
+
+ uint32_t color; /*!< Transaction color bits. */
+ uint32_t prefcolor; /*!< Preferred file color. */
+
+ rpmVSFlags vsflags; /*!< Signature/digest verification flags. */
+
+ const char * fn; /*!< Current package fn. */
+ int32_t sigtag; /*!< Current package signature tag. */
+ int32_t sigtype; /*!< Current package signature data type. */
+ const void * sig; /*!< Current package signature. */
+ int32_t siglen; /*!< Current package signature length. */
+
+ const unsigned char * pkpkt;/*!< Current pubkey packet. */
+ size_t pkpktlen; /*!< Current pubkey packet length. */
+ unsigned char pksignid[8]; /*!< Current pubkey fingerprint. */
+
+ struct rpmop_s ops[RPMTS_OP_MAX];
+
+ pgpDig dig; /*!< Current signature/pubkey parameters. */
+
+ rpmSpec spec; /*!< Spec file control structure. */
+
+ rpmtsScore score; /*!< Transaction Score (autorollback). */
+
+ int nrefs; /*!< Reference count. */
+};
+
+#endif /* _RPMTS_INTERNAL_H */