OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.54
[linuxjm/LDP_man-pages.git] / po4a / linux_module / po / linux_module.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2013-09-28 04:06+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man2/create_module.2:10
21 #, no-wrap
22 msgid "CREATE_MODULE"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man2/create_module.2:10 build/C/man2/get_kernel_syms.2:10
27 #, no-wrap
28 msgid "2012-10-18"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25 build/C/man2/get_kernel_syms.2:10 build/C/man2/init_module.2:27 build/C/man2/query_module.2:10
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25 build/C/man2/get_kernel_syms.2:10 build/C/man2/init_module.2:27 build/C/man2/query_module.2:10
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man2/create_module.2:11 build/C/man2/delete_module.2:26 build/C/man2/get_kernel_syms.2:11 build/C/man2/init_module.2:28 build/C/man2/query_module.2:11
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man2/create_module.2:13
51 msgid "create_module - create a loadable module entry"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man2/create_module.2:13 build/C/man2/delete_module.2:28 build/C/man2/get_kernel_syms.2:13 build/C/man2/init_module.2:30 build/C/man2/query_module.2:13
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man2/create_module.2:16 build/C/man2/get_kernel_syms.2:16 build/C/man2/query_module.2:16
62 #, no-wrap
63 msgid "B<#include E<lt>linux/module.hE<gt>>\n"
64 msgstr ""
65
66 #. type: Plain text
67 #: build/C/man2/create_module.2:18
68 #, no-wrap
69 msgid "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
70 msgstr ""
71
72 #. type: SH
73 #: build/C/man2/create_module.2:19 build/C/man2/delete_module.2:35 build/C/man2/get_kernel_syms.2:19 build/C/man2/init_module.2:41 build/C/man2/query_module.2:23
74 #, no-wrap
75 msgid "DESCRIPTION"
76 msgstr ""
77
78 #. type: Plain text
79 #: build/C/man2/create_module.2:22 build/C/man2/get_kernel_syms.2:22 build/C/man2/query_module.2:26
80 msgid "B<Note>: This system call is present only in kernels before Linux 2.6."
81 msgstr ""
82
83 #. type: Plain text
84 #: build/C/man2/create_module.2:27
85 msgid ""
86 "B<create_module>()  attempts to create a loadable module entry and reserve "
87 "the kernel memory that will be needed to hold the module.  This system call "
88 "requires privilege."
89 msgstr ""
90
91 #. type: SH
92 #: build/C/man2/create_module.2:27 build/C/man2/delete_module.2:124 build/C/man2/get_kernel_syms.2:48 build/C/man2/init_module.2:150 build/C/man2/query_module.2:129
93 #, no-wrap
94 msgid "RETURN VALUE"
95 msgstr ""
96
97 #. type: Plain text
98 #: build/C/man2/create_module.2:32
99 msgid ""
100 "On success, returns the kernel address at which the module will reside.  On "
101 "error -1 is returned and I<errno> is set appropriately."
102 msgstr ""
103
104 #. type: SH
105 #: build/C/man2/create_module.2:32 build/C/man2/delete_module.2:129 build/C/man2/get_kernel_syms.2:54 build/C/man2/init_module.2:155 build/C/man2/query_module.2:134
106 #, no-wrap
107 msgid "ERRORS"
108 msgstr ""
109
110 #. type: TP
111 #: build/C/man2/create_module.2:33 build/C/man2/init_module.2:194
112 #, no-wrap
113 msgid "B<EEXIST>"
114 msgstr ""
115
116 #. type: Plain text
117 #: build/C/man2/create_module.2:36
118 msgid "A module by that name already exists."
119 msgstr ""
120
121 #. type: TP
122 #: build/C/man2/create_module.2:36 build/C/man2/delete_module.2:143 build/C/man2/init_module.2:162 build/C/man2/query_module.2:135
123 #, no-wrap
124 msgid "B<EFAULT>"
125 msgstr ""
126
127 #. type: Plain text
128 #: build/C/man2/create_module.2:40
129 msgid "I<name> is outside the program's accessible address space."
130 msgstr ""
131
132 #. type: TP
133 #: build/C/man2/create_module.2:40 build/C/man2/init_module.2:197 build/C/man2/init_module.2:232 build/C/man2/query_module.2:143
134 #, no-wrap
135 msgid "B<EINVAL>"
136 msgstr ""
137
138 #. type: Plain text
139 #: build/C/man2/create_module.2:43
140 msgid "The requested size is too small even for the module header information."
141 msgstr ""
142
143 #. type: TP
144 #: build/C/man2/create_module.2:43 build/C/man2/init_module.2:177
145 #, no-wrap
146 msgid "B<ENOMEM>"
147 msgstr ""
148
149 #. type: Plain text
150 #: build/C/man2/create_module.2:47
151 msgid ""
152 "The kernel could not allocate a contiguous block of memory large enough for "
153 "the module."
154 msgstr ""
155
156 #. type: TP
157 #: build/C/man2/create_module.2:47 build/C/man2/get_kernel_syms.2:56 build/C/man2/query_module.2:163
158 #, no-wrap
159 msgid "B<ENOSYS>"
160 msgstr ""
161
162 #. type: Plain text
163 #: build/C/man2/create_module.2:52
164 msgid ""
165 "B<create_module>()  is not supported in this version of the kernel (e.g., "
166 "the kernel is version 2.6 or later)."
167 msgstr ""
168
169 #. type: TP
170 #: build/C/man2/create_module.2:52 build/C/man2/delete_module.2:150 build/C/man2/init_module.2:180
171 #, no-wrap
172 msgid "B<EPERM>"
173 msgstr ""
174
175 #. type: Plain text
176 #: build/C/man2/create_module.2:58
177 msgid ""
178 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
179 "capability)."
180 msgstr ""
181
182 #. type: SH
183 #: build/C/man2/create_module.2:58 build/C/man2/get_kernel_syms.2:60 build/C/man2/init_module.2:252 build/C/man2/query_module.2:168
184 #, no-wrap
185 msgid "VERSIONS"
186 msgstr ""
187
188 #.  Removed in Linux 2.5.48
189 #. type: Plain text
190 #: build/C/man2/create_module.2:62 build/C/man2/get_kernel_syms.2:64 build/C/man2/query_module.2:172
191 msgid ""
192 "This system call is present on Linux only up until kernel 2.4; it was "
193 "removed in Linux 2.6."
194 msgstr ""
195
196 #. type: SH
197 #: build/C/man2/create_module.2:62 build/C/man2/delete_module.2:172 build/C/man2/get_kernel_syms.2:64 build/C/man2/init_module.2:255 build/C/man2/query_module.2:172
198 #, no-wrap
199 msgid "CONFORMING TO"
200 msgstr ""
201
202 #. type: Plain text
203 #: build/C/man2/create_module.2:65
204 msgid "B<create_module>()  is Linux-specific."
205 msgstr ""
206
207 #. type: SH
208 #: build/C/man2/create_module.2:65 build/C/man2/delete_module.2:202 build/C/man2/get_kernel_syms.2:80 build/C/man2/init_module.2:337 build/C/man2/query_module.2:187
209 #, no-wrap
210 msgid "SEE ALSO"
211 msgstr ""
212
213 #. type: Plain text
214 #: build/C/man2/create_module.2:69
215 msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
216 msgstr ""
217
218 #. type: SH
219 #: build/C/man2/create_module.2:69 build/C/man2/delete_module.2:209 build/C/man2/get_kernel_syms.2:85 build/C/man2/init_module.2:343 build/C/man2/query_module.2:194
220 #, no-wrap
221 msgid "COLOPHON"
222 msgstr ""
223
224 #. type: Plain text
225 #: build/C/man2/create_module.2:76 build/C/man2/delete_module.2:216 build/C/man2/get_kernel_syms.2:92 build/C/man2/init_module.2:350 build/C/man2/query_module.2:201
226 msgid ""
227 "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
228 "description of the project, and information about reporting bugs, can be "
229 "found at \\%http://www.kernel.org/doc/man-pages/."
230 msgstr ""
231
232 #. type: TH
233 #: build/C/man2/delete_module.2:25
234 #, no-wrap
235 msgid "DELETE_MODULE"
236 msgstr ""
237
238 #. type: TH
239 #: build/C/man2/delete_module.2:25
240 #, no-wrap
241 msgid "2012-11-08"
242 msgstr ""
243
244 #. type: Plain text
245 #: build/C/man2/delete_module.2:28
246 msgid "delete_module - unload a kernel module"
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man2/delete_module.2:31
251 #, no-wrap
252 msgid "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
253 msgstr ""
254
255 #. type: Plain text
256 #: build/C/man2/delete_module.2:35 build/C/man2/query_module.2:23
257 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
258 msgstr ""
259
260 #. type: Plain text
261 #: build/C/man2/delete_module.2:49
262 msgid ""
263 "The B<delete_module>()  system call attempts to remove the unused loadable "
264 "module entry identified by I<name>.  If the module has an I<exit> function, "
265 "then that function is executed before unloading the module.  The I<flags> "
266 "argument is used to modify the behavior of the system call, as described "
267 "below.  This system call requires privilege."
268 msgstr ""
269
270 #. type: Plain text
271 #: build/C/man2/delete_module.2:51
272 msgid "Module removal is attempted according to the following rules:"
273 msgstr ""
274
275 #. type: IP
276 #: build/C/man2/delete_module.2:51
277 #, no-wrap
278 msgid "1."
279 msgstr ""
280
281 #. type: Plain text
282 #: build/C/man2/delete_module.2:55
283 msgid ""
284 "If there are other loaded modules that depend on (i.e., refer to symbols "
285 "defined in) this module, then the call fails."
286 msgstr ""
287
288 #. type: IP
289 #: build/C/man2/delete_module.2:55
290 #, no-wrap
291 msgid "2."
292 msgstr ""
293
294 #. type: Plain text
295 #: build/C/man2/delete_module.2:59
296 msgid ""
297 "Otherwise, if the reference count for the module (i.e., the number of "
298 "processes currently using the module)  is zero, then the module is "
299 "immediately unloaded."
300 msgstr ""
301
302 #. type: IP
303 #: build/C/man2/delete_module.2:59
304 #, no-wrap
305 msgid "3."
306 msgstr ""
307
308 #.      O_TRUNC == KMOD_REMOVE_FORCE in kmod library
309 #.      O_NONBLOCK == KMOD_REMOVE_NOWAIT in kmod library
310 #. type: Plain text
311 #: build/C/man2/delete_module.2:70
312 msgid ""
313 "If a module has a nonzero reference count, then the behavior depends on the "
314 "bits set in I<flags>.  In normal usage (see NOTES), the B<O_NONBLOCK> flag "
315 "is always specified, and the B<O_TRUNC> flag may additionally be specified."
316 msgstr ""
317
318 #. type: Plain text
319 #: build/C/man2/delete_module.2:74
320 msgid "The various combinations for I<flags> have the following effect:"
321 msgstr ""
322
323 #. type: TP
324 #: build/C/man2/delete_module.2:75
325 #, no-wrap
326 msgid "B<flags == O_NONBLOCK>"
327 msgstr ""
328
329 #. type: Plain text
330 #: build/C/man2/delete_module.2:78
331 msgid "The call returns immediately, with an error."
332 msgstr ""
333
334 #. type: TP
335 #: build/C/man2/delete_module.2:78
336 #, no-wrap
337 msgid "B<flags == (O_NONBLOCK | O_TRUNC)>"
338 msgstr ""
339
340 #. type: Plain text
341 #: build/C/man2/delete_module.2:82
342 msgid ""
343 "The module is unloaded immediately, regardless of whether it has a nonzero "
344 "reference count."
345 msgstr ""
346
347 #. type: TP
348 #: build/C/man2/delete_module.2:82
349 #, no-wrap
350 msgid "B<(flags & O_NONBLOCK) == 0>"
351 msgstr ""
352
353 #. type: Plain text
354 #: build/C/man2/delete_module.2:89
355 msgid "If I<flags> does not specify B<O_NONBLOCK>, the following steps occur:"
356 msgstr ""
357
358 #. type: IP
359 #: build/C/man2/delete_module.2:90 build/C/man2/delete_module.2:92 build/C/man2/delete_module.2:97
360 #, no-wrap
361 msgid "*"
362 msgstr ""
363
364 #. type: Plain text
365 #: build/C/man2/delete_module.2:92
366 msgid "The module is marked so that no new references are permitted."
367 msgstr ""
368
369 #. type: Plain text
370 #: build/C/man2/delete_module.2:97
371 msgid ""
372 "If the module's reference count is nonzero, the caller is placed in an "
373 "uninterruptible sleep state (B<TASK_UNINTERRUPTIBLE>)  until the reference "
374 "count is zero, at which point the call unblocks."
375 msgstr ""
376
377 #. type: Plain text
378 #: build/C/man2/delete_module.2:99
379 msgid "The module is unloaded in the usual way."
380 msgstr ""
381
382 #. type: Plain text
383 #: build/C/man2/delete_module.2:113
384 msgid ""
385 "The B<O_TRUNC> flag has one further effect on the rules described above.  By "
386 "default, if a module has an I<init> function but no I<exit> function, then "
387 "an attempt to remove the module will fail.  However, if B<O_TRUNC> was "
388 "specified, this requirement is bypassed."
389 msgstr ""
390
391 #. type: Plain text
392 #: build/C/man2/delete_module.2:124
393 msgid ""
394 "Using the B<O_TRUNC> flag is dangerous! If the kernel was not built with "
395 "B<CONFIG_MODULE_FORCE_UNLOAD>, this flag is silently ignored.  (Normally, "
396 "B<CONFIG_MODULE_FORCE_UNLOAD> is enabled.)  Using this flag taints the "
397 "kernel (TAINT_FORCED_RMMOD)."
398 msgstr ""
399
400 #. type: Plain text
401 #: build/C/man2/delete_module.2:129 build/C/man2/query_module.2:134
402 msgid ""
403 "On success, zero is returned.  On error, -1 is returned and I<errno> is set "
404 "appropriately."
405 msgstr ""
406
407 #. type: TP
408 #: build/C/man2/delete_module.2:130 build/C/man2/init_module.2:159
409 #, no-wrap
410 msgid "B<EBUSY>"
411 msgstr ""
412
413 #. type: Plain text
414 #: build/C/man2/delete_module.2:143
415 msgid ""
416 "The module is not \"live\" (i.e., it is still being initialized or is "
417 "already marked for removal); or, the module has an I<init> function but has "
418 "no I<exit> function, and B<O_TRUNC> was not specified in I<flags>."
419 msgstr ""
420
421 #. type: Plain text
422 #: build/C/man2/delete_module.2:147
423 msgid "I<name> refers to a location outside the process's accessible address space."
424 msgstr ""
425
426 #. type: TP
427 #: build/C/man2/delete_module.2:147 build/C/man2/query_module.2:153
428 #, no-wrap
429 msgid "B<ENOENT>"
430 msgstr ""
431
432 #. type: Plain text
433 #: build/C/man2/delete_module.2:150
434 msgid "No module by that name exists."
435 msgstr ""
436
437 #. type: Plain text
438 #: build/C/man2/delete_module.2:161
439 msgid ""
440 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
441 "capability), or module unloading is disabled (see "
442 "I</proc/sys/kernel/modules_disabled> in B<proc>(5))."
443 msgstr ""
444
445 #. type: TP
446 #: build/C/man2/delete_module.2:161
447 #, no-wrap
448 msgid "B<EWOULDBLOCK>"
449 msgstr ""
450
451 #. type: Plain text
452 #: build/C/man2/delete_module.2:172
453 msgid ""
454 "Other modules depend on this module; or, B<O_NONBLOCK> was specified in "
455 "I<flags>, but the reference count of this module is nonzero and B<O_TRUNC> "
456 "was not specified in I<flags>."
457 msgstr ""
458
459 #. type: Plain text
460 #: build/C/man2/delete_module.2:175
461 msgid "B<delete_module>()  is Linux-specific."
462 msgstr ""
463
464 #. type: SH
465 #: build/C/man2/delete_module.2:175 build/C/man2/init_module.2:260 build/C/man2/query_module.2:175
466 #, no-wrap
467 msgid "NOTES"
468 msgstr ""
469
470 #. type: Plain text
471 #: build/C/man2/delete_module.2:178
472 msgid ""
473 "Glibc does not provide a wrapper for this system call; call it using "
474 "B<syscall>(2)."
475 msgstr ""
476
477 #. type: Plain text
478 #: build/C/man2/delete_module.2:188
479 msgid ""
480 "The uninterruptible sleep that may occur if B<O_NONBLOCK> is omitted from "
481 "I<flags> is considered undesirable, because the sleeping process is left in "
482 "an unkillable state.  As at Linux 3.7, specifying B<O_NONBLOCK> is optional, "
483 "but in future kernels it is likely to become mandatory."
484 msgstr ""
485
486 #. type: SS
487 #: build/C/man2/delete_module.2:188 build/C/man2/init_module.2:272
488 #, no-wrap
489 msgid "Linux 2.4 and earlier"
490 msgstr ""
491
492 #. type: Plain text
493 #: build/C/man2/delete_module.2:190
494 msgid "In Linux 2.4 and earlier, the system call took only one argument:"
495 msgstr ""
496
497 #. type: Plain text
498 #: build/C/man2/delete_module.2:192
499 msgid "B< int delete_module(const char *>I<name>B<);>"
500 msgstr ""
501
502 #. type: Plain text
503 #: build/C/man2/delete_module.2:196
504 msgid "If I<name> is NULL, all unused modules marked auto-clean are removed."
505 msgstr ""
506
507 #. type: Plain text
508 #: build/C/man2/delete_module.2:202
509 msgid ""
510 "Some further details of differences in the behavior of B<delete_module>()  "
511 "in Linux 2.4 and earlier are I<not> currently explained in this manual page."
512 msgstr ""
513
514 #. type: Plain text
515 #: build/C/man2/delete_module.2:209
516 msgid ""
517 "B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), "
518 "B<modprobe>(8), B<rmmod>(8)"
519 msgstr ""
520
521 #. type: TH
522 #: build/C/man2/get_kernel_syms.2:10
523 #, no-wrap
524 msgid "GET_KERNEL_SYMS"
525 msgstr ""
526
527 #. type: Plain text
528 #: build/C/man2/get_kernel_syms.2:13
529 msgid "get_kernel_syms - retrieve exported kernel and module symbols"
530 msgstr ""
531
532 #. type: Plain text
533 #: build/C/man2/get_kernel_syms.2:18
534 #, no-wrap
535 msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
536 msgstr ""
537
538 #. type: Plain text
539 #: build/C/man2/get_kernel_syms.2:29
540 msgid ""
541 "If I<table> is NULL, B<get_kernel_syms>()  returns the number of symbols "
542 "available for query.  Otherwise it fills in a table of structures:"
543 msgstr ""
544
545 #. type: Plain text
546 #: build/C/man2/get_kernel_syms.2:36
547 #, no-wrap
548 msgid ""
549 "struct kernel_sym {\n"
550 "    unsigned long value;\n"
551 "    char          name[60];\n"
552 "};\n"
553 msgstr ""
554
555 #. type: Plain text
556 #: build/C/man2/get_kernel_syms.2:44
557 msgid ""
558 "The symbols are interspersed with magic symbols of the form "
559 "B<#>I<module-name> with the kernel having an empty name.  The value "
560 "associated with a symbol of this form is the address at which the module is "
561 "loaded."
562 msgstr ""
563
564 #. type: Plain text
565 #: build/C/man2/get_kernel_syms.2:48
566 msgid ""
567 "The symbols exported from each module follow their magic module tag and the "
568 "modules are returned in the reverse of the order in which they were loaded."
569 msgstr ""
570
571 #. type: Plain text
572 #: build/C/man2/get_kernel_syms.2:54
573 msgid ""
574 "On success, returns the number of symbols copied to I<table>.  On error, -1 "
575 "is returned and I<errno> is set appropriately."
576 msgstr ""
577
578 #. type: Plain text
579 #: build/C/man2/get_kernel_syms.2:56
580 msgid "There is only one possible error return:"
581 msgstr ""
582
583 #. type: Plain text
584 #: build/C/man2/get_kernel_syms.2:60
585 msgid "B<get_kernel_syms>()  is not supported in this version of the kernel."
586 msgstr ""
587
588 #. type: Plain text
589 #: build/C/man2/get_kernel_syms.2:67
590 msgid "B<get_kernel_syms>()  is Linux-specific."
591 msgstr ""
592
593 #. type: SH
594 #: build/C/man2/get_kernel_syms.2:67
595 #, no-wrap
596 msgid "BUGS"
597 msgstr ""
598
599 #. type: Plain text
600 #: build/C/man2/get_kernel_syms.2:72
601 msgid ""
602 "There is no way to indicate the size of the buffer allocated for I<table>.  "
603 "If symbols have been added to the kernel since the program queried for the "
604 "symbol table size, memory will be corrupted."
605 msgstr ""
606
607 #. type: Plain text
608 #: build/C/man2/get_kernel_syms.2:74
609 msgid "The length of exported symbol names is limited to 59 characters."
610 msgstr ""
611
612 #. type: Plain text
613 #: build/C/man2/get_kernel_syms.2:80
614 msgid ""
615 "Because of these limitations, this system call is deprecated in favor of "
616 "B<query_module>(2)  (which is itself nowadays deprecated in favor of other "
617 "interfaces described on its manual page)."
618 msgstr ""
619
620 #. type: Plain text
621 #: build/C/man2/get_kernel_syms.2:85
622 msgid ""
623 "B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
624 "B<query_module>(2)"
625 msgstr ""
626
627 #. type: TH
628 #: build/C/man2/init_module.2:27
629 #, no-wrap
630 msgid "INIT_MODULE"
631 msgstr ""
632
633 #. type: TH
634 #: build/C/man2/init_module.2:27
635 #, no-wrap
636 msgid "2013-01-07"
637 msgstr ""
638
639 #. type: Plain text
640 #: build/C/man2/init_module.2:30
641 msgid "init_module, finit_module - load a kernel module"
642 msgstr ""
643
644 #. type: Plain text
645 #: build/C/man2/init_module.2:34
646 #, no-wrap
647 msgid ""
648 "B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
649 "B<                const char *>I<param_values>B<);>\n"
650 msgstr ""
651
652 #. type: Plain text
653 #: build/C/man2/init_module.2:37
654 #, no-wrap
655 msgid ""
656 "B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
657 "B<                 int >I<flags>B<);>\n"
658 msgstr ""
659
660 #. type: Plain text
661 #: build/C/man2/init_module.2:41
662 msgid "I<Note>: There are no glibc wrappers for these system calls; see NOTES."
663 msgstr ""
664
665 #. type: Plain text
666 #: build/C/man2/init_module.2:50
667 msgid ""
668 "B<init_module>()  loads an ELF image into kernel space, performs any "
669 "necessary symbol relocations, initializes module parameters to values "
670 "provided by the caller, and then runs the module's I<init> function.  This "
671 "system call requires privilege."
672 msgstr ""
673
674 #. type: Plain text
675 #: build/C/man2/init_module.2:58
676 msgid ""
677 "The I<module_image> argument points to a buffer containing the binary image "
678 "to be loaded; I<len> specifies the size of that buffer.  The module image "
679 "should be a valid ELF image, built for the running kernel."
680 msgstr ""
681
682 #. type: Plain text
683 #: build/C/man2/init_module.2:69
684 msgid ""
685 "The I<param_values> argument is a string containing space-delimited "
686 "specifications of the values for module parameters (defined inside the "
687 "module using B<module_param>()  and B<module_param_array>()).  The kernel "
688 "parses this string and initializes the specified parameters.  Each of the "
689 "parameter specifications has the form:"
690 msgstr ""
691
692 #. type: Plain text
693 #: build/C/man2/init_module.2:74
694 msgid "I<name>[B<=>I<value>[B<,>I<value>...]]"
695 msgstr ""
696
697 #. type: Plain text
698 #: build/C/man2/init_module.2:89
699 msgid ""
700 "The parameter I<name> is one of those defined within the module using "
701 "I<module_param>()  (see the Linux kernel source file "
702 "I<include/linux/moduleparam.h>).  The parameter I<value> is optional in the "
703 "case of I<bool> and I<invbool> parameters.  Values for array parameters are "
704 "specified as a comma-separated list."
705 msgstr ""
706
707 #. type: SS
708 #: build/C/man2/init_module.2:89
709 #, no-wrap
710 msgid "finit_module()"
711 msgstr ""
712
713 #.  commit 34e1169d996ab148490c01b65b4ee371cf8ffba2
714 #.  https://lwn.net/Articles/519010/
715 #. type: Plain text
716 #: build/C/man2/init_module.2:107
717 msgid ""
718 "The B<finit_module>()  system call is like B<init_module>(), but reads the "
719 "module to be loaded from the file descriptor I<fd>.  It is useful when the "
720 "authenticity of a kernel module can be determined from its location in the "
721 "filesystem; in cases where that is possible, the overhead of using "
722 "cryptographically signed modules to determine the authenticity of a module "
723 "can be avoided.  The I<param_values> argument is as for B<init_module>()."
724 msgstr ""
725
726 #.  commit 2f3238aebedb243804f58d62d57244edec4149b2
727 #. type: Plain text
728 #: build/C/man2/init_module.2:115
729 msgid ""
730 "The I<flags> argument modifies the operation of B<finit_module>().  It is a "
731 "bit mask value created by ORing together zero or more of the following "
732 "flags:"
733 msgstr ""
734
735 #. type: TP
736 #: build/C/man2/init_module.2:115
737 #, no-wrap
738 msgid "B<MODULE_INIT_IGNORE_MODVERSIONS>"
739 msgstr ""
740
741 #. type: Plain text
742 #: build/C/man2/init_module.2:118
743 msgid "Ignore symbol version hashes."
744 msgstr ""
745
746 #. type: TP
747 #: build/C/man2/init_module.2:118
748 #, no-wrap
749 msgid "B<MODULE_INIT_IGNORE_VERMAGIC>"
750 msgstr ""
751
752 #. type: Plain text
753 #: build/C/man2/init_module.2:121
754 msgid "Ignore kernel version magic."
755 msgstr ""
756
757 #.  http://www.tldp.org/HOWTO/Module-HOWTO/basekerncompat.html
758 #.  is dated, but informative
759 #. type: Plain text
760 #: build/C/man2/init_module.2:139
761 msgid ""
762 "There are some safety checks built into a module to ensure that it matches "
763 "the kernel against which it is loaded.  These checks are recorded when the "
764 "module is built and verified when the module is loaded.  First, the module "
765 "records a \"vermagic\" string containing the kernel version number and "
766 "prominent features (such as the CPU type).  Second, if the module was built "
767 "with the B<CONFIG_MODVERSIONS> configuration option enabled, a version hash "
768 "is recorded for each symbol the module uses.  This hash is based on the "
769 "types of the arguments and return value for the function named by the "
770 "symbol.  In this case, the kernel version number within the \"vermagic\" "
771 "string is ignored, as the symbol version hashes are assumed to be "
772 "sufficiently reliable."
773 msgstr ""
774
775 #. type: Plain text
776 #: build/C/man2/init_module.2:150
777 msgid ""
778 "Using the B<MODULE_INIT_IGNORE_VERMAGIC> flag indicates that the "
779 "\"vermagic\" string is to be ignored, and the "
780 "B<MODULE_INIT_IGNORE_MODVERSIONS> flag indicates that the symbol version "
781 "hashes are to be ignored.  If the kernel is built to permit forced loading "
782 "(i.e., configured with B<CONFIG_MODULE_FORCE_LOAD>), then loading will "
783 "continue, otherwise it will fail with B<ENOEXEC> as expected for malformed "
784 "modules."
785 msgstr ""
786
787 #. type: Plain text
788 #: build/C/man2/init_module.2:155
789 msgid ""
790 "On success, these system calls return 0.  On error, -1 is returned and "
791 "I<errno> is set appropriately."
792 msgstr ""
793
794 #. type: TP
795 #: build/C/man2/init_module.2:156
796 #, no-wrap
797 msgid "B<EBADMSG> (since Linux 3.7)"
798 msgstr ""
799
800 #. type: Plain text
801 #: build/C/man2/init_module.2:159
802 msgid "Module signature is misformatted."
803 msgstr ""
804
805 #. type: Plain text
806 #: build/C/man2/init_module.2:162
807 msgid "Timeout while trying to resolve a symbol reference by this module."
808 msgstr ""
809
810 #. type: Plain text
811 #: build/C/man2/init_module.2:166
812 msgid ""
813 "An address argument referred to a location that is outside the process's "
814 "accessible address space."
815 msgstr ""
816
817 #. type: TP
818 #: build/C/man2/init_module.2:166
819 #, no-wrap
820 msgid "B<ENOKEY> (since Linux 3.7)"
821 msgstr ""
822
823 #.  commit 48ba2462ace6072741fd8d0058207d630ce93bf1
824 #.  commit 1d0059f3a468825b5fc5405c636a2f6e02707ffa
825 #.  commit 106a4ee258d14818467829bf0e12aeae14c16cd7
826 #. type: Plain text
827 #: build/C/man2/init_module.2:177
828 msgid ""
829 "Module signature is invalid or the kernel does not have a key for this "
830 "module.  This error is returned only if the kernel was configured with "
831 "B<CONFIG_MODULE_SIG_FORCE>; if the kernel was not configured with this "
832 "option, then an invalid or unsigned module simply taints the kernel."
833 msgstr ""
834
835 #. type: Plain text
836 #: build/C/man2/init_module.2:180
837 msgid "Out of memory."
838 msgstr ""
839
840 #. type: Plain text
841 #: build/C/man2/init_module.2:191
842 msgid ""
843 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
844 "capability), or module loading is disabled (see "
845 "I</proc/sys/kernel/modules_disabled> in B<proc>(5))."
846 msgstr ""
847
848 #. type: Plain text
849 #: build/C/man2/init_module.2:194
850 msgid "The following errors may additionally occur for B<init_module>():"
851 msgstr ""
852
853 #. type: Plain text
854 #: build/C/man2/init_module.2:197
855 msgid "A module with this name is already loaded."
856 msgstr ""
857
858 #.  .TP
859 #.  .BR EINVAL " (Linux 2.4 and earlier)"
860 #.  Some
861 #.  .I image
862 #.  slot is filled in incorrectly,
863 #.  .I image\->name
864 #.  does not correspond to the original module name, some
865 #.  .I image\->deps
866 #.  entry does not correspond to a loaded module,
867 #.  or some other similar inconsistency.
868 #. type: Plain text
869 #: build/C/man2/init_module.2:213
870 msgid ""
871 "I<param_values> is invalid, or some part of the ELF image in I<module_image> "
872 "contains inconsistencies."
873 msgstr ""
874
875 #. type: TP
876 #: build/C/man2/init_module.2:213 build/C/man2/init_module.2:236
877 #, no-wrap
878 msgid "B<ENOEXEC>"
879 msgstr ""
880
881 #. type: Plain text
882 #: build/C/man2/init_module.2:219
883 msgid ""
884 "The binary image supplied in I<module_image> is not an ELF image, or is an "
885 "ELF image that is invalid or for a different architecture."
886 msgstr ""
887
888 #. type: Plain text
889 #: build/C/man2/init_module.2:222
890 msgid "The following errors may additionally occur for B<finit_module>():"
891 msgstr ""
892
893 #. type: TP
894 #: build/C/man2/init_module.2:222
895 #, no-wrap
896 msgid "B<EBADF>"
897 msgstr ""
898
899 #. type: Plain text
900 #: build/C/man2/init_module.2:227
901 msgid "The file referred to by I<fd> is not opened for reading."
902 msgstr ""
903
904 #. type: TP
905 #: build/C/man2/init_module.2:227
906 #, no-wrap
907 msgid "B<EFBIG>"
908 msgstr ""
909
910 #. type: Plain text
911 #: build/C/man2/init_module.2:232
912 msgid "The file referred to by I<fd> is too large."
913 msgstr ""
914
915 #. type: Plain text
916 #: build/C/man2/init_module.2:236
917 msgid "I<flags> is invalid."
918 msgstr ""
919
920 #. type: Plain text
921 #: build/C/man2/init_module.2:240
922 msgid "I<fd> does not refer to an open file."
923 msgstr ""
924
925 #. type: Plain text
926 #: build/C/man2/init_module.2:252
927 msgid ""
928 "In addition to the above errors, if the module's I<init> function is "
929 "executed and returns an error, then B<init_module>()  or B<finit_module>()  "
930 "fails and I<errno> is set to the value returned by the I<init> function."
931 msgstr ""
932
933 #. type: Plain text
934 #: build/C/man2/init_module.2:255
935 msgid "B<finit_module ()> is available since Linux 3.8."
936 msgstr ""
937
938 #. type: Plain text
939 #: build/C/man2/init_module.2:260
940 msgid "B<init_module>()  and B<finit_module>()  are Linux-specific."
941 msgstr ""
942
943 #. type: Plain text
944 #: build/C/man2/init_module.2:263
945 msgid ""
946 "Glibc does not provide a wrapper for these system calls; call them using "
947 "B<syscall>(2)."
948 msgstr ""
949
950 #. type: Plain text
951 #: build/C/man2/init_module.2:268
952 msgid ""
953 "Information about currently loaded modules can be found in I</proc/modules> "
954 "and in the file trees under the per-module subdirectories under "
955 "I</sys/module>."
956 msgstr ""
957
958 #. type: Plain text
959 #: build/C/man2/init_module.2:272
960 msgid ""
961 "See the Linux kernel source file I<include/linux/module.h> for some useful "
962 "background information."
963 msgstr ""
964
965 #. type: Plain text
966 #: build/C/man2/init_module.2:277
967 msgid ""
968 "In Linux 2.4 and earlier, the B<init_module>()  system call was rather "
969 "different:"
970 msgstr ""
971
972 #. type: Plain text
973 #: build/C/man2/init_module.2:279
974 msgid "B<#include E<lt>linux/module.hE<gt>>"
975 msgstr ""
976
977 #. type: Plain text
978 #: build/C/man2/init_module.2:281
979 msgid "B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
980 msgstr ""
981
982 #. type: Plain text
983 #: build/C/man2/init_module.2:289
984 msgid ""
985 "(User-space applications can detect which version of B<init_module>()  is "
986 "available by calling B<query_module>(); the latter call fails with the error "
987 "B<ENOSYS> on Linux 2.6 and later.)"
988 msgstr ""
989
990 #. type: Plain text
991 #: build/C/man2/init_module.2:300
992 msgid ""
993 "The older version of the system call loads the relocated module image "
994 "pointed to by I<image> into kernel space and runs the module's I<init> "
995 "function.  The caller is responsible for providing the relocated image "
996 "(since Linux 2.6, the B<init_module>()  system call does the relocation)."
997 msgstr ""
998
999 #. type: Plain text
1000 #: build/C/man2/init_module.2:304
1001 msgid ""
1002 "The module image begins with a module structure and is followed by code and "
1003 "data as appropriate.  Since Linux 2.2, the module structure is defined as "
1004 "follows:"
1005 msgstr ""
1006
1007 #. type: Plain text
1008 #: build/C/man2/init_module.2:327
1009 #, no-wrap
1010 msgid ""
1011 "struct module {\n"
1012 "    unsigned long         size_of_struct;\n"
1013 "    struct module        *next;\n"
1014 "    const char           *name;\n"
1015 "    unsigned long         size;\n"
1016 "    long                  usecount;\n"
1017 "    unsigned long         flags;\n"
1018 "    unsigned int          nsyms;\n"
1019 "    unsigned int          ndeps;\n"
1020 "    struct module_symbol *syms;\n"
1021 "    struct module_ref    *deps;\n"
1022 "    struct module_ref    *refs;\n"
1023 "    int                 (*init)(void);\n"
1024 "    void                (*cleanup)(void);\n"
1025 "    const struct exception_table_entry *ex_table_start;\n"
1026 "    const struct exception_table_entry *ex_table_end;\n"
1027 "#ifdef __alpha__\n"
1028 "    unsigned long gp;\n"
1029 "#endif\n"
1030 "};\n"
1031 msgstr ""
1032
1033 #. type: Plain text
1034 #: build/C/man2/init_module.2:337
1035 msgid ""
1036 "All of the pointer fields, with the exception of I<next> and I<refs>, are "
1037 "expected to point within the module body and be initialized as appropriate "
1038 "for kernel space, that is, relocated with the rest of the module."
1039 msgstr ""
1040
1041 #. type: Plain text
1042 #: build/C/man2/init_module.2:343
1043 msgid ""
1044 "B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), "
1045 "B<modprobe>(8)"
1046 msgstr ""
1047
1048 #. type: TH
1049 #: build/C/man2/query_module.2:10
1050 #, no-wrap
1051 msgid "QUERY_MODULE"
1052 msgstr ""
1053
1054 #. type: TH
1055 #: build/C/man2/query_module.2:10
1056 #, no-wrap
1057 msgid "2013-01-27"
1058 msgstr ""
1059
1060 #. type: Plain text
1061 #: build/C/man2/query_module.2:13
1062 msgid "query_module - query the kernel for various bits pertaining to modules"
1063 msgstr ""
1064
1065 #. type: Plain text
1066 #: build/C/man2/query_module.2:19
1067 #, no-wrap
1068 msgid ""
1069 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void "
1070 "*>I<buf>B<,>\n"
1071 "B<                 size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
1072 msgstr ""
1073
1074 #. type: Plain text
1075 #: build/C/man2/query_module.2:43
1076 msgid ""
1077 "B<query_module>()  requests information from the kernel about loadable "
1078 "modules.  The returned information is placed in the buffer pointed to by "
1079 "I<buf>.  The caller must specify the size of I<buf> in I<bufsize>.  The "
1080 "precise nature and format of the returned information depend on the "
1081 "operation specified by I<which>.  Some operations require I<name> to "
1082 "identify a currently loaded module, some allow I<name> to be NULL, "
1083 "indicating the kernel proper."
1084 msgstr ""
1085
1086 #. type: Plain text
1087 #: build/C/man2/query_module.2:46
1088 msgid "The following values can be specified for I<which>:"
1089 msgstr ""
1090
1091 #. type: TP
1092 #: build/C/man2/query_module.2:46
1093 #, no-wrap
1094 msgid "B<0>"
1095 msgstr ""
1096
1097 #. type: Plain text
1098 #: build/C/man2/query_module.2:51
1099 msgid ""
1100 "Returns success, if the kernel supports B<query_module>().  Used to probe "
1101 "for availability of the system call."
1102 msgstr ""
1103
1104 #. type: TP
1105 #: build/C/man2/query_module.2:51
1106 #, no-wrap
1107 msgid "B<QM_MODULES>"
1108 msgstr ""
1109
1110 #.  ret is set on ENOSPC
1111 #. type: Plain text
1112 #: build/C/man2/query_module.2:59
1113 msgid ""
1114 "Returns the names of all loaded modules.  The returned buffer consists of a "
1115 "sequence of null-terminated strings; I<ret> is set to the number of modules."
1116 msgstr ""
1117
1118 #. type: TP
1119 #: build/C/man2/query_module.2:59
1120 #, no-wrap
1121 msgid "B<QM_DEPS>"
1122 msgstr ""
1123
1124 #.  ret is set on ENOSPC
1125 #. type: Plain text
1126 #: build/C/man2/query_module.2:66
1127 msgid ""
1128 "Returns the names of all modules used by the indicated module.  The returned "
1129 "buffer consists of a sequence of null-terminated strings; I<ret> is set to "
1130 "the number of modules."
1131 msgstr ""
1132
1133 #. type: TP
1134 #: build/C/man2/query_module.2:66
1135 #, no-wrap
1136 msgid "B<QM_REFS>"
1137 msgstr ""
1138
1139 #.  ret is set on ENOSPC
1140 #. type: Plain text
1141 #: build/C/man2/query_module.2:75
1142 msgid ""
1143 "Returns the names of all modules using the indicated module.  This is the "
1144 "inverse of B<QM_DEPS>.  The returned buffer consists of a sequence of "
1145 "null-terminated strings; I<ret> is set to the number of modules."
1146 msgstr ""
1147
1148 #. type: TP
1149 #: build/C/man2/query_module.2:75
1150 #, no-wrap
1151 msgid "B<QM_SYMBOLS>"
1152 msgstr ""
1153
1154 #.  ret is set on ENOSPC
1155 #. type: Plain text
1156 #: build/C/man2/query_module.2:81
1157 msgid ""
1158 "Returns the symbols and values exported by the kernel or the indicated "
1159 "module.  The returned buffer is an array of structures of the following form"
1160 msgstr ""
1161
1162 #. type: Plain text
1163 #: build/C/man2/query_module.2:88
1164 #, no-wrap
1165 msgid ""
1166 "struct module_symbol {\n"
1167 "    unsigned long value;\n"
1168 "    unsigned long name;\n"
1169 "};\n"
1170 msgstr ""
1171
1172 #. type: Plain text
1173 #: build/C/man2/query_module.2:98
1174 msgid ""
1175 "followed by null-terminated strings.  The value of I<name> is the character "
1176 "offset of the string relative to the start of I<buf>; I<ret> is set to the "
1177 "number of symbols."
1178 msgstr ""
1179
1180 #. type: TP
1181 #: build/C/man2/query_module.2:98
1182 #, no-wrap
1183 msgid "B<QM_INFO>"
1184 msgstr ""
1185
1186 #. type: Plain text
1187 #: build/C/man2/query_module.2:102
1188 msgid ""
1189 "Returns miscellaneous information about the indicated module.  The output "
1190 "buffer format is:"
1191 msgstr ""
1192
1193 #. type: Plain text
1194 #: build/C/man2/query_module.2:110
1195 #, no-wrap
1196 msgid ""
1197 "struct module_info {\n"
1198 "    unsigned long address;\n"
1199 "    unsigned long size;\n"
1200 "    unsigned long flags;\n"
1201 "};\n"
1202 msgstr ""
1203
1204 #. type: Plain text
1205 #: build/C/man2/query_module.2:129
1206 msgid ""
1207 "where I<address> is the kernel address at which the module resides, I<size> "
1208 "is the size of the module in bytes, and I<flags> is a mask of "
1209 "B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, etc., that indicates the current status of "
1210 "the module (see the Linux kernel source file I<include/linux/module.h>).  "
1211 "I<ret> is set to the size of the I<module_info> structure."
1212 msgstr ""
1213
1214 #. type: Plain text
1215 #: build/C/man2/query_module.2:143
1216 msgid ""
1217 "At least one of I<name>, I<buf>, or I<ret> was outside the program's "
1218 "accessible address space."
1219 msgstr ""
1220
1221 #.  Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
1222 #. type: Plain text
1223 #: build/C/man2/query_module.2:153
1224 msgid ""
1225 "Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this "
1226 "is not permitted with the specified value of I<which>."
1227 msgstr ""
1228
1229 #. type: Plain text
1230 #: build/C/man2/query_module.2:158
1231 msgid "No module by that I<name> exists."
1232 msgstr ""
1233
1234 #. type: TP
1235 #: build/C/man2/query_module.2:158
1236 #, no-wrap
1237 msgid "B<ENOSPC>"
1238 msgstr ""
1239
1240 #. type: Plain text
1241 #: build/C/man2/query_module.2:163
1242 msgid ""
1243 "The buffer size provided was too small.  I<ret> is set to the minimum size "
1244 "needed."
1245 msgstr ""
1246
1247 #. type: Plain text
1248 #: build/C/man2/query_module.2:168
1249 msgid ""
1250 "B<query_module>()  is not supported in this version of the kernel (e.g., the "
1251 "kernel is version 2.6 or later)."
1252 msgstr ""
1253
1254 #. type: Plain text
1255 #: build/C/man2/query_module.2:175
1256 msgid "B<query_module>()  is Linux-specific."
1257 msgstr ""
1258
1259 #. type: Plain text
1260 #: build/C/man2/query_module.2:183
1261 msgid ""
1262 "Some of the information that was formerly available via B<query_module>()  "
1263 "can be obtained from I</proc/modules>, I</proc/kallsyms>, and the files "
1264 "under the directory I</sys/module>."
1265 msgstr ""
1266
1267 #. type: Plain text
1268 #: build/C/man2/query_module.2:187
1269 msgid ""
1270 "Glibc does not provide a wrapper for this system call; in the unlikely event "
1271 "that you need to use it on an old kernel, use B<syscall>(2)."
1272 msgstr ""
1273
1274 #. type: Plain text
1275 #: build/C/man2/query_module.2:194
1276 msgid ""
1277 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "
1278 "B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"
1279 msgstr ""