1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
|
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2024-03-23 07:49+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: TH
#: mageia-cauldron
#, no-wrap
msgid "proc_dir_entry"
msgstr ""
#. type: TH
#: mageia-cauldron
#, no-wrap
msgid "July 1997"
msgstr ""
#. type: TH
#: mageia-cauldron
#, no-wrap
msgid "Linux 2.0.30"
msgstr ""
#. type: TH
#: mageia-cauldron
#, no-wrap
msgid "/proc Functions"
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"proc_dir_entry, proc_register, proc_register_dynamic, proc_unregister - "
"register entries in the /proc filesystem."
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "SYNOPSIS"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "B<#include E<lt>linux/proc_fs.hE<gt>>"
msgstr ""
#. type: TP
#: mageia-cauldron
#, no-wrap
msgid "B<int\\ proc_register(\\%struct\\ proc_dir_entry\\ *\\ >I<parent>B<, struct\\ proc_dir_entry\\ *\\ >I<child>B<);>"
msgstr ""
#. type: TP
#: mageia-cauldron
#, no-wrap
msgid "B<int\\ proc_unregister(\\%struct\\ proc_dir_entry\\ *\\ >I<parent>B<, int\\ >I<inode>B<);>"
msgstr ""
#. type: TP
#: mageia-cauldron
#, no-wrap
msgid "B<int\\ proc_register_dynamic(\\%struct\\ proc_dir_entry\\ *\\ >I<parent>B<, struct\\ proc_dir_entry\\ *\\ >I<child>B<);>"
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"The B<proc_register> functions add file or directory entries to the /proc "
"file system. They associate processing routines with each node of the /proc "
"tree. The structure B<proc_dir_entry> is defined as"
msgstr ""
#. type: Plain text
#: mageia-cauldron
#, no-wrap
msgid ""
"B<struct proc_dir_entry {>\n"
"B<unsigned short low_ino;>\n"
"B<unsigned short namelen;>\n"
"B<const char *name;>\n"
"B<mode_t mode;>\n"
"B<nlink_t nlink;>\n"
"B<uid_t uid;>\n"
"B<gid_t gid;>\n"
"B<unsigned long size;>\n"
"B<struct inode_operations * ops;>\n"
"B<int (*get_info)(char *buffer, char **start,>\n"
"B<off_t offset, int length, int unused);>\n"
"B<void (*fill_inode)(struct inode *);>\n"
"B<struct proc_dir_entry *next, *parent, *subdir;>\n"
"B<void *data;>\n"
"B<};>\n"
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "low_ino"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"The inode number of this directory entry. For B<proc_register> this number "
"should be unique within the /proc filesystem, values are defined in "
"I<E<lt>linux/proc_fs.hE<gt>>. For B<proc_register_dynamic> the inode number "
"is dynamically assigned."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "namelen"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "The length of the name, excluding the trailing null."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "name"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "The name of this node."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "mode"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "The node's type and permissions. Drawn from I<E<lt>linux/stat.hE<gt>>."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "nlink"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"Number of links to the node. Initialise to 2 if mode includes S_IFDIR, 1 "
"otherwise."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "uid"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "The uid that owns the node, normally 0."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "gid"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "The gid that owns the node. normally 0."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "size"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"Sets the size of the node, the value will appear as the inode size in "
"listings and be returned by B<stat>. Unless you really need a size, set "
"this to zero."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "ops"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"Defines the set of inode operations to perform for your /proc node. For a "
"directory node, use I<&proc_dir_inode_operations> unless you have special "
"requirements. For a leaf node, set to NULL unless you have special "
"requirements."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "get_info"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"If defined, this proc is called when the node is read. Should be NULL for "
"directory nodes. B<NOTE:> If you need to return large amounts of data, the "
"proc must return the data in chunks and reposition itself on the next call, "
"using the I<offset> variable. See I<ip_masq_procinfo> for example code with "
"large output."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "fill_inode"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"Dynamically fill in the inode characteristics during directory operations. "
"Not normally required and set to NULL. See proc_pid_fill_inode for example "
"code."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "next, parent, subdir"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"Maintained by /proc routines. Initial value is irrelevant, set to NULL."
msgstr ""
#. type: IP
#: mageia-cauldron
#, no-wrap
msgid "data"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"An opaque pointer which can be used by proc handlers to pass local data "
"around. Set to whatever you like when calling B<proc_register>, normally "
"NULL. This pointer is copied into the inode u.ip_generic field (by "
"proc_get_inode) so it is available to any proc routines that are passed an "
"inode."
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "B<proc_register> adds the B<child> as a node under the B<parent>."
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"B<proc_register_dynamic> dynamically assigns an inode number then adds the "
"B<child> as a node under the B<parent>."
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"B<proc_unregister> scans the inode list under the B<parent> for the "
"specified B<inode> number and removes the matching entry."
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "RETURN VALUE"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "B<proc_register> always returns 0."
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "B<proc_register_dynamic>"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"returns 0 for success or B<-EAGAIN> if there are no free dynamic inode "
"numbers."
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "B<proc_unregister>"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "returns 0 for success or B<-EINVAL> if the node was not found."
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"B<proc_net_register>(9), B<proc_net_unregister>(9), "
"B<proc_scsi_register>(9), B<proc_scsi_unregister>(9), B<stat>(2)."
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "AUTHOR"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid "Keith Owens E<lt>kaos@ocs.com.auE<gt>"
msgstr ""
#. type: SH
#: mageia-cauldron
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
#: mageia-cauldron
msgid ""
"The uniqueness of /proc inode numbers is assumed, not enforced. It is "
"possible to add two nodes with the same inode number."
msgstr ""
|