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

FCNTL(5)

��������
fcntl - ����� ���������� �������

���������

        #include <fcntl.h>

��������
��������� ����� fcntl(2) ������������ ��� ���������� ��������� �������. �� ���������� ����� <fcntl.h> ������� ������� � ��������� ��� ��������� ������� fcntl(2)open(2).

�����, ��������� open(2)fcntl(2)

/* ������ ��� ����� ����� ���� ����������� ������ ��� �������� ����� */
        
        #define O_RDONLY 0
        #define O_WRONLY 1
        #define O_RDWR   2
        #define O_NDELAY 04  /* ������������� ����/����� */
        #define O_APPEND 010 /* ���������  (�������������,  ���
                      ������  �����  �������������  �
                      ����� �����) */
        #define O_SYNC   020 /* ���� ���������� ������ */

�����, ��������� ������ open(2)

        #define O_CREAT   00400 /* ������� � ������� ����,  ��- 
                         �������    ������   ��������
                         open(2), ���  �����  ������� */
        #define O_TRUNC   01000 /* ������� � ������������ */
        #define O_EXCL    02000 /* ���� ���������������� */

������� � fcntl(2)

        
        #define F_DUPFD    0 /* ����������� ���������� ����� */
        #define F_GETFD    1 /* �������� ����� �����  �  ������
                      ������������ */
        #define F_SETFD    2 /* ���������� ����� ����� � ������
                      ������������ */
        #define F_GETFL    3 /* �������� ����� ����� */
        #define F_SETFL    4 /* ���������� ����� ����� */
        #define F_GETLK    5 /* ��������  ���������  ����������
                      ����� */
        #define F_SETLK    6 /* ���������� ���������� ����� */
        #define F_SETLKW   7 /* ���������� ����������  �����  �
                      ����� */
        #define F_CHKFL    8 /* ��������� ������������  ������- 
                      ��� ������ ����� */
        #define F_ALLOCSP 10 /* �������������� */
        #define F_FREESP  11 /* �������������� */

��������� �������� �� ����������� �������� �����, ���������� ���������� ������������� �������

struct flock {
 short l_type;
 short l_whence;
 long  l_start;
 long  l_len;   /* ���� 0, �� �� ����� ����� */
 short l_sysid; /* ������������ �� ������� F_GETLK */
 short l_pid;   /* ������������ �� ������� F_GETLK */
};
���� ���������� �������� �����
        #define F_RDLCK 01 /* ���������� �� ������ */
        #define F_WRLCK 02 /* ���������� �� ������ */
        #define F_UNLCK 03 /* ���������� �� �������� */

��. �����
fcntl(2), open(2).
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT