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-03-22 04:25+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:63
208 msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
212 #: build/C/man2/create_module.2:63 build/C/man2/delete_module.2:58 build/C/man2/get_kernel_syms.2:80 build/C/man2/init_module.2:103 build/C/man2/query_module.2:178
218 #: build/C/man2/create_module.2:70 build/C/man2/delete_module.2:65 build/C/man2/get_kernel_syms.2:87 build/C/man2/init_module.2:110 build/C/man2/query_module.2:185
220 "This page is part of release 3.37 of the Linux I<man-pages> project. A "
221 "description of the project, and information about reporting bugs, can be "
222 "found at http://www.kernel.org/doc/man-pages/."
226 #: build/C/man2/delete_module.2:8
228 msgid "DELETE_MODULE"
232 #: build/C/man2/delete_module.2:8 build/C/man2/init_module.2:8
238 #: build/C/man2/delete_module.2:11
239 msgid "delete_module - delete a loadable module entry"
243 #: build/C/man2/delete_module.2:16
245 msgid "B<int delete_module(const char *>I<name>B<);>\n"
249 #: build/C/man2/delete_module.2:25
251 "B<delete_module>() attempts to remove an unused loadable module entry. If "
252 "I<name> is NULL, all unused modules marked auto-clean will be removed. This "
253 "system call requires privilege."
257 #: build/C/man2/delete_module.2:30 build/C/man2/init_module.2:67 build/C/man2/query_module.2:126
259 "On success, zero is returned. On error, -1 is returned and I<errno> is set "
264 #: build/C/man2/delete_module.2:31 build/C/man2/init_module.2:68
270 #: build/C/man2/delete_module.2:34
271 msgid "The module is in use."
275 #: build/C/man2/delete_module.2:42
276 msgid "I<name> was an empty string."
280 #: build/C/man2/delete_module.2:42 build/C/man2/init_module.2:87 build/C/man2/query_module.2:145
286 #: build/C/man2/delete_module.2:45 build/C/man2/init_module.2:90
287 msgid "No module by that name exists."
291 #: build/C/man2/delete_module.2:54
292 msgid "B<delete_module>() is Linux-specific."
296 #: build/C/man2/delete_module.2:58
297 msgid "B<create_module>(2), B<init_module>(2), B<query_module>(2)"
301 #: build/C/man2/get_kernel_syms.2:8
303 msgid "GET_KERNEL_SYMS"
307 #: build/C/man2/get_kernel_syms.2:11
308 msgid "get_kernel_syms - retrieve exported kernel and module symbols"
312 #: build/C/man2/get_kernel_syms.2:16
314 msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
318 #: build/C/man2/get_kernel_syms.2:24
320 "If I<table> is NULL, B<get_kernel_syms>() returns the number of symbols "
321 "available for query. Otherwise it fills in a table of structures:"
325 #: build/C/man2/get_kernel_syms.2:31
328 "struct kernel_sym {\n"
329 " unsigned long value;\n"
335 #: build/C/man2/get_kernel_syms.2:39
337 "The symbols are interspersed with magic symbols of the form "
338 "B<#>I<module-name> with the kernel having an empty name. The value "
339 "associated with a symbol of this form is the address at which the module is "
344 #: build/C/man2/get_kernel_syms.2:43
346 "The symbols exported from each module follow their magic module tag and the "
347 "modules are returned in the reverse of the order in which they were loaded."
351 #: build/C/man2/get_kernel_syms.2:49
353 "On success, returns the number of symbols copied to I<table>. On error, -1 "
354 "is returned and I<errno> is set appropriately."
358 #: build/C/man2/get_kernel_syms.2:51
359 msgid "There is only one possible error return:"
363 #: build/C/man2/get_kernel_syms.2:55
364 msgid "B<get_kernel_syms>() is not supported in this version of the kernel."
368 #: build/C/man2/get_kernel_syms.2:62
369 msgid "B<get_kernel_syms>() is Linux-specific."
373 #: build/C/man2/get_kernel_syms.2:62
379 #: build/C/man2/get_kernel_syms.2:67
381 "There is no way to indicate the size of the buffer allocated for I<table>. "
382 "If symbols have been added to the kernel since the program queried for the "
383 "symbol table size, memory will be corrupted."
387 #: build/C/man2/get_kernel_syms.2:69
388 msgid "The length of exported symbol names is limited to 59 characters."
392 #: build/C/man2/get_kernel_syms.2:75
394 "Because of these limitations, this system call is deprecated in favor of "
395 "B<query_module>(2) (which is itself nowadays deprecated in favor of other "
396 "interfaces described on its manual page)."
400 #: build/C/man2/get_kernel_syms.2:80
402 "B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
407 #: build/C/man2/init_module.2:8
413 #: build/C/man2/init_module.2:11
414 msgid "init_module - initialize a loadable module entry"
418 #: build/C/man2/init_module.2:16
420 msgid "B<int init_module(const char *>I<name>B<, struct module *>I<image>B<);>\n"
424 #: build/C/man2/init_module.2:23
426 "B<init_module>() loads the relocated module image into kernel space and "
427 "runs the module's I<init> function."
431 #: build/C/man2/init_module.2:27
433 "The module image begins with a module structure and is followed by code and "
434 "data as appropriate. The module structure is defined as follows:"
438 #: build/C/man2/init_module.2:50
442 " unsigned long size_of_struct;\n"
443 " struct module *next;\n"
444 " const char *name;\n"
445 " unsigned long size;\n"
447 " unsigned long flags;\n"
448 " unsigned int nsyms;\n"
449 " unsigned int ndeps;\n"
450 " struct module_symbol *syms;\n"
451 " struct module_ref *deps;\n"
452 " struct module_ref *refs;\n"
453 " int (*init)(void);\n"
454 " void (*cleanup)(void);\n"
455 " const struct exception_table_entry *ex_table_start;\n"
456 " const struct exception_table_entry *ex_table_end;\n"
458 " unsigned long gp;\n"
464 #: build/C/man2/init_module.2:60
466 "All of the pointer fields, with the exception of I<next> and I<refs>, are "
467 "expected to point within the module body and be initialized as appropriate "
468 "for kernel space, that is, relocated with the rest of the module."
472 #: build/C/man2/init_module.2:62
473 msgid "This system call requires privilege."
477 #: build/C/man2/init_module.2:71
478 msgid "The module's initialization routine failed."
482 #: build/C/man2/init_module.2:77
483 msgid "I<name> or I<image> is outside the program's accessible address space."
487 #: build/C/man2/init_module.2:87
489 "Some I<image> slot is filled in incorrectly, I<image-E<gt>name> does not "
490 "correspond to the original module name, some I<image-E<gt>deps> entry does "
491 "not correspond to a loaded module, or some other similar inconsistency."
495 #: build/C/man2/init_module.2:99
496 msgid "B<init_module>() is Linux-specific."
500 #: build/C/man2/init_module.2:103
501 msgid "B<create_module>(2), B<delete_module>(2), B<query_module>(2)"
505 #: build/C/man2/query_module.2:8
511 #: build/C/man2/query_module.2:11
512 msgid "query_module - query the kernel for various bits pertaining to modules"
516 #: build/C/man2/query_module.2:17
519 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void "
521 "B< size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
525 #: build/C/man2/query_module.2:35
527 "B<query_module>() requests information from the kernel about loadable "
528 "modules. The returned information is placed in the buffer pointed to by "
529 "I<buf>. The caller must specify the size of I<buf> in I<bufsize>. The "
530 "precise nature and format of the returned information depend on the "
531 "operation specified by I<which>. Some operations require I<name> to "
532 "identify a currently loaded module, some allow I<name> to be NULL, "
533 "indicating the kernel proper."
537 #: build/C/man2/query_module.2:38
538 msgid "The following values can be specified for I<which>:"
542 #: build/C/man2/query_module.2:38
548 #: build/C/man2/query_module.2:43
550 "Returns success, if the kernel supports B<query_module>(). Used to probe "
551 "for availability of the system call."
555 #: build/C/man2/query_module.2:43
557 msgid "B<QM_MODULES>"
560 #. ret is set on ENOSPC
562 #: build/C/man2/query_module.2:51
564 "Returns the names of all loaded modules. The returned buffer consists of a "
565 "sequence of null-terminated strings; I<ret> is set to the number of modules."
569 #: build/C/man2/query_module.2:51
574 #. ret is set on ENOSPC
576 #: build/C/man2/query_module.2:58
578 "Returns the names of all modules used by the indicated module. The returned "
579 "buffer consists of a sequence of null-terminated strings; I<ret> is set to "
580 "the number of modules."
584 #: build/C/man2/query_module.2:58
589 #. ret is set on ENOSPC
591 #: build/C/man2/query_module.2:67
593 "Returns the names of all modules using the indicated module. This is the "
594 "inverse of B<QM_DEPS>. The returned buffer consists of a sequence of "
595 "null-terminated strings; I<ret> is set to the number of modules."
599 #: build/C/man2/query_module.2:67
601 msgid "B<QM_SYMBOLS>"
604 #. ret is set on ENOSPC
606 #: build/C/man2/query_module.2:73
608 "Returns the symbols and values exported by the kernel or the indicated "
609 "module. The returned buffer is an array of structures of the following form"
613 #: build/C/man2/query_module.2:80
616 "struct module_symbol {\n"
617 " unsigned long value;\n"
618 " unsigned long name;\n"
623 #: build/C/man2/query_module.2:90
625 "followed by null-terminated strings. The value of I<name> is the character "
626 "offset of the string relative to the start of I<buf>; I<ret> is set to the "
631 #: build/C/man2/query_module.2:90
637 #: build/C/man2/query_module.2:94
639 "Returns miscellaneous information about the indicated module. The output "
644 #: build/C/man2/query_module.2:102
647 "struct module_info {\n"
648 " unsigned long address;\n"
649 " unsigned long size;\n"
650 " unsigned long flags;\n"
655 #: build/C/man2/query_module.2:121
657 "where I<address> is the kernel address at which the module resides, I<size> "
658 "is the size of the module in bytes, and I<flags> is a mask of "
659 "B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, etc. that indicates the current status of "
660 "the module (see the kernel source file I<include/linux/module.h>). I<ret> "
661 "is set to the size of the I<module_info> structure."
665 #: build/C/man2/query_module.2:135
667 "At least one of I<name>, I<buf>, or I<ret> was outside the program's "
668 "accessible address space."
671 #. Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
673 #: build/C/man2/query_module.2:145
675 "Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this "
676 "is not permitted with the specified value of I<which>."
680 #: build/C/man2/query_module.2:150
681 msgid "No module by that I<name> exists."
685 #: build/C/man2/query_module.2:150
691 #: build/C/man2/query_module.2:155
693 "The buffer size provided was too small. I<ret> is set to the minimum size "
698 #: build/C/man2/query_module.2:159
699 msgid "B<query_module>() is not supported in this version of the kernel."
703 #: build/C/man2/query_module.2:162
704 msgid "B<query_module>() is Linux-specific."
708 #: build/C/man2/query_module.2:162
713 #. Removed in Linux 2.5.48
715 #: build/C/man2/query_module.2:173
717 "This system call is only present on Linux up until kernel 2.4; it was "
718 "removed in Linux 2.6. Some of the information that was available via "
719 "B<query_module>() can be obtained from I</proc/modules>, I</proc/kallsyms>, "
720 "and I</sys/modules>."
724 #: build/C/man2/query_module.2:178
726 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "