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.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2012-04-25 05:36+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"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man2/create_module.2:8
26 #: build/C/man2/create_module.2:8 build/C/man2/get_kernel_syms.2:8 build/C/man2/query_module.2:8
32 #: build/C/man2/create_module.2:8 build/C/man2/delete_module.2:8 build/C/man2/get_kernel_syms.2:8 build/C/man2/init_module.2:8 build/C/man2/query_module.2:8
38 #: build/C/man2/create_module.2:8 build/C/man2/delete_module.2:8 build/C/man2/get_kernel_syms.2:8 build/C/man2/init_module.2:8 build/C/man2/query_module.2:8
40 msgid "Linux Programmer's Manual"
44 #: build/C/man2/create_module.2:9 build/C/man2/delete_module.2:9 build/C/man2/get_kernel_syms.2:9 build/C/man2/init_module.2:9 build/C/man2/query_module.2:9
50 #: build/C/man2/create_module.2:11
51 msgid "create_module - create a loadable module entry"
55 #: build/C/man2/create_module.2:11 build/C/man2/delete_module.2:11 build/C/man2/get_kernel_syms.2:11 build/C/man2/init_module.2:11 build/C/man2/query_module.2:11
61 #: build/C/man2/create_module.2:14 build/C/man2/delete_module.2:14 build/C/man2/get_kernel_syms.2:14 build/C/man2/init_module.2:14 build/C/man2/query_module.2:14
63 msgid "B<#include E<lt>linux/module.hE<gt>>\n"
67 #: build/C/man2/create_module.2:16
69 msgid "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
73 #: build/C/man2/create_module.2:17 build/C/man2/delete_module.2:17 build/C/man2/get_kernel_syms.2:17 build/C/man2/init_module.2:17 build/C/man2/query_module.2:18
79 #: build/C/man2/create_module.2:22
81 "B<create_module>() attempts to create a loadable module entry and reserve "
82 "the kernel memory that will be needed to hold the module. This system call "
87 #: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:25 build/C/man2/get_kernel_syms.2:43 build/C/man2/init_module.2:62 build/C/man2/query_module.2:121
93 #: build/C/man2/create_module.2:27
95 "On success, returns the kernel address at which the module will reside. On "
96 "error -1 is returned and I<errno> is set appropriately."
100 #: build/C/man2/create_module.2:27 build/C/man2/delete_module.2:30 build/C/man2/get_kernel_syms.2:49 build/C/man2/init_module.2:67 build/C/man2/query_module.2:126
106 #: build/C/man2/create_module.2:28
112 #: build/C/man2/create_module.2:31
113 msgid "A module by that name already exists."
117 #: build/C/man2/create_module.2:31 build/C/man2/delete_module.2:34 build/C/man2/init_module.2:71 build/C/man2/query_module.2:127
123 #: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:38
124 msgid "I<name> is outside the program's accessible address space."
128 #: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:38 build/C/man2/init_module.2:77 build/C/man2/query_module.2:135
134 #: build/C/man2/create_module.2:38
135 msgid "The requested size is too small even for the module header information."
139 #: build/C/man2/create_module.2:38
145 #: build/C/man2/create_module.2:42
147 "The kernel could not allocate a contiguous block of memory large enough for "
152 #: build/C/man2/create_module.2:42 build/C/man2/get_kernel_syms.2:51 build/C/man2/query_module.2:155
158 #: build/C/man2/create_module.2:46
159 msgid "B<create_module>() is not supported in this version of the kernel."
163 #: build/C/man2/create_module.2:46 build/C/man2/delete_module.2:45 build/C/man2/init_module.2:90
169 #: build/C/man2/create_module.2:52 build/C/man2/delete_module.2:51 build/C/man2/init_module.2:96
171 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
176 #: build/C/man2/create_module.2:52 build/C/man2/get_kernel_syms.2:55
181 #. Removed in Linux 2.5.48
183 #: build/C/man2/create_module.2:56 build/C/man2/get_kernel_syms.2:59
185 "This system call is only present on Linux up until kernel 2.4; it was "
186 "removed in Linux 2.6."
190 #: build/C/man2/create_module.2:56 build/C/man2/delete_module.2:51 build/C/man2/get_kernel_syms.2:59 build/C/man2/init_module.2:96 build/C/man2/query_module.2:159
192 msgid "CONFORMING TO"
196 #: build/C/man2/create_module.2:59
197 msgid "B<create_module>() is Linux-specific."
201 #: build/C/man2/create_module.2:59 build/C/man2/delete_module.2:54 build/C/man2/get_kernel_syms.2:75 build/C/man2/init_module.2:99 build/C/man2/query_module.2:173
207 #: build/C/man2/create_module.2:62
208 msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
212 #: build/C/man2/delete_module.2:8
214 msgid "DELETE_MODULE"
218 #: build/C/man2/delete_module.2:8 build/C/man2/init_module.2:8
224 #: build/C/man2/delete_module.2:11
225 msgid "delete_module - delete a loadable module entry"
229 #: build/C/man2/delete_module.2:16
231 msgid "B<int delete_module(const char *>I<name>B<);>\n"
235 #: build/C/man2/delete_module.2:25
237 "B<delete_module>() attempts to remove an unused loadable module entry. If "
238 "I<name> is NULL, all unused modules marked auto-clean will be removed. This "
239 "system call requires privilege."
243 #: build/C/man2/delete_module.2:30 build/C/man2/init_module.2:67 build/C/man2/query_module.2:126
245 "On success, zero is returned. On error, -1 is returned and I<errno> is set "
250 #: build/C/man2/delete_module.2:31 build/C/man2/init_module.2:68
256 #: build/C/man2/delete_module.2:34
257 msgid "The module is in use."
261 #: build/C/man2/delete_module.2:42
262 msgid "I<name> was an empty string."
266 #: build/C/man2/delete_module.2:42 build/C/man2/init_module.2:87 build/C/man2/query_module.2:145
272 #: build/C/man2/delete_module.2:45 build/C/man2/init_module.2:90
273 msgid "No module by that name exists."
277 #: build/C/man2/delete_module.2:54
278 msgid "B<delete_module>() is Linux-specific."
282 #: build/C/man2/delete_module.2:57
283 msgid "B<create_module>(2), B<init_module>(2), B<query_module>(2)"
287 #: build/C/man2/get_kernel_syms.2:8
289 msgid "GET_KERNEL_SYMS"
293 #: build/C/man2/get_kernel_syms.2:11
294 msgid "get_kernel_syms - retrieve exported kernel and module symbols"
298 #: build/C/man2/get_kernel_syms.2:16
300 msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
304 #: build/C/man2/get_kernel_syms.2:24
306 "If I<table> is NULL, B<get_kernel_syms>() returns the number of symbols "
307 "available for query. Otherwise it fills in a table of structures:"
311 #: build/C/man2/get_kernel_syms.2:31
314 "struct kernel_sym {\n"
315 " unsigned long value;\n"
321 #: build/C/man2/get_kernel_syms.2:39
323 "The symbols are interspersed with magic symbols of the form "
324 "B<#>I<module-name> with the kernel having an empty name. The value "
325 "associated with a symbol of this form is the address at which the module is "
330 #: build/C/man2/get_kernel_syms.2:43
332 "The symbols exported from each module follow their magic module tag and the "
333 "modules are returned in the reverse of the order in which they were loaded."
337 #: build/C/man2/get_kernel_syms.2:49
339 "On success, returns the number of symbols copied to I<table>. On error, -1 "
340 "is returned and I<errno> is set appropriately."
344 #: build/C/man2/get_kernel_syms.2:51
345 msgid "There is only one possible error return:"
349 #: build/C/man2/get_kernel_syms.2:55
350 msgid "B<get_kernel_syms>() is not supported in this version of the kernel."
354 #: build/C/man2/get_kernel_syms.2:62
355 msgid "B<get_kernel_syms>() is Linux-specific."
359 #: build/C/man2/get_kernel_syms.2:62
365 #: build/C/man2/get_kernel_syms.2:67
367 "There is no way to indicate the size of the buffer allocated for I<table>. "
368 "If symbols have been added to the kernel since the program queried for the "
369 "symbol table size, memory will be corrupted."
373 #: build/C/man2/get_kernel_syms.2:69
374 msgid "The length of exported symbol names is limited to 59 characters."
378 #: build/C/man2/get_kernel_syms.2:75
380 "Because of these limitations, this system call is deprecated in favor of "
381 "B<query_module>(2) (which is itself nowadays deprecated in favor of other "
382 "interfaces described on its manual page)."
386 #: build/C/man2/get_kernel_syms.2:79
388 "B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
393 #: build/C/man2/init_module.2:8
399 #: build/C/man2/init_module.2:11
400 msgid "init_module - initialize a loadable module entry"
404 #: build/C/man2/init_module.2:16
406 msgid "B<int init_module(const char *>I<name>B<, struct module *>I<image>B<);>\n"
410 #: build/C/man2/init_module.2:23
412 "B<init_module>() loads the relocated module image into kernel space and "
413 "runs the module's I<init> function."
417 #: build/C/man2/init_module.2:27
419 "The module image begins with a module structure and is followed by code and "
420 "data as appropriate. The module structure is defined as follows:"
424 #: build/C/man2/init_module.2:50
428 " unsigned long size_of_struct;\n"
429 " struct module *next;\n"
430 " const char *name;\n"
431 " unsigned long size;\n"
433 " unsigned long flags;\n"
434 " unsigned int nsyms;\n"
435 " unsigned int ndeps;\n"
436 " struct module_symbol *syms;\n"
437 " struct module_ref *deps;\n"
438 " struct module_ref *refs;\n"
439 " int (*init)(void);\n"
440 " void (*cleanup)(void);\n"
441 " const struct exception_table_entry *ex_table_start;\n"
442 " const struct exception_table_entry *ex_table_end;\n"
444 " unsigned long gp;\n"
450 #: build/C/man2/init_module.2:60
452 "All of the pointer fields, with the exception of I<next> and I<refs>, are "
453 "expected to point within the module body and be initialized as appropriate "
454 "for kernel space, that is, relocated with the rest of the module."
458 #: build/C/man2/init_module.2:62
459 msgid "This system call requires privilege."
463 #: build/C/man2/init_module.2:71
464 msgid "The module's initialization routine failed."
468 #: build/C/man2/init_module.2:77
469 msgid "I<name> or I<image> is outside the program's accessible address space."
473 #: build/C/man2/init_module.2:87
475 "Some I<image> slot is filled in incorrectly, I<image-E<gt>name> does not "
476 "correspond to the original module name, some I<image-E<gt>deps> entry does "
477 "not correspond to a loaded module, or some other similar inconsistency."
481 #: build/C/man2/init_module.2:99
482 msgid "B<init_module>() is Linux-specific."
486 #: build/C/man2/init_module.2:102
487 msgid "B<create_module>(2), B<delete_module>(2), B<query_module>(2)"
491 #: build/C/man2/query_module.2:8
497 #: build/C/man2/query_module.2:11
498 msgid "query_module - query the kernel for various bits pertaining to modules"
502 #: build/C/man2/query_module.2:17
505 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void "
507 "B< size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
511 #: build/C/man2/query_module.2:35
513 "B<query_module>() requests information from the kernel about loadable "
514 "modules. The returned information is placed in the buffer pointed to by "
515 "I<buf>. The caller must specify the size of I<buf> in I<bufsize>. The "
516 "precise nature and format of the returned information depend on the "
517 "operation specified by I<which>. Some operations require I<name> to "
518 "identify a currently loaded module, some allow I<name> to be NULL, "
519 "indicating the kernel proper."
523 #: build/C/man2/query_module.2:38
524 msgid "The following values can be specified for I<which>:"
528 #: build/C/man2/query_module.2:38
534 #: build/C/man2/query_module.2:43
536 "Returns success, if the kernel supports B<query_module>(). Used to probe "
537 "for availability of the system call."
541 #: build/C/man2/query_module.2:43
543 msgid "B<QM_MODULES>"
546 #. ret is set on ENOSPC
548 #: build/C/man2/query_module.2:51
550 "Returns the names of all loaded modules. The returned buffer consists of a "
551 "sequence of null-terminated strings; I<ret> is set to the number of modules."
555 #: build/C/man2/query_module.2:51
560 #. ret is set on ENOSPC
562 #: build/C/man2/query_module.2:58
564 "Returns the names of all modules used by the indicated module. The returned "
565 "buffer consists of a sequence of null-terminated strings; I<ret> is set to "
566 "the number of modules."
570 #: build/C/man2/query_module.2:58
575 #. ret is set on ENOSPC
577 #: build/C/man2/query_module.2:67
579 "Returns the names of all modules using the indicated module. This is the "
580 "inverse of B<QM_DEPS>. The returned buffer consists of a sequence of "
581 "null-terminated strings; I<ret> is set to the number of modules."
585 #: build/C/man2/query_module.2:67
587 msgid "B<QM_SYMBOLS>"
590 #. ret is set on ENOSPC
592 #: build/C/man2/query_module.2:73
594 "Returns the symbols and values exported by the kernel or the indicated "
595 "module. The returned buffer is an array of structures of the following form"
599 #: build/C/man2/query_module.2:80
602 "struct module_symbol {\n"
603 " unsigned long value;\n"
604 " unsigned long name;\n"
609 #: build/C/man2/query_module.2:90
611 "followed by null-terminated strings. The value of I<name> is the character "
612 "offset of the string relative to the start of I<buf>; I<ret> is set to the "
617 #: build/C/man2/query_module.2:90
623 #: build/C/man2/query_module.2:94
625 "Returns miscellaneous information about the indicated module. The output "
630 #: build/C/man2/query_module.2:102
633 "struct module_info {\n"
634 " unsigned long address;\n"
635 " unsigned long size;\n"
636 " unsigned long flags;\n"
641 #: build/C/man2/query_module.2:121
643 "where I<address> is the kernel address at which the module resides, I<size> "
644 "is the size of the module in bytes, and I<flags> is a mask of "
645 "B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, etc. that indicates the current status of "
646 "the module (see the kernel source file I<include/linux/module.h>). I<ret> "
647 "is set to the size of the I<module_info> structure."
651 #: build/C/man2/query_module.2:135
653 "At least one of I<name>, I<buf>, or I<ret> was outside the program's "
654 "accessible address space."
657 #. Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
659 #: build/C/man2/query_module.2:145
661 "Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this "
662 "is not permitted with the specified value of I<which>."
666 #: build/C/man2/query_module.2:150
667 msgid "No module by that I<name> exists."
671 #: build/C/man2/query_module.2:150
677 #: build/C/man2/query_module.2:155
679 "The buffer size provided was too small. I<ret> is set to the minimum size "
684 #: build/C/man2/query_module.2:159
685 msgid "B<query_module>() is not supported in this version of the kernel."
689 #: build/C/man2/query_module.2:162
690 msgid "B<query_module>() is Linux-specific."
694 #: build/C/man2/query_module.2:162
699 #. Removed in Linux 2.5.48
701 #: build/C/man2/query_module.2:173
703 "This system call is only present on Linux up until kernel 2.4; it was "
704 "removed in Linux 2.6. Some of the information that was available via "
705 "B<query_module>() can be obtained from I</proc/modules>, I</proc/kallsyms>, "
706 "and I</sys/modules>."
710 #: build/C/man2/query_module.2:177
712 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "