# 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: 2012-05-01 04:38+0900\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=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: TH
#: build/C/man2/create_module.2:8
#, no-wrap
msgid "CREATE_MODULE"
msgstr ""

#. type: TH
#: build/C/man2/create_module.2:8 build/C/man2/get_kernel_syms.2:8 build/C/man2/query_module.2:8
#, no-wrap
msgid "2007-06-03"
msgstr ""

#. type: TH
#: 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
#, no-wrap
msgid "Linux"
msgstr ""

#. type: TH
#: 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
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "NAME"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:11
msgid "create_module - create a loadable module entry"
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "SYNOPSIS"
msgstr ""

#. type: Plain text
#: 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
#, no-wrap
msgid "B<#include E<lt>linux/module.hE<gt>>\n"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:16
#, no-wrap
msgid "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "DESCRIPTION"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:22
msgid ""
"B<create_module>()  attempts to create a loadable module entry and reserve "
"the kernel memory that will be needed to hold the module.  This system call "
"requires privilege."
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "RETURN VALUE"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:27
msgid ""
"On success, returns the kernel address at which the module will reside.  On "
"error -1 is returned and I<errno> is set appropriately."
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "ERRORS"
msgstr ""

#. type: TP
#: build/C/man2/create_module.2:28
#, no-wrap
msgid "B<EEXIST>"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:31
msgid "A module by that name already exists."
msgstr ""

#. type: TP
#: 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
#, no-wrap
msgid "B<EFAULT>"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:38
msgid "I<name> is outside the program's accessible address space."
msgstr ""

#. type: TP
#: 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
#, no-wrap
msgid "B<EINVAL>"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:38
msgid "The requested size is too small even for the module header information."
msgstr ""

#. type: TP
#: build/C/man2/create_module.2:38
#, no-wrap
msgid "B<ENOMEM>"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:42
msgid ""
"The kernel could not allocate a contiguous block of memory large enough for "
"the module."
msgstr ""

#. type: TP
#: build/C/man2/create_module.2:42 build/C/man2/get_kernel_syms.2:51 build/C/man2/query_module.2:155
#, no-wrap
msgid "B<ENOSYS>"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:46
msgid "B<create_module>()  is not supported in this version of the kernel."
msgstr ""

#. type: TP
#: build/C/man2/create_module.2:46 build/C/man2/delete_module.2:45 build/C/man2/init_module.2:90
#, no-wrap
msgid "B<EPERM>"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:52 build/C/man2/delete_module.2:51 build/C/man2/init_module.2:96
msgid ""
"The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
"capability)."
msgstr ""

#. type: SH
#: build/C/man2/create_module.2:52 build/C/man2/get_kernel_syms.2:55
#, no-wrap
msgid "VERSIONS"
msgstr ""

#.  Removed in Linux 2.5.48
#. type: Plain text
#: build/C/man2/create_module.2:56 build/C/man2/get_kernel_syms.2:59
msgid ""
"This system call is only present on Linux up until kernel 2.4; it was "
"removed in Linux 2.6."
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "CONFORMING TO"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:59
msgid "B<create_module>()  is Linux-specific."
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "SEE ALSO"
msgstr ""

#. type: Plain text
#: build/C/man2/create_module.2:63
msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
msgstr ""

#. type: SH
#: 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
#, no-wrap
msgid "COLOPHON"
msgstr ""

#. type: Plain text
#: 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
msgid ""
"This page is part of release 3.40 of the Linux I<man-pages> project.  A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""

#. type: TH
#: build/C/man2/delete_module.2:8
#, no-wrap
msgid "DELETE_MODULE"
msgstr ""

#. type: TH
#: build/C/man2/delete_module.2:8 build/C/man2/init_module.2:8
#, no-wrap
msgid "2006-02-09"
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:11
msgid "delete_module - delete a loadable module entry"
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:16
#, no-wrap
msgid "B<int delete_module(const char *>I<name>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:25
msgid ""
"B<delete_module>()  attempts to remove an unused loadable module entry.  If "
"I<name> is NULL, all unused modules marked auto-clean will be removed.  This "
"system call requires privilege."
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:30 build/C/man2/init_module.2:67 build/C/man2/query_module.2:126
msgid ""
"On success, zero is returned.  On error, -1 is returned and I<errno> is set "
"appropriately."
msgstr ""

#. type: TP
#: build/C/man2/delete_module.2:31 build/C/man2/init_module.2:68
#, no-wrap
msgid "B<EBUSY>"
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:34
msgid "The module is in use."
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:42
msgid "I<name> was an empty string."
msgstr ""

#. type: TP
#: build/C/man2/delete_module.2:42 build/C/man2/init_module.2:87 build/C/man2/query_module.2:145
#, no-wrap
msgid "B<ENOENT>"
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:45 build/C/man2/init_module.2:90
msgid "No module by that name exists."
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:54
msgid "B<delete_module>()  is Linux-specific."
msgstr ""

#. type: Plain text
#: build/C/man2/delete_module.2:58
msgid "B<create_module>(2), B<init_module>(2), B<query_module>(2)"
msgstr ""

#. type: TH
#: build/C/man2/get_kernel_syms.2:8
#, no-wrap
msgid "GET_KERNEL_SYMS"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:11
msgid "get_kernel_syms - retrieve exported kernel and module symbols"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:16
#, no-wrap
msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:24
msgid ""
"If I<table> is NULL, B<get_kernel_syms>()  returns the number of symbols "
"available for query.  Otherwise it fills in a table of structures:"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:31
#, no-wrap
msgid ""
"struct kernel_sym {\n"
"    unsigned long value;\n"
"    char          name[60];\n"
"};\n"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:39
msgid ""
"The symbols are interspersed with magic symbols of the form "
"B<#>I<module-name> with the kernel having an empty name.  The value "
"associated with a symbol of this form is the address at which the module is "
"loaded."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:43
msgid ""
"The symbols exported from each module follow their magic module tag and the "
"modules are returned in the reverse of the order in which they were loaded."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:49
msgid ""
"On success, returns the number of symbols copied to I<table>.  On error, -1 "
"is returned and I<errno> is set appropriately."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:51
msgid "There is only one possible error return:"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:55
msgid "B<get_kernel_syms>()  is not supported in this version of the kernel."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:62
msgid "B<get_kernel_syms>()  is Linux-specific."
msgstr ""

#. type: SH
#: build/C/man2/get_kernel_syms.2:62
#, no-wrap
msgid "BUGS"
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:67
msgid ""
"There is no way to indicate the size of the buffer allocated for I<table>.  "
"If symbols have been added to the kernel since the program queried for the "
"symbol table size, memory will be corrupted."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:69
msgid "The length of exported symbol names is limited to 59 characters."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:75
msgid ""
"Because of these limitations, this system call is deprecated in favor of "
"B<query_module>(2)  (which is itself nowadays deprecated in favor of other "
"interfaces described on its manual page)."
msgstr ""

#. type: Plain text
#: build/C/man2/get_kernel_syms.2:80
msgid ""
"B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
"B<query_module>(2)"
msgstr ""

#. type: TH
#: build/C/man2/init_module.2:8
#, no-wrap
msgid "INIT_MODULE"
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:11
msgid "init_module - initialize a loadable module entry"
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:16
#, no-wrap
msgid "B<int init_module(const char *>I<name>B<, struct module *>I<image>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:23
msgid ""
"B<init_module>()  loads the relocated module image into kernel space and "
"runs the module's I<init> function."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:27
msgid ""
"The module image begins with a module structure and is followed by code and "
"data as appropriate.  The module structure is defined as follows:"
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:50
#, no-wrap
msgid ""
"struct module {\n"
"    unsigned long         size_of_struct;\n"
"    struct module        *next;\n"
"    const char           *name;\n"
"    unsigned long         size;\n"
"    long                  usecount;\n"
"    unsigned long         flags;\n"
"    unsigned int          nsyms;\n"
"    unsigned int          ndeps;\n"
"    struct module_symbol *syms;\n"
"    struct module_ref    *deps;\n"
"    struct module_ref    *refs;\n"
"    int                 (*init)(void);\n"
"    void                (*cleanup)(void);\n"
"    const struct exception_table_entry *ex_table_start;\n"
"    const struct exception_table_entry *ex_table_end;\n"
"#ifdef __alpha__\n"
"    unsigned long gp;\n"
"#endif\n"
"};\n"
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:60
msgid ""
"All of the pointer fields, with the exception of I<next> and I<refs>, are "
"expected to point within the module body and be initialized as appropriate "
"for kernel space, that is, relocated with the rest of the module."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:62
msgid "This system call requires privilege."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:71
msgid "The module's initialization routine failed."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:77
msgid "I<name> or I<image> is outside the program's accessible address space."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:87
msgid ""
"Some I<image> slot is filled in incorrectly, I<image-E<gt>name> does not "
"correspond to the original module name, some I<image-E<gt>deps> entry does "
"not correspond to a loaded module, or some other similar inconsistency."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:99
msgid "B<init_module>()  is Linux-specific."
msgstr ""

#. type: Plain text
#: build/C/man2/init_module.2:103
msgid "B<create_module>(2), B<delete_module>(2), B<query_module>(2)"
msgstr ""

#. type: TH
#: build/C/man2/query_module.2:8
#, no-wrap
msgid "QUERY_MODULE"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:11
msgid "query_module - query the kernel for various bits pertaining to modules"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:17
#, no-wrap
msgid ""
"B<int query_module(const char *>I<name>B<, int >I<which>B<, void "
"*>I<buf>B<,>\n"
"B<                 size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:35
msgid ""
"B<query_module>()  requests information from the kernel about loadable "
"modules.  The returned information is placed in the buffer pointed to by "
"I<buf>.  The caller must specify the size of I<buf> in I<bufsize>.  The "
"precise nature and format of the returned information depend on the "
"operation specified by I<which>.  Some operations require I<name> to "
"identify a currently loaded module, some allow I<name> to be NULL, "
"indicating the kernel proper."
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:38
msgid "The following values can be specified for I<which>:"
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:38
#, no-wrap
msgid "B<0>"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:43
msgid ""
"Returns success, if the kernel supports B<query_module>().  Used to probe "
"for availability of the system call."
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:43
#, no-wrap
msgid "B<QM_MODULES>"
msgstr ""

#.  ret is set on ENOSPC
#. type: Plain text
#: build/C/man2/query_module.2:51
msgid ""
"Returns the names of all loaded modules.  The returned buffer consists of a "
"sequence of null-terminated strings; I<ret> is set to the number of modules."
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:51
#, no-wrap
msgid "B<QM_DEPS>"
msgstr ""

#.  ret is set on ENOSPC
#. type: Plain text
#: build/C/man2/query_module.2:58
msgid ""
"Returns the names of all modules used by the indicated module.  The returned "
"buffer consists of a sequence of null-terminated strings; I<ret> is set to "
"the number of modules."
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:58
#, no-wrap
msgid "B<QM_REFS>"
msgstr ""

#.  ret is set on ENOSPC
#. type: Plain text
#: build/C/man2/query_module.2:67
msgid ""
"Returns the names of all modules using the indicated module.  This is the "
"inverse of B<QM_DEPS>.  The returned buffer consists of a sequence of "
"null-terminated strings; I<ret> is set to the number of modules."
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:67
#, no-wrap
msgid "B<QM_SYMBOLS>"
msgstr ""

#.  ret is set on ENOSPC
#. type: Plain text
#: build/C/man2/query_module.2:73
msgid ""
"Returns the symbols and values exported by the kernel or the indicated "
"module.  The returned buffer is an array of structures of the following form"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:80
#, no-wrap
msgid ""
"struct module_symbol {\n"
"    unsigned long value;\n"
"    unsigned long name;\n"
"};\n"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:90
msgid ""
"followed by null-terminated strings.  The value of I<name> is the character "
"offset of the string relative to the start of I<buf>; I<ret> is set to the "
"number of symbols."
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:90
#, no-wrap
msgid "B<QM_INFO>"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:94
msgid ""
"Returns miscellaneous information about the indicated module.  The output "
"buffer format is:"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:102
#, no-wrap
msgid ""
"struct module_info {\n"
"    unsigned long address;\n"
"    unsigned long size;\n"
"    unsigned long flags;\n"
"};\n"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:121
msgid ""
"where I<address> is the kernel address at which the module resides, I<size> "
"is the size of the module in bytes, and I<flags> is a mask of "
"B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, etc. that indicates the current status of "
"the module (see the kernel source file I<include/linux/module.h>).  I<ret> "
"is set to the size of the I<module_info> structure."
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:135
msgid ""
"At least one of I<name>, I<buf>, or I<ret> was outside the program's "
"accessible address space."
msgstr ""

#.  Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
#. type: Plain text
#: build/C/man2/query_module.2:145
msgid ""
"Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this "
"is not permitted with the specified value of I<which>."
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:150
msgid "No module by that I<name> exists."
msgstr ""

#. type: TP
#: build/C/man2/query_module.2:150
#, no-wrap
msgid "B<ENOSPC>"
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:155
msgid ""
"The buffer size provided was too small.  I<ret> is set to the minimum size "
"needed."
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:159
msgid "B<query_module>()  is not supported in this version of the kernel."
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:162
msgid "B<query_module>()  is Linux-specific."
msgstr ""

#. type: SH
#: build/C/man2/query_module.2:162
#, no-wrap
msgid "NOTES"
msgstr ""

#.  Removed in Linux 2.5.48
#. type: Plain text
#: build/C/man2/query_module.2:173
msgid ""
"This system call is only present on Linux up until kernel 2.4; it was "
"removed in Linux 2.6.  Some of the information that was available via "
"B<query_module>()  can be obtained from I</proc/modules>, I</proc/kallsyms>, "
"and I</sys/modules>."
msgstr ""

#. type: Plain text
#: build/C/man2/query_module.2:178
msgid ""
"B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "
"B<init_module>(2)"
msgstr ""
