*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> kmem (7)              
Title
Content
Arch
Section
 

Contents


 kmem(7)                                                             kmem(7)




 NAME    [Toc]    [Back]
      kmem - perform I/O on kernel memory based on symbol name.

 SYNOPSIS    [Toc]    [Back]
      #include <sys/ksym.h>
      int ioctl(int kmemfd, int command, void *rks);

 DESCRIPTION    [Toc]    [Back]
      When used with a valid file descriptor for /dev/kmem (kmemfd), ioctl
      can be used to manipulate kernel memory. The specifics of this
      manipulation depend on the command given as follows:

      MIOC_READKSYM         Read mirk_buflen bytes of kernel memory starting
                            at the address for mirk_symname into mirk_buf.
                            rks is a pointer to a mioc_rksym structure,
                            defined below.

      MIOC_IREADKSYM        Indirect read.  Read sizeof(void *) bytes of
                            kernel memory starting at the address for
                            mirk_symname and use that as the address from
                            which to read mirk_buflen bytes of kernel memory
                            into mirk_buf.  rks is a pointer to a mioc_rksym
                            structure.

      MIOC_WRITEKSYM        Write mirk_buflen bytes from mirk_buf into
                            kernel memory starting at the address for
                            mirk_symname.  rks is a pointer to a mioc_rksym
                            structure.

      MIOC_IWRITEKSYM       Indirect write.  Read sizeof(void *) bytes of
                            kernel memory starting at the address for
                            mirk_symname and use that as the kernel memory
                            address into which mirk_buflen bytes from
                            mirk_buf are written.  rks is a pointer to a
                            mioc_rksym structure.

      MIOC_LOCKSYM          Increase the hold count by one for the
                            dynamically loaded module whose name is given by
                            rks, a pointer to a character string, thereby
                            preventing its unloading.

      MIOC_UNLOCKSYM    [Toc]    [Back]
           Decrease the hold count by one for the dynamically loaded module
           whose name is given by rks, a pointer to a character string.  If
           the count is thereby reduced to 0, the module becomes a candidate
           for unloading.

      The struct mioc_rksym definition is:

           struct mioc_rksym {
                char * mirk_modname;  /* limit search for symname



 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 kmem(7)                                                             kmem(7)




                                         to module modname; if NULL
                                         use standard search order */
                char * mirk_symname;  /* name of symbol whose address
                                         is the basis for this
                                         operation */
                void * mirk_buf;      /* buffer into/from which
                                         read/write takes place */
                size_t mirk_buflen;   /* length (in bytes) of desired
                                         operation */
           };

 RETURN VALUE    [Toc]    [Back]
      ioctl returns 0 upon successful completion.  If an error occurs, a
      value of -1 is returned and errno is set to indicate the error.

 ERRORS    [Toc]    [Back]
      In addition to the errors described in ioctl(2), the kmem ioctl also
      fails if one or more of the following are true:

      [EINVAL]              modname does not represent a currently loaded
                            module or this is an MIOC_UNLOCKSYM and the hold
                            count is already 0.

      [ENXIO]               kmemfd open on wrong minor device (i.e., not
                            /dev/kmem).

      [EBADF]               kmemfd open for reading and this is an
                            MIOC_WRITEKSYM.

      [ENOMATCH]            symname not found.

      [ENAMETOOLONG]        modname is greater than MODMAXNAMELEN characters
                            long, or symname is greater that MAXSYMNMLEN
                            characters long.

 SEE ALSO    [Toc]    [Back]
      getksym(2), ioctl(2), ioctl(5).


 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
regsub IRIX Perform substitutions based on regular expression pattern matching
getksym HP-UX get information for a global kernel symbol
ksyms OpenBSD kernel symbol table device
kvm_nlist OpenBSD retrieve symbol table names from a kernel image
kvm_nlist NetBSD retrieve symbol table names from a kernel image
kvm_nlist FreeBSD retrieve symbol table names from a kernel image
alwaysdump HP-UX defines which classes of kernel memory pages are dumped when a kernel panic occurs
dontdump HP-UX defines which classes of kernel memory pages are not dumped when a kernel panic occurs
netgraph FreeBSD graph based kernel networking subsystem
hwmgr_show Tru64 Displays information from kernel-based hardware subsystems
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service