modules



Liczniki odwiedzin | Księgi gości | Metal Lyrics | Znaczenie imion | Konwerter | Wolne domeny | Informacje o samochodach | Zakupy w UK | | | | | | | wyposażenie warsztatów | Wypoczynek nad jeziorami





SYNOPSIS

     #include <linux/module.h>

     int get_kernel_syms(struct kernel_sym *table);

     int create_module(char *module_name, unsigned long size);

     int init_module(char *module_name, char *code, unsigned codesize,
         struct mod_routines *routines, struct symbol_table *symtab);

     int delete_module(char *module_name);

     struct kernel_sym {
          unsigned long value;
          char name[SYM_MAX_NAME];
     };

     struct mod_routines {
          int (*init)(void);
          void (*cleanup)(void);
     };

     struct module_ref {
          struct module *module;
          struct module_ref *next;
     };

     struct internal_symbol {
          void *addr;
          char *name;
     };

     struct symbol_table {
          int size; /* total, including string table!!! */
          int n_symbols;
          int n_refs;
          struct internal_symbol symbol[0];
          struct module_ref ref[0];
     };


DESCRIPTION

     These system calls have not yet been included in any library, which means
     that they have to be called by the syscall(__NR_function) mechanism.

     get_kernel_syms(table);
           has two uses: first, if table is NULL, this call will only return
           the number of symbols, including module names, that are available.
           This number should be used to reserve memory for that many items of
           struct kernel_sym.
           If table is not NULL, this call will copy all kernel symbols and
           module names (and version info) from the kernel to the space point-
           ed to by table. The entries are ordered in module LIFO order.  For
           each module an entry that decribes the module will be followed by

     create_module(module_name, size);
           will allocate size bytes of kernel space for a module, and also
           create the necessary kernel structures for the new module called
           name. The module will now exist in kernel space, with the status
           MOD_UNINITIALIZED.

     init_module(module_name, code, codesize, routines, symtab);
           This is the actual "module loader", that will load the module named
           name into the kernel.  The parameters code and codesize refer to
           the relocated binary object module that is codesize bytes long.
           Note that the first 4 bytes will be used as a reference counter in
           kernel space, updated by the MOD_INC_USE_COUNT and
           MOD_DEC_USE_COUNT macros.
           The functions described in routines will be used to start and stop
           the module.  These pointers should therefore contain the adresses
           of the init_module() and cleanup_module() functions that have to be
           defined for all loadable modules.
           If a module wants to export symbols for use by other modules, or if
           the module makes references to symbols defined by other modules,
           the parameter symtab has to point to a structure that describes
           these.  A NULL value for symtab means that no symbols are exported
           and no references to other modules are made.
           The symtab that will be copied into the kernel consist of a
           symbol_table structure immediately followed by a string table, con-
           taining the names of the symbols defined by the module.  The size
           element has to include the size of this string table as well.

           Special considerations:
           The n_symbols and n_refs elements tells how many symbols and how
           many module references are included in the symbol_table structure.
           Immediately after these integers, the array of symbol definitions
           follow.  The name element in each struct internal_symbol should ac-
           tually not be an ordinary pointer, but instead the offset of the
           corresponding string table entry relative to the start of the sym-
           bol_table structure.

           When all defined symbols have been listed, the symbol_table struc-
           ture continues with the array of module references, as described by
           the struct module_ref elements.  Only the module field of these
           structures have to be initialized.  The module adresses that were
           obtained from a previous get_kernel_syms call, for elements with
           names starting with # should be copied to this field.

           If the module could be successfully loaded, and if the call to the
           module function init_module() also succeeds, the status of the mod-
           ule will be changed to MOD_RUNNING.  Otherwise, the kernel memory
           occupied by module will be freed.

     delete_module(module_name);
           should be used to unload a module.  If the module reference count
           shows that the module is not active, and if there are no references
           to this module from other modules, the module function
           cleanup_module() will be called.  If all these steps succeed, the
           kernel memory occupied by the module and its structures will be

     know...).
     Linux version by Bas Laarhoven <bas@vimec.nl>,
     0.99.14 version by Jon Tombs <jon@gtex02.us.es>,
     extended by Bjorn Ekwall <bj0rn@blox.se>.


BUGS

     Naah...

 Linux                         January 25, 1995                              3


  Księgarnia

- Oferta księgarni Mentis
- Oferta księgarni Onepress
- Linux Manual (english)
- Konstytucje
- Kręgosłup, bóle karku
- Elektroniczne książki
- Prasa elektroniczna
- Gry RPG, figurki
- darmowy słownik on-line
- jubiler - biżuteria
- polityka prywatności





Linux - Welsh Matt, Dalheimer Matthias Kalle, Kaufman Lar Linux
Autor: Welsh Matt, Dalheimer Matthias Kalle, Kaufman Lar
Cena: 85.44
Rok wydania: 2000
Wydawnictwo: Read Me
Ilość stron: 700
Linux - bezpieczeństwo serwerów - Michael D.Bauer Linux - bezpieczeństwo serwerów
Autor: Michael D.Bauer
Cena: 58.88
Rok wydania: 2003
Wydawnictwo: Read Me
Ilość stron: 488
Linux kernel - Daniel P. Bovet, Marco Cesati Linux kernel
Autor: Daniel P. Bovet, Marco Cesati
Cena: 85.44
Rok wydania: 2001
Wydawnictwo: Read Me
Ilość stron: 634
Linux. Programowanie dla zaawansowanych - Mark Mitchell. Jeffrey Oldham, Alex Samuel Linux. Programowanie dla zaawansowanych
Autor: Mark Mitchell. Jeffrey Oldham, Alex Samuel
Cena: 42.32
Rok wydania: 2002
Wydawnictwo: Read Me
Ilość stron: 300
Linux: Systemy plików - Moshe Bar Linux: Systemy plików
Autor: Moshe Bar
Cena: 51.52
Rok wydania: 2002
Wydawnictwo: Read Me
Ilość stron: 332
Linux. Archiwizacja danych - Leszek Madeja Linux. Archiwizacja danych
Autor: Leszek Madeja
Cena: 17.60
Rok wydania: 2003
Wydawnictwo: Mikom
Ilość stron:
Linux i galanteria SCSI - Leszek Madeja Linux i galanteria SCSI
Autor: Leszek Madeja
Cena: 10.80
Rok wydania: 2003
Wydawnictwo: Mikom
Ilość stron: 88
Bezpieczeństwo systemu Linux - Ramón J. Honta&ntilde;ón Bezpieczeństwo systemu Linux
Autor: Ramón J. Honta&ntilde;ón
Cena: 44.62
Rok wydania: 2002
Wydawnictwo: Mikom
Ilość stron: 464
Korzystanie z drukarki. Ćwiczenia z systemu Linux - Leszek Madeja Korzystanie z drukarki. Ćwiczenia z systemu Linux
Autor: Leszek Madeja
Cena: 16.80
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 192
Korzystanie z pomocy. Ćwiczenia z systemu Linux - Leszek Madeja Korzystanie z pomocy. Ćwiczenia z systemu Linux
Autor: Leszek Madeja
Cena: 15.40
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 152
Linux - książka kucharska - Michael Stutz Linux - książka kucharska
Autor: Michael Stutz
Cena: 47.84
Rok wydania: 2002
Wydawnictwo: Mikom
Ilość stron: 488
Linux. Gniazda w programowaniu - Woren W. Gay Linux. Gniazda w programowaniu
Autor: Woren W. Gay
Cena: 47.29
Rok wydania: 2001
Wydawnictwo: Mikom
Ilość stron: 552
LINUX. Rozwiązywanie problemów - Brian Ward LINUX. Rozwiązywanie problemów
Autor: Brian Ward
Cena: 33.92
Rok wydania: 2001
Wydawnictwo: Mikom
Ilość stron: 312
Midnight Commander. Ćwiczenia z systemu Linux - Leszek Madeja Midnight Commander. Ćwiczenia z systemu Linux
Autor: Leszek Madeja
Cena: 23.80
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 272
Red Hat Linux 6.2 same konkrety - Bob Rankin Red Hat Linux 6.2 same konkrety
Autor: Bob Rankin
Cena: 39.74
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 372
Caldera Linux 2.3 dla każdego - Bill Ball Caldera Linux 2.3 dla każdego
Autor: Bill Ball
Cena: 49.00
Rok wydania: 2000
Wydawnictwo: Helion
Ilość stron: 400
Linux. Praktyczne rozwiązania - Adam Podstawczyński Linux. Praktyczne rozwiązania
Autor: Adam Podstawczyński
Cena: 35.00
Rok wydania: 2000
Wydawnictwo: Helion
Ilość stron: 248
Red Hat Linux 7.3. Księga eksperta - Bill Ball Red Hat Linux 7.3. Księga eksperta
Autor: Bill Ball
Cena: 110.00
Rok wydania: 2002
Wydawnictwo: Helion
Ilość stron: 752
Linux w sieci - Adam Podstawczyński Linux w sieci
Autor: Adam Podstawczyński
Cena: 39.00
Rok wydania: 2002
Wydawnictwo: Helion
Ilość stron: 224
Red Hat Linux 7.2. Ćwiczenia praktyczne - Jerzy Marczyński Red Hat Linux 7.2. Ćwiczenia praktyczne
Autor: Jerzy Marczyński
Cena: 18.00
Rok wydania: 2002
Wydawnictwo: Helion
Ilość stron: 176






ksiegarnia.pila.pl exists since 2005 year.
Provided by: Przemysław Krajniak, PHP Scripts