table of contents
QUERY_MODULE(2) | Linux Modul Támogatás | QUERY_MODULE(2) |
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¶
MAGYAR FORDÍTÁS¶
Böszörményi Zoltán <zboszor@mail.externet.hu>
1996. december 26 | Linux 2.1.17 |