Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/rpmal.h File Reference

Structures used for managing added/available package lists. More...

Go to the source code of this file.

Typedefs

typedef rpmal_srpmal

Functions

rpmal rpmalCreate (int delta)
 Initialize available packckages, items, and directory list.

rpmal rpmalFree (rpmal al)
 Free available packages, items, and directory members.

void rpmalDel (rpmal al, alKey pkgKey)
 Delete package from available list.

alKey rpmalAdd (rpmal *alistp, alKey pkgKey, fnpyKey key, rpmds provides, rpmfi fi, uint_32 tscolor)
 Add package to available list.

void rpmalAddProvides (rpmal al, alKey pkgKey, rpmds provides, uint_32 tscolor)
 Add package provides to available list index.

void rpmalMakeIndex (rpmal al)
 Generate index for available list.

fnpyKeyrpmalAllFileSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
 Check added package file lists for package(s) that provide a file.

fnpyKeyrpmalAllSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
 Check added package file lists for package(s) that have a provide.

fnpyKey rpmalSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
 Check added package file lists for first package that has a provide.


Variables

int _rpmal_debug


Detailed Description

Structures used for managing added/available package lists.

Definition in file rpmal.h.


Typedef Documentation

typedef struct rpmal_s* rpmal
 

Definition at line 16 of file rpmal.h.


Function Documentation

alKey rpmalAdd rpmal   alistp,
alKey    pkgKey,
fnpyKey    key,
rpmds    provides,
rpmfi    fi,
uint_32    tscolor
 

Add package to available list.

Parameters:
alistp  address of available list
pkgKey  package key, RPMAL_NOMATCH to force an append
key  associated file name/python object
provides  provides dependency set
fi  file info set
tscolor  transaction color bits
Returns:
available package index

Definition at line 379 of file rpmal.c.

References alKey, alKey2Num(), alloca(), rpmal_s::alloced, alNum, fileIndexEntry_s::baseName, fileIndexEntry_s::baseNameLen, rpmal_s::delta, die(), dieCompare(), dirInfo_s::dirName, dirInfo_s::dirNameLen, rpmal_s::dirs, availablePackage_s::fi, fileIndexEntry_s::ficolor, fieCompare(), dirInfo_s::files, fnpyKey, availablePackage_s::key, rpmal_s::list, rpmal_s::numDirs, dirInfo_s::numFiles, fileIndexEntry_s::pkgNum, availablePackage_s::provides, RPMAL_NOMATCH, rpmalCreate(), rpmalDel(), rpmalFreeIndex(), rpmds, rpmdsLink, rpmfi, rpmfiBN(), rpmfiDC(), rpmfiDN(), rpmfiDX(), rpmfiFC(), rpmfiFColor(), rpmfiInit(), rpmfiLink, rpmfiNext(), rpmfiSetDX(), rpmfiUnlink, rpmal_s::size, availablePackage_s::tscolor, uint_32, xrealloc(), and xstrdup().

Referenced by rpmal_Add(), rpmtsAddAvailableElement(), and rpmtsAddInstallElement().

void rpmalAddProvides rpmal    al,
alKey    pkgKey,
rpmds    provides,
uint_32    tscolor
 

Add package provides to available list index.

Parameters:
al  available list
pkgKey  package key
provides  added package provides
tscolor  transaction color bits

Definition at line 541 of file rpmal.c.

References alKey, alKey2Num(), alNum, availableIndexEntry_s::entry, availableIndexEntry_s::entryIx, availableIndexEntry_s::entryLen, availableIndex_s::index, rpmal_s::index, availableIndex_s::k, availableIndexEntry_s::pkgKey, rpmds, rpmdsColor(), rpmdsInit(), rpmdsIx(), rpmdsN(), rpmdsNext(), availableIndex_s::size, rpmal_s::size, availableIndexEntry_s::type, and uint_32.

Referenced by rpmal_AddProvides(), and rpmalMakeIndex().

fnpyKey* rpmalAllFileSatisfiesDepend const rpmal    al,
const rpmds    ds,
alKey   keyp
 

Check added package file lists for package(s) that provide a file.

Parameters:
al  available list
ds  dependency set
Return values:
keyp  added package key pointer (or NULL)
Returns:
associated package key(s), NULL if none

Definition at line 610 of file rpmal.c.

References _, _free(), alKey, alloca(), alNum2Key(), fileIndexEntry_s::baseName, fileIndexEntry_s::baseNameLen, die(), dieCompare(), dirInfo_s::dirName, dirInfo_s::dirNameLen, rpmal_s::dirs, fileIndexEntry_s::ficolor, fieCompare(), dirInfo_s::files, fnpyKey, availablePackage_s::key, rpmal_s::list, rpmal_s::numDirs, dirInfo_s::numFiles, fileIndexEntry_s::pkgNum, RPMAL_NOMATCH, rpmds, rpmdsN(), rpmdsNotify(), availablePackage_s::tscolor, uint_32, xrealloc(), and xstrdup().

Referenced by rpmalAllSatisfiesDepend().

fnpyKey* rpmalAllSatisfiesDepend const rpmal    al,
const rpmds    ds,
alKey   keyp
 

Check added package file lists for package(s) that have a provide.

Parameters:
al  available list
ds  dependency set
Return values:
keyp  added package key pointer (or NULL)
Returns:
associated package key(s), NULL if none

Definition at line 711 of file rpmal.c.

References _, alKey, alKey2Num(), alloca(), availableIndexEntry_s::entry, availableIndexEntry_s::entryIx, availableIndexEntry_s::entryLen, fnpyKey, availableIndex_s::index, rpmal_s::index, indexcmp(), availablePackage_s::key, rpmal_s::list, availableIndexEntry_s::pkgKey, availablePackage_s::provides, RPMAL_NOMATCH, rpmalAllFileSatisfiesDepend(), rpmds, rpmdsCompare(), rpmdsN(), rpmdsNext(), rpmdsNotify(), rpmdsSetIx(), availableIndex_s::size, availableIndexEntry_s::type, and xrealloc().

Referenced by checkPackageDeps(), rpmalSatisfiesDepend(), and rpmtsAvailable().

rpmal rpmalCreate int    delta
 

Initialize available packckages, items, and directory list.

Parameters:
delta  no. of entries to add on each realloc
Returns:
al new available list

Definition at line 187 of file rpmal.c.

References rpmal_s::alloced, rpmal_s::delta, rpmal_s::dirs, availableIndex_s::index, rpmal_s::index, rpmal_s::list, rpmal_s::numDirs, availableIndex_s::size, rpmal_s::size, and xcalloc().

Referenced by rpmalAdd().

void rpmalDel rpmal    al,
alKey    pkgKey
 

Delete package from available list.

Parameters:
al  available list
pkgKey  package key

Definition at line 285 of file rpmal.c.

References _free(), alKey, alKey2Num(), alloca(), alNum, die(), dieCompare(), dirInfo_s::dirName, dirInfo_s::dirNameLen, rpmal_s::dirs, availablePackage_s::fi, dirInfo_s::files, rpmal_s::list, rpmal_s::numDirs, dirInfo_s::numFiles, fileIndexEntry_s::pkgNum, availablePackage_s::provides, rpmdsFree(), rpmfi, rpmfiDC(), rpmfiDN(), rpmfiFC(), rpmfiFree(), rpmfiSetDX(), and xrealloc().

Referenced by rpmal_Del(), and rpmalAdd().

rpmal rpmalFree rpmal    al
 

Free available packages, items, and directory members.

Parameters:
al  available list
Returns:
NULL always

Definition at line 205 of file rpmal.c.

References _free(), rpmal_s::alloced, die(), dirInfo_s::dirName, rpmal_s::dirs, availablePackage_s::fi, dirInfo_s::files, rpmal_s::list, rpmal_s::numDirs, availablePackage_s::provides, rpmalFreeIndex(), rpmdsFree(), rpmfiFree(), and rpmal_s::size.

Referenced by rpmal_dealloc(), rpmtsClean(), and rpmtsFree().

void rpmalMakeIndex rpmal    al
 

Generate index for available list.

Parameters:
al  available list

Definition at line 582 of file rpmal.c.

References alKey, availableIndex_s::index, rpmal_s::index, indexcmp(), availableIndex_s::k, rpmal_s::list, availablePackage_s::provides, rpmalAddProvides(), rpmdsCount(), rpmal_s::size, availableIndex_s::size, availablePackage_s::tscolor, and xrealloc().

Referenced by rpmal_MakeIndex(), rpmts_Check(), rpmtsCheck(), rpmtsOrder(), and unsatisfiedDepend().

fnpyKey rpmalSatisfiesDepend const rpmal    al,
const rpmds    ds,
alKey   keyp
 

Check added package file lists for first package that has a provide.

Todo:
Eliminate.
Parameters:
al  available list
ds  dependency set
Return values:
keyp  added package key pointer (or NULL)
Returns:
associated package key, NULL if none

Definition at line 798 of file rpmal.c.

References alKey, fnpyKey, rpmalAllSatisfiesDepend(), and rpmds.

Referenced by addRelation(), and unsatisfiedDepend().


Variable Documentation

int _rpmal_debug
 

Definition at line 11 of file rpmal.h.


Generated on Sun Oct 26 13:02:05 2003 for rpm by doxygen1.2.18