Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

LDFCN(4)

��������
ldfcn - ��������� ������� � �� ������ ������ �������� �������

���������

#include <stdio.h>
#include <filehdr.h>
#include <ldfcn.h>

��������
��������� ������� � �� ������ ������ �������� ������� ��� ������������ �������, �������������� ������ �� ������ ������ � �������, ���������� ��������� �����. ���� ���������� ��������� ������ "�����" ������ ��������� �������������� �� ������ �� ������� �����, ������������� �������� ������� ��������� ������������� ������ ��������� ����� � �����.

��������� ����� ���������� ���������� � ����������� ������� ������� �� ������������ ���� LDFILE. ��� ��������� �� ���������� ����� <ldfcn.h> ��� ��������� struct ldfile. �������� ���������� ���� ��������� - ���������� ��������������� ������ ��� � ��������� �� ������ ������, ��� � � ������� ��������� ������.

������� ldopen(3X) ��������� � �������������� ��������� LDFILE, ��������� � ���������� ��������� ��������� �� ���������. ������ � ����� ��������� LDFILE �������������� ���������, ������������� � <ldfcn.h>:

LDFILE *ldptr;
TYPE (ldptr)
���������� �����, �������� ��� ���������� ��������� ������ � ��������� ��������� ������.
IOPTR (ldptr)
��������� �� ����, ������������ �������� fopen, � ������������ ������������ ��������� �����/������.
OFFSET (ldptr)
�������� ����� ������ ���������� �����; �� 0, ���� ���� �������� ��������� ������.
HEADER (ldptr)
��������� ��������� ���������� �����.

������� ������� �������������� �� 4 ������:

  1. �������� � �������� ���������� �����:
    ldopen(3X) � ldaopen [��. ldopen(3X)]
    (�������� ���������� �����);
    ldclose(3X) � ldaclose [��. ldclose(3X)]
    (�������� ���������� �����).
  2. ������ ����������, ������ �� ������� ���� � ���������� � ������� �����:
    ldahread(3X)
    (������ ��������� ��������� �������� ��������� �����);
    ldfhread(3X)
    (������ ��������� ���������� �����);
    ldshread(3X) � ldnshread [��. ldshread(3X)]
    (������ ��������� ������ ���������� �����);
    ldtbread(3X)
    (������ �������� ������� ���� ��������� �����);
    ldgetname(3X)
    (��������� �������������� ����� �� �������� ������� ���� ��� �� ������� �������);
    ldlread(3X), ldlinit, ldlitem [��. ldlread(3X)]
    (������ � �������� ������� �����).
  3. ����� ������ ������, ���������� � ��������� ������ ��� ������� ������� �����, ����������� � ������������ ������:
    ldohseek(3X)
    (����� ��������������� ��������� ���������� �����);
    ldsseek(3X) � ldnsseek [��. ldsseek(3X)]
    (����� ������ ���������� �����);
    ldrseek(3X) � ldnrseek [��. ldrseek(3X)]
    (����� ���������� � ��������� ������);
    ldlseek(3X) � ldnlseek [��. ldlseek(3X)]
    (����� ������� ������� �����);
    ldtbseek(3X)
    (����� ������� ���� ���������� �����).
  4. ��������� ������� �������� ������� ���� �� ������� �����:
    ldtbindex(3X)

��� ������� �������� ������� � ��������������� �������� �����������.

����� ��������� ������ (��������� ������� ������) ������� ������� � ����� ��������������� �� ������ ��������� ����������.

��� �������, ����� ldopen(3X), ldgetname(3X)ldtbindex(3X), ���������� �������� SUCCESS ��� FAILURE (��� ��������� ���������� �� ���������� ����� <ldfcn.h>). Ldopen(3�) � ldaopen [��. ldopen(3�)] ���������� ��������� �� ��������� LDFILE.

�������������� �������� ������� � ���������� ����� �������������� ������� ��������, ������������ � ����� <ldfcn.h>. ��� ������� �������� ������� ��������� ����������� ������� �����/������, �������������� ������ � ��������� ������. ������� ���������� ���� ����������� ����� �� ��������� LDFILE.

��������������� ��������� �������:

     GETC (ldptr)
     FGETC (ldptr)
     GETW (ldptr)
     UNGETC (c, ldptr)
     FGETS (ldptr)
     FREAD ((char *) ptr, sizeof (*ptr), nitems, ldptr)
     FSEEK (ldptr, offset, ptrname)
     FTELL (ldptr)
     REWIND (ldptr)
     FEOF (ldptr)
     FERROR (ldptr)
     FILENO (ldptr)
     SETBUF (ldptr, buf)
     STROFFSET (ldptr)

������ STROFFSET ��������� ����� ������� �������. ������������ ������ �������� ������� ���������� � ��������� ��������������� ����������� ������� �����/������.

��� �������������� ������ ���������� ��������� ������� ���������� ���������� �������� ������� � ��������� ������ libld.a.

��. �����
fseek(3S), ldahread(3X), ldclose(3X), ldgetname(3X), ldfhread(3X), ldlread(3X), ldlseek(3X), ldohseek(3X), ldopen(3X), ldrseek(3X), ldsseek(3X), ldshread(3X), ldtbindex(3X), ldtbread(3X), ldtbseek(3X), stdio(3S), intro(5).

���������������
������ FSEEK, ������������ � ����� <ldfcn.h>, ���������� � ����������� ������� �����/������ fseek(3S). ������ ������������ FSEEK ��� ���������������� ������������ ����� ��������� �����, ��������� ����� ��������� ����� �� ����������� ��������� � ������ ������ �� ������������ � ������ ��������� ������.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT