Manpages

NÉV

query_module − különböző modulokra vonatkozó paramétereket kérdez a kerneltől.

ÁTTEKINTÉS

#include <linux/module.h>

int query_module(const char *name, int which,
void *
buf, size_t bufsize, size_t *ret);

LEÍRÁS

A query_module betölthető modulokra vonatkozó információkat kér a kerneltől. Az információ pontos természete és formátuma a which alfunkciótól függ. Néhány funkciónak szüksége van a name paraméterre, hogy megnevezzen egy jelenleg betöltött modult, néhány másik megengedi hogy a name értéke NULL legyen, jelezve a magát a kernelt.

A WHICH ÉRTÉKEI

0

Mindig sikerrel tér vissza. A rendszerhívás tesztelésére használható.

QM_MODULES

A betöltött modulok nevét adja vissza. A kimenő puffer formátuma egymás után sorakozó nullára végződő stringek; a ret értéke a modulok száma.

QM_DEPS

Visszaadja a megadott modul által használt összes modul nevét. A kimenő puffer formátuma egymás után sorakozó nullára végződő stringek; a ret értéke a modulok száma.

QM_REFS

Visszaadja az összes modul nevét, amelyik a megadott modult használja. Ez a QM_DEPS fordítottja. A kimenő puffer formátuma egymás után sorakozó nullára végződő stringek; a ret értéke a modulok száma.

QM_SYMBOLS

Visszaadja a kernel vagy a megadott modul által exportált szimbólumok nevét és értékét. A puffer formátuma egy ilyen struktúrákból álló tömb:

struct module_symbol
{
unsigned long value;
unsigned long name;
};

nullára végződő stringekkel folytatva. A name értéke a buf kezdetéhez képest relatív karakter offszet; a ret értéke a szimbólumok száma.

QM_INFO

Egyéb információt ad a megadott modulról. A kimenő puffer formátuma:

struct module_info
{
unsigned long address;
unsigned long size;
unsigned long flags;
};

ahol a address a kernel memória cím, ahol a modul helyet foglal, size a modul mérete bájtban, és flags egy maszkolt érték a következőkből: MOD_RUNNING, MOD_AUTOCLEAN, stb., ami a modul jelenlegi állapotát jelzi. A ret értéke a module_info struktúra méretét adja meg.

VISSZATÉRÉSI ÉRTÉK

Siker esetén zéró. Hiba esetén az érték −1, és az errno értéke megfelelően lesz beállítva.

HIBÁK

ENOENT

Nincs name nevű modul.

EINVAL

Hibás which, vagy name a kernelt jelenti egy olyan alfunkciónál, ahol ez nem értelmes.

ENOSPC

A megadott buffer méret túl kicsi. ret a minimálisan szükséges méretet tartalmazza.

EFAULT

A name, buf, vagy ret közül legalább az egyik kívül volt a program által elérhető címtartományon.

LÁSD MÉG

create_module(2), init_module(2), delete_module(2).

MAGYAR FORDÍTÁS

Böszörményi Zoltán <zboszor [AT] mail.hu>