� ������� �������� ���� ���������� �� ����� �������� ���������� �� ������������� ������� � �� RPM � ������� ���������. ��� �������� ��������� ���������� rpmtsInitIterator:
rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, |
� ������ ������� ������, ����� ��� (����� ����, �������� ��� ������) �� ����� ����������. ��� �������, ��� ��� ������, RPMTAG_NAME. ������ � ��������������� ���� �� ������ �������� ��� ������. keypointer ���������� � ����������� �� ����, ����� ��� �������.
��� ��������� ������ ����� �������� 0 � ��������� keylen. ��������, ���� ���������� �����������, � ������� rpmtsInitIterator ���� ��� ������, ������������ sendmail:
rpmdbMatchIterator iter; |
rpmdbMatchIterator ��������� �������� ��������� �������, � ������ ������ ��������� ������, � ������ ������� ������� �������� ������. ����� ������ rpmtsInitIterator ��������� ����� ����� ����� rpmdbNextIterator:
Header rpmdbNextIterator(rpmdbMatchIterator iter); |
��� ������� ���������� ��������� � ��������� ������ ������. ���� � ��������� ������ ��� �������, ���������� ��������, �������� NULL.
���� Header - �� NULL, �� ������� ����� �������� ������, ��� ���� �������� � ���������� ������. ����������� ���� ��� ������ ���� �������, ���������� �������:
while ( (installed_header = rpmdbNextIterator(iter) ) != NULL) { |
��� ����� ����������� ������ ����� �������������, ��� ��� ������ ��������� ����� rpmdbNextIterator ����������� Header.
����������� ������ ��������� �������� ���������� ��� ���� �����. ��� ���������� ������� � �������� ������������ rpmdbSetIteratorRE:
int rpmdbSetIteratorRE(rpmdbMatchIterator iter, |
����� rpmdbSetIteratorRE �������� ���������� �������� ����� �������, ����� ������������� �������������� ������. �������� mode ������� ��� �������. �� ����� ���� ����� ��:
��� |
�������� |
RPMMIRE_DEFAULT |
�� ��, ��� � ���������� ���������, � ����������� \., .*, � ^..$ |
RPMMIRE_GLOB |
������ � ����� glob � �������������� fnmatch |
RPMMIRE_REGEX |
���������� ��������� � �������������� regcomp |
RPMMIRE_STRCMP |
��������� ����� � �������������� strcmp |
��� ��������� �������������� ���������� �� ������ ����� �������� �������������� man-��� ��� fnmatch(3), glob(7), regcomp(3), regex(7), � strcmp(3).
����� ������������� �������� ������ ���� ����������:
rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator iter); |
����� rpmdbFreeIterator ���������� NULL.
����� - ��� �����������
����� - ���������������� � �� RPM
����������