lib/rpmal.h File Reference

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

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct 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, uint32_t tscolor)
 Add package to available list.
void rpmalAddProvides (rpmal al, alKey pkgKey, rpmds provides, uint32_t 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,
uint32_t  tscolor 
)

void rpmalAddProvides ( rpmal  al,
alKey  pkgKey,
rpmds  provides,
uint32_t  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 614 of file rpmal.c.

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

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 687 of file rpmal.c.

References _, _free(), _rpmal_debug, alloca(), alNum2Key(), fileIndexEntry_s::baseName, fileIndexEntry_s::baseNameLen, dieCompare(), dirInfo_s::dirName, dirName, dirInfo_s::dirNameLen, rpmal_s::dirs, fileIndexEntry_s::ficolor, fieCompare(), dirInfo_s::files, availablePackage_s::key, rpmal_s::list, rpmal_s::numDirs, dirInfo_s::numFiles, fileIndexEntry_s::pkgNum, RPMAL_NOMATCH, rpmdsN(), rpmdsNotify(), availablePackage_s::tscolor, 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 786 of file rpmal.c.

References _, _free(), alKey2Num(), alloca(), availableIndexEntry_s::entry, availableIndexEntry_s::entryIx, availableIndexEntry_s::entryLen, availableIndex_s::index, rpmal_s::index, indexcmp(), availablePackage_s::key, rpmal_s::list, availableIndexEntry_s::pkgKey, availablePackage_s::provides, RPMAL_NOMATCH, rpmalAllFileSatisfiesDepend(), 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 195 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 
)

rpmal rpmalFree ( rpmal  al  ) 

Free available packages, items, and directory members.

Parameters:
al available list
Returns:
NULL always

Definition at line 213 of file rpmal.c.

References _free(), rpmal_s::alloced, 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  ) 

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 872 of file rpmal.c.

References rpmalAllSatisfiesDepend().

Referenced by addRelation(), and unsatisfiedDepend().


Variable Documentation

Definition at line 21 of file rpmal.c.


Generated on Tue Apr 21 04:26:49 2009 for rpm by  doxygen 1.5.8