|
��������
getmsg - ���������� ��������� �� ������, ���������������� � �����������������
���������
#include <stropts.h> int getmsg (fd, ctlptr, dataptr, flags) int fd; struct strbuf *ctlptr; struct strbuf *dataptr; int *flags;
��������
��������� ����� getmsg ��������� ��������� �� �������
������ � ������ ������, ���������������� � ����������������� [��. intro(2)], � �������� ��� � ������, ��������� �������������. ��������� ����� �������� �� ����
������: ������� ������ � ����������� �������, �������
���������� � ������ ������ (��. ����). ��������� ������
����� ������������ ������� ������, ����������� ���������.
�������� fd ������ ���������� �����, ��������������� � �������� �������.
������ �� ���������� ctlptr � dataptr �������� ���������� �� ��������� ���� strbuf, ���������� ��������� ����������:
int maxlen; /* ������������ ����� ������ */ int len; /* ����� ����������� ���������� */ char *buf; /* ��������� �� ����� */
��������� buf ��������� �� �����, � ������� ������ ���� �������� ������ ��� ����������� ����������, � maxlen ������ ������ ������ � ������. ������������ �������� len �������� ���������� ���� ������ ��� ����������� ����������, ������� ���������� ���� �������� � �����, ��� 0, ���� ������� ������ ��� ����������� ������� ����� ������� �����, ��� -1, ���� ������� ������ ��� ����������� ������� ����������� � ������ ���������.
����������, �� ������� ��������� �������� flags, ����� ���� ��������� ��� ��������: 0 ��� RS_HIPRI (��. ����).
��������� ctlptr ������������ ��� ���������� ����������� ������� ���������, dataptr - ��� ���������� ������� ������. ���� ctlptr (��� dataptr) ����� NULL, ��� ��������� maxlen ����� -1, ����������� ������� (��� ������� ������) �� ��������������; ��� �������� � ������� ������ ������, � len ��������������� ������ -1. ���� ��������� maxlen ����� 0, � ����������� ������� (��� ������� ������) �������� ��������� ����� ����, ��� �������� � ������� ������ ������, � len ��������������� ������ 0. ���� maxlen ������, ��� ������ ����������� ������� (������� ������), ����������� ������ maxlen ����. � ���� ������ ���������� ����� �������� � ������� ������ ������ � ������������ ��������� ��������, ��� ��� ������� ���� � ������ �����������. ���� ���������� ����������� �� ������������� ���������, �� ����������, �� ������� ��������� �������� flags, ������� �������� RS_HIPRI.
�� ��������� ��������� ����� getmsg ��������� �� ������� ������ � ������ ������ ���������, ���������� �� ����, �������� ��� ������������ ��� ���. ������������, ������, ����� ����������� ������ ������ ������������� ���������, ��������� �� ������ flags �������� RS_HIPRI. � ���� ������ ����� ��������� ������ �� ������������ ���������, ������� � �������, ���� ���� ����� ��� ��������� ��������� ��������������.
���� �� ���������� ����� ������� ��� �������� (���� O_NDELAY), �������, ��������� getmsg, ������������� �� ��� ���, ���� ��������� ���������� ���� (������������ ��� �����) �� �������� � ������� ������ � ������ ������. ���� ���� O_NDELAY ����������, � ��������� ���������� ���� � ������� ������ ���, getmsg ����������� �������� � ����������� ���������� errno �������� EAGAIN.
���� � ������, �� �������� ����������� ���������, ���������� ������������ �����, �� ��������� ����� getmsg ����� ��������� ��������, ���� ������� ������ � ������ �� ������ ������. ����� ����� getmsg �������� 0 ����������� len ��� ��������, �� ������� ��������� ��������� ctlptr � dataptr.
��������� ����� getmsg ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:
����� ����, ��������� ����� getmsg ����������� ��������, ����, �� ��������� � getmsg, � ������ ������ �������� ��������� �� ������ ����������������. � ���� ������ ���������� errno ������������� ��������, ������������ � ���������.
��. �����
intro(2), read(2), poll(2), putmsg(2), write(2).
�����������
��� �������� ���������� ������������ ���������������
����� ��������. �������� 0 ��������, ��� ��� ���������
���� ������� ���������. ��������, ������ MORECTL, ��������, ��� �������� ������������� ����� ����������� �������. ��������, ������ MOREDATA, ��������, ��� �������� ������������� ����� ������� ������. ��������, ������ MOREDATA | MORECTL, ��������, ��� �������� ������������� ��� ����� ������� ������, ��� � ����� ����������� �������. ����������� ������ getmsg ��������� ������� ������� ���������.
� ������ ������ ������������ -1, � ���������� errno ������������� ��� ������.
|