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_s * | rpmal

## Functions

rpmal | rpmalCreate (int delta)
| Initialize available packckages, items, and directory list. More...
rpmal | rpmalFree (rpmal al)
| Free available packages, items, and directory members. More...
void | rpmalDel (rpmal al, alKey pkgKey)
| Delete package from available list. More...
alKey | rpmalAdd (rpmal *alistp, alKey pkgKey, fnpyKey key, rpmds provides, rpmfi fi)
| Add package to available list. More...
void | rpmalAddProvides (rpmal al, alKey pkgKey, rpmds provides)
| Add package provides to available list index. More...
void | rpmalMakeIndex (rpmal al)
| Generate index for available list. More...
fnpyKey * | rpmalAllFileSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
| Check added package file lists for package(s) that provide a file. More...
fnpyKey * | rpmalAllSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
| Check added package file lists for package(s) that have a provide. More...
fnpyKey | rpmalSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
| Check added package file lists for first package that has a provide. More...

## 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
| ) |

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

Returns:
  available package index

Definition at line 380 of file rpmal.c.

Referenced by rpmal_Add, rpmtsAddAvailableElement, and rpmtsAddInstallElement.

void rpmalAddProvides | ( | rpmal | al,
|  | alKey | pkgKey,
|  | rpmds | provides
| ) |

Add package provides to available list index.

Parameters:

  al | available list
  pkgKey | package key
  provides | added package provides

Definition at line 541 of file rpmal.c.

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

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

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

Referenced by rpmalAdd.

void rpmalDel | ( | rpmal | al,
|  | alKey | pkgKey
| ) |

Delete package from available list.

Parameters:

  al | available list
  pkgKey | package key

Definition at line 286 of file rpmal.c.

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

Referenced by rpmal_dealloc, rpmtsClean, and rpmtsFree.

void rpmalMakeIndex | ( | rpmal | al | ) |

Generate index for available list.

Parameters:

  al | available list

Definition at line 586 of file rpmal.c.

Referenced by rpmal_MakeIndex, 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 793 of file rpmal.c.

Referenced by addRelation, and unsatisfiedDepend.

## Variable Documentation

int _rpmal_debug

| Definition at line 11 of file rpmal.h.