# rpmal.h File Reference

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

`#include <rpm/rpmtypes.h>`

Include dependency graph for rpmal.h:

Go to the source code of this file.

## Defines
#define | RPMAL_NOMATCH ((rpmalKey)-1L)
## Typedefs
typedef intptr_t | rpmalNum
| * An added/available package retrieval index.
## 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, rpmalKey pkgKey)
| Delete package from available list.
rpmalKey | rpmalAdd (rpmal *alistp, rpmalKey pkgKey, fnpyKey key, rpmds provides, rpmfi fi, rpm_color_t tscolor)
| Add package to available list.
void | rpmalAddProvides (rpmal al, rpmalKey pkgKey, rpmds provides, rpm_color_t tscolor)
| Add package provides to available list index.
void | rpmalMakeIndex (rpmal al)
| Generate index for available list.
fnpyKey * | rpmalAllFileSatisfiesDepend (const rpmal al, const rpmds ds, rpmalKey *keyp)
| Check added package file lists for package(s) that provide a file.
fnpyKey * | rpmalAllSatisfiesDepend (const rpmal al, const rpmds ds, rpmalKey *keyp)
| Check added package file lists for package(s) that have a provide.
fnpyKey | rpmalSatisfiesDepend (const rpmal al, const rpmds ds, rpmalKey *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.

## Define Documentation

#define RPMAL_NOMATCH ((rpmalKey)-1L)

Definition at line 17 of file rpmal.h.

## Typedef Documentation

typedef intptr_t rpmalNum

* An added/available package retrieval index.

Definition at line 22 of file rpmal.h.

## Function Documentation

rpmalKey rpmalAdd | ( | rpmal * | alistp,
|  | rpmalKey | pkgKey,
|  | fnpyKey | key,
|  | rpmds | provides,
|  | rpmfi | fi,
|  | rpm_color_t | 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

void rpmalAddProvides | ( | rpmal | al,
|  | rpmalKey | pkgKey,
|  | rpmds | provides,
|  | rpm_color_t | tscolor |
| ) |  |  |

Add package provides to available list index.

Parameters:

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

fnpyKey* rpmalAllFileSatisfiesDepend | ( | const rpmal | al,
|  | const rpmds | ds,
|  | rpmalKey * | 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

fnpyKey* rpmalAllSatisfiesDepend | ( | const rpmal | al,
|  | const rpmds | ds,
|  | rpmalKey * | 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

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

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

Delete package from available list.

Parameters:

  | al | available list
  | pkgKey | package key

rpmal rpmalFree | ( | rpmal | al | ) |

Free available packages, items, and directory members.

Parameters:

  | al | available list

Returns:
  NULL always

void rpmalMakeIndex | ( | rpmal | al | ) |

Generate index for available list.

Parameters:

  | al | available list

fnpyKey rpmalSatisfiesDepend | ( | const rpmal | al,
|  | const rpmds | ds,
|  | rpmalKey * | 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

## Variable Documentation

int _rpmal_debug