|
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | | -<!-- EN-Revision: e41806c30bf6975e452c0d4ce35ab0984c2fa68c Maintainer: rjhdby Status: ready --> |
| 2 | +<!-- EN-Revision: e2f2172bf114599926878017ab2dce356956fa9e Maintainer: rjhdby Status: ready --> |
3 | 3 | <!-- Reviewed: no --> |
4 | 4 | <refentry xml:id="function.dio-open" xmlns="http://docbook.org/ns/docbook"> |
5 | 5 | <refnamediv> |
6 | 6 | <refname>dio_open</refname> |
7 | 7 | <refpurpose> |
8 | | - Открывает файл (по необходимости создаёт) на более низком уровне нежели |
9 | | - потоковые функции ввода/вывода языка C |
| 8 | + Открывает или создаёт файл на уровне ниже, |
| 9 | + чем потоковые функции ввода-вывода библиотеки языка C |
10 | 10 | </refpurpose> |
11 | 11 | </refnamediv> |
12 | 12 | <refsect1 role="description"> |
|
18 | 18 | <methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>0</initializer></methodparam> |
19 | 19 | </methodsynopsis> |
20 | 20 | <para> |
21 | | - <function>dio_open</function> открывает файл и возвращает его дескриптор. |
| 21 | + Функция <function>dio_open</function> открывает файл и возвращает файловый дескриптор. |
22 | 22 | </para> |
23 | 23 | </refsect1> |
24 | 24 | <refsect1 role="parameters"> |
|
29 | 29 | <term><parameter>filename</parameter></term> |
30 | 30 | <listitem> |
31 | 31 | <para> |
32 | | - Путь открываемого файла. |
| 32 | + Путь к файлу, который требуется открыть. |
33 | 33 | </para> |
34 | 34 | </listitem> |
35 | 35 | </varlistentry> |
36 | 36 | <varlistentry> |
37 | 37 | <term><parameter>flags</parameter></term> |
38 | 38 | <listitem> |
39 | 39 | <para> |
40 | | - Параметр <parameter>flags</parameter> задаётся побитовой |
41 | | - комбинацией констант. Он <emphasis>должен</emphasis> включать одну из констант |
42 | | - <constant>O_RDONLY</constant>, <constant>O_WRONLY</constant> |
43 | | - или <constant>O_RDWR</constant>. Дополнительно он может |
44 | | - содержать другие константы. |
| 40 | + Параметр <parameter>flags</parameter> принимает объединённую побитовым оператором ИЛИ |
| 41 | + комбинацию следующих флагов. В комбинацию <emphasis>обязательно</emphasis> включают |
| 42 | + константу <constant>O_RDONLY</constant>, <constant>O_WRONLY</constant> |
| 43 | + или <constant>O_RDWR</constant> и дополнительно указывают |
| 44 | + произвольную комбинацию других флагов из списка. |
45 | 45 | <itemizedlist> |
46 | 46 | <listitem> |
47 | 47 | <para> |
48 | | - <constant>O_RDONLY</constant> - открыть файл на чтение. |
| 48 | + <constant>O_RDONLY</constant> — открыть файл на чтение. |
49 | 49 | </para> |
50 | 50 | </listitem> |
51 | 51 | <listitem> |
52 | 52 | <para> |
53 | | - <constant>O_WRONLY</constant> - открыть файл на запись. |
| 53 | + <constant>O_WRONLY</constant> — открыть файл на запись. |
54 | 54 | </para> |
55 | 55 | </listitem> |
56 | 56 | <listitem> |
57 | 57 | <para> |
58 | | - <constant>O_RDWR</constant> - открыть файл на чтение и запись. |
| 58 | + <constant>O_RDWR</constant> — открыть файл на чтение и запись. |
59 | 59 | </para> |
60 | 60 | </listitem> |
61 | 61 | <listitem> |
62 | 62 | <para> |
63 | | - <constant>O_CREAT</constant> - создать файл, если его не существует. |
| 63 | + <constant>O_CREAT</constant> — создать файл, если не существует. |
64 | 64 | </para> |
65 | 65 | </listitem> |
66 | 66 | <listitem> |
67 | 67 | <para> |
68 | | - <constant>O_EXCL</constant> - если заданы и <constant>O_CREAT</constant> |
69 | | - и <constant>O_EXCL</constant> и файл существует, то |
70 | | - <function>dio_open</function> завершится с ошибкой. |
| 68 | + <constant>O_EXCL</constant> — функция <function>dio_open</function> выдаст ошибку, |
| 69 | + если установили флаги <constant>O_CREAT</constant> |
| 70 | + и <constant>O_EXCL</constant>, и файл существует. |
71 | 71 | </para> |
72 | 72 | </listitem> |
73 | 73 | <listitem> |
74 | 74 | <para> |
75 | | - <constant>O_TRUNC</constant> - если файл существует и был открыт на запись, то |
76 | | - он будет обрезан до нулевой длины. |
| 75 | + <constant>O_TRUNC</constant> — при открытии существующего файла на запись |
| 76 | + функция усечёт файл до нулевой длины. |
77 | 77 | </para> |
78 | 78 | </listitem> |
79 | 79 | <listitem> |
80 | 80 | <para> |
81 | | - <constant>O_APPEND</constant> - операции записи будут происходить в конец файла. |
| 81 | + <constant>O_APPEND</constant> — запись в конец файла. |
82 | 82 | </para> |
83 | 83 | </listitem> |
84 | 84 | <listitem> |
85 | 85 | <para> |
86 | | - <constant>O_NONBLOCK</constant> - установить неблокирующий режим. |
| 86 | + <constant>O_NONBLOCK</constant> — установить неблокирующий режим. |
87 | 87 | </para> |
88 | 88 | </listitem> |
89 | 89 | <listitem> |
90 | 90 | <para> |
91 | | - <constant>O_NOCTTY</constant> - запрещает операционной системе |
92 | | - считать открытый файл за терминал контроля процесса, если был открыт |
93 | | - файл устройства TTY. |
| 91 | + <constant>O_NOCTTY</constant> — запрещает операционной системе |
| 92 | + назначать открытый файл как терминал контроля процесса, |
| 93 | + если открыли файл устройства TTY. |
94 | 94 | </para> |
95 | 95 | </listitem> |
96 | 96 | </itemizedlist> |
|
101 | 101 | <term><parameter>mode</parameter></term> |
102 | 102 | <listitem> |
103 | 103 | <para> |
104 | | - Если <parameter>flags</parameter> содержит |
105 | | - <constant>O_CREAT</constant>, <parameter>mode</parameter> установит |
106 | | - разрешения для файла (creation permissions). <parameter>mode</parameter> |
107 | | - требуется для корректной работы в случае указания <constant>O_CREAT</constant> |
108 | | - в <parameter>flags</parameter> и в других случаях будет проигнорирован. |
| 104 | + При передаче в параметр <parameter>flags</parameter> |
| 105 | + значения <constant>O_CREAT</constant> параметр <parameter>mode</parameter> установит для файла |
| 106 | + права доступа с учётом системных ограничений на установку прав для вновь создаваемых файлов. |
| 107 | + Параметр <parameter>mode</parameter> требуется для правильной работы функции |
| 108 | + при передаче в параметр <parameter>flags</parameter> |
| 109 | + значения <constant>O_CREAT</constant>, а в остальных случаях игнорируется. |
109 | 110 | </para> |
110 | 111 | <para> |
111 | | - Актуальные разрешения, которые будут присвоены созданному файлу, будут |
112 | | - зависеть от настройки <emphasis>umask</emphasis> процесса, как обычно. |
| 112 | + Фактические разрешения, которые назначаются вновь созданному файлу, |
| 113 | + стандартно зависят от настройки маски прав доступа <emphasis>umask</emphasis> для процесса. |
113 | 114 | </para> |
114 | 115 | </listitem> |
115 | 116 | </varlistentry> |
|
119 | 120 | <refsect1 role="returnvalues"> |
120 | 121 | &reftitle.returnvalues; |
121 | 122 | <para> |
122 | | - Файловый дескриптор или &false; в случае возникновения ошибки. |
| 123 | + Функция возвращает дескриптор файла или &false;, если возникла ошибка. |
123 | 124 | </para> |
124 | 125 | </refsect1> |
125 | 126 | <refsect1 role="examples"> |
126 | 127 | &reftitle.examples; |
127 | 128 | <example> |
128 | | - <title>Открытие файлового дескриптора</title> |
| 129 | + <title>Пример открытия файлового дескриптора</title> |
129 | 130 | <programlisting role="php"> |
130 | 131 | <![CDATA[ |
131 | 132 | <?php |
132 | 133 |
|
133 | 134 | $fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK); |
134 | 135 |
|
135 | 136 | dio_close($fd); |
136 | | -?> |
137 | 137 | ]]> |
138 | 138 | </programlisting> |
139 | 139 | </example> |
|
0 commit comments