|
��������
ldopen, ldaopen - ������� ��������� ���� �������� ������� �� ������
���������
#include <stdio.h> #include <filehdr.h> #include <ldfcn.h> LDFILE *ldopen (filename, ldptr) char *filename; LDFILE *ldptr; LDFILE *ldaopen (filename, oldptr) char *filename; LDFILE *oldptr;
��������
������� ldopen � ldclose(3X) ������������ ��������������� ������ ��� � ��������� ��������� ������, ��� � �
��������� ������, �������� � ������ �������. � �������
���� ������� ����� ��������� ������ ����� ���� ��������� ���, ��� ���� �� �� ��� ������������������� ��������� ��������� ������ �������� �������.
���� �������� ldptr ����� �������� NULL, ������� ldopen ��������� ���� filename, ��������� � �������������� ��������� LDFILE � ���������� ��������� �� ��� ���������.
���� �������� ldptr ������������� ��������� ����� � TYPE (ldptr) �������� ���������� ������ ��������� �����, ldopen �������������� �������� LDFILE ��� ��������� ���������� �������� ������ filename.
������� ldopen � ldclose(3X) ������������� ��� ���������� ������. Ldclose ���������� �������� FAILURE ������ � ��� ������, ����� TYPE (ldptr) �������� ���������� ������ ������ � � ������ ��� ���� �������������� �����. � ���� ������������ ������ ����� �������� ldopen � ������� ��������� ldptr. �� ���� ������ �������, � ���������, ����� ����������� ���� � ����� ������, ������� �������� ldopen � ���������� ldptr, ������ NULL.
����� ������������� ldopen � ldclose(3X) ������:
/* ��� ������� �� �������������� ������ */ ldptr = NULL; do { if ((ldptr = ldopen (filename, ldpr)) == NULL) { /* ��������� ���������� ����� */ /* ���������� ���� */ } } while (ldclose (ldptr) == FAILURE);
������� ldaopen ������ ��� ���������� �������� ���������� �����. ���� �������� oldptr ������� �� NULL, ldaopen ������ ��������� ���� � ������ filename, ��������� ����� ��������� LDFILE, ������� �� ���������, ��������� � oldptr, ���� TYPE, OFFSET � HEADER, � ���������� ��������� �� ����� ���������. ������ ��������� oldptr � ����� ��������� ����� ���� ������������ ������������ � ���������� ��� ������ ������ ������ ���������� �����. ��������, ���� �� ���������� ����� ��������������� ������������ �� ���������� � ��������� ������, � ������ - �� ��������� ������� ����.
������� ldopen � ldaopen ��������� ���� �� ������. ��� ������� ���������� NULL, ���� ���� filename ������� �� �������, ��� ���� ��� ��������� LDFILE �� ������� ������. �������� �������� �� �����������, ��� ��������� ���� �������� ���������.
��� �������������� ������ ���������� ��������� ������� ���������� ���������� �������� ������� � ��������� ������ libld.a.
��. �����
fopen(3S), ldclose(3X), ldfcn(4).
|