The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/kernel/system.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* Function prototypes for the system library.  The prototypes in this file 
    2  * are undefined to do_unused if the kernel call is not enabled in config.h. 
    3  * The implementation is contained in src/kernel/system/.  
    4  *
    5  * The system library allows to access system services by doing a kernel call.
    6  * System calls are transformed into request messages to the SYS task that is 
    7  * responsible for handling the call. By convention, sys_call() is transformed 
    8  * into a message with type SYS_CALL that is handled in a function do_call(). 
    9  * 
   10  * Changes:
   11  *   Jul 30, 2005   created SYS_INT86 to support BIOS driver  (Philip Homburg) 
   12  *   Jul 13, 2005   created SYS_PRIVCTL to manage services  (Jorrit N. Herder) 
   13  *   Jul 09, 2005   updated SYS_KILL to signal services  (Jorrit N. Herder) 
   14  *   Jun 21, 2005   created SYS_NICE for nice(2) kernel call  (Ben J. Gras)
   15  *   Jun 21, 2005   created SYS_MEMSET to speed up exec(2)  (Ben J. Gras)
   16  *   Apr 12, 2005   updated SYS_VCOPY for virtual_copy()  (Jorrit N. Herder)
   17  *   Jan 20, 2005   updated SYS_COPY for virtual_copy()  (Jorrit N. Herder)
   18  *   Oct 24, 2004   created SYS_GETKSIG to support PM  (Jorrit N. Herder) 
   19  *   Oct 10, 2004   created handler for unused calls  (Jorrit N. Herder) 
   20  *   Sep 09, 2004   updated SYS_EXIT to let services exit  (Jorrit N. Herder) 
   21  *   Aug 25, 2004   rewrote SYS_SETALARM to clean up code  (Jorrit N. Herder)
   22  *   Jul 13, 2004   created SYS_SEGCTL to support drivers  (Jorrit N. Herder) 
   23  *   May 24, 2004   created SYS_SDEVIO to support drivers  (Jorrit N. Herder) 
   24  *   May 24, 2004   created SYS_GETINFO to retrieve info  (Jorrit N. Herder) 
   25  *   Apr 18, 2004   created SYS_VDEVIO to support drivers  (Jorrit N. Herder) 
   26  *   Feb 24, 2004   created SYS_IRQCTL to support drivers  (Jorrit N. Herder) 
   27  *   Feb 02, 2004   created SYS_DEVIO to support drivers  (Jorrit N. Herder) 
   28  */ 
   29 
   30 #ifndef SYSTEM_H
   31 #define SYSTEM_H
   32 
   33 /* Common includes for the system library. */
   34 #include "kernel.h"
   35 #include "proto.h"
   36 #include "proc.h"
   37 
   38 /* Default handler for unused kernel calls. */
   39 _PROTOTYPE( int do_unused, (message *m_ptr) );
   40 
   41 _PROTOTYPE( int do_exec, (message *m_ptr) );            
   42 #if ! USE_EXEC
   43 #define do_exec do_unused
   44 #endif
   45 
   46 _PROTOTYPE( int do_fork, (message *m_ptr) );
   47 #if ! USE_FORK
   48 #define do_fork do_unused
   49 #endif
   50 
   51 _PROTOTYPE( int do_newmap, (message *m_ptr) );
   52 #if ! USE_NEWMAP
   53 #define do_newmap do_unused
   54 #endif
   55 
   56 _PROTOTYPE( int do_exit, (message *m_ptr) );
   57 #if ! USE_EXIT
   58 #define do_exit do_unused
   59 #endif
   60 
   61 _PROTOTYPE( int do_trace, (message *m_ptr) );   
   62 #if ! USE_TRACE
   63 #define do_trace do_unused
   64 #endif
   65 
   66 _PROTOTYPE( int do_nice, (message *m_ptr) );
   67 #if ! USE_NICE
   68 #define do_nice do_unused
   69 #endif
   70 
   71 _PROTOTYPE( int do_copy, (message *m_ptr) );    
   72 #define do_vircopy      do_copy
   73 #define do_physcopy     do_copy
   74 #if ! (USE_VIRCOPY || USE_PHYSCOPY)
   75 #define do_copy do_unused
   76 #endif
   77 
   78 _PROTOTYPE( int do_vcopy, (message *m_ptr) );           
   79 #define do_virvcopy     do_vcopy
   80 #define do_physvcopy    do_vcopy
   81 #if ! (USE_VIRVCOPY || USE_PHYSVCOPY)
   82 #define do_vcopy do_unused
   83 #endif
   84 
   85 _PROTOTYPE( int do_umap, (message *m_ptr) );
   86 #if ! USE_UMAP
   87 #define do_umap do_unused
   88 #endif
   89 
   90 _PROTOTYPE( int do_memset, (message *m_ptr) );
   91 #if ! USE_MEMSET
   92 #define do_memset do_unused
   93 #endif
   94 
   95 _PROTOTYPE( int do_abort, (message *m_ptr) );
   96 #if ! USE_ABORT
   97 #define do_abort do_unused
   98 #endif
   99 
  100 _PROTOTYPE( int do_getinfo, (message *m_ptr) );
  101 #if ! USE_GETINFO
  102 #define do_getinfo do_unused
  103 #endif
  104 
  105 _PROTOTYPE( int do_privctl, (message *m_ptr) ); 
  106 #if ! USE_PRIVCTL
  107 #define do_privctl do_unused
  108 #endif
  109 
  110 _PROTOTYPE( int do_segctl, (message *m_ptr) );
  111 #if ! USE_SEGCTL
  112 #define do_segctl do_unused
  113 #endif
  114 
  115 _PROTOTYPE( int do_irqctl, (message *m_ptr) );
  116 #if ! USE_IRQCTL
  117 #define do_irqctl do_unused
  118 #endif
  119 
  120 _PROTOTYPE( int do_devio, (message *m_ptr) );
  121 #if ! USE_DEVIO
  122 #define do_devio do_unused
  123 #endif
  124 
  125 _PROTOTYPE( int do_vdevio, (message *m_ptr) );
  126 #if ! USE_VDEVIO
  127 #define do_vdevio do_unused
  128 #endif
  129 
  130 _PROTOTYPE( int do_int86, (message *m_ptr) );
  131 
  132 _PROTOTYPE( int do_sdevio, (message *m_ptr) );
  133 #if ! USE_SDEVIO
  134 #define do_sdevio do_unused
  135 #endif
  136 
  137 _PROTOTYPE( int do_kill, (message *m_ptr) );
  138 #if ! USE_KILL
  139 #define do_kill do_unused
  140 #endif
  141 
  142 _PROTOTYPE( int do_getksig, (message *m_ptr) );
  143 #if ! USE_GETKSIG
  144 #define do_getksig do_unused
  145 #endif
  146 
  147 _PROTOTYPE( int do_endksig, (message *m_ptr) );
  148 #if ! USE_ENDKSIG
  149 #define do_endksig do_unused
  150 #endif
  151 
  152 _PROTOTYPE( int do_sigsend, (message *m_ptr) );
  153 #if ! USE_SIGSEND
  154 #define do_sigsend do_unused
  155 #endif
  156 
  157 _PROTOTYPE( int do_sigreturn, (message *m_ptr) );
  158 #if ! USE_SIGRETURN
  159 #define do_sigreturn do_unused
  160 #endif
  161 
  162 _PROTOTYPE( int do_times, (message *m_ptr) );           
  163 #if ! USE_TIMES
  164 #define do_times do_unused
  165 #endif
  166 
  167 _PROTOTYPE( int do_setalarm, (message *m_ptr) );        
  168 #if ! USE_SETALARM
  169 #define do_setalarm do_unused
  170 #endif
  171 
  172 _PROTOTYPE( int do_iopenable, (message *m_ptr) );       
  173 
  174 #endif  /* SYSTEM_H */
  175 

Cache object: da6874ea8dec310b65f017b645578fdf


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.