Introduction   User API Reference   DSMlib Reference   IDL Interface   File List   Index  

dm_generic.idl

Go to the documentation of this file.
00001 /* -*- c -*- */
00002 /* $Id: dm_generic.idl 30425 2007-10-24 08:05:18Z sk852421 $ */
00003 /*****************************************************************************/
00012 /*****************************************************************************/
00013 
00014 /* (c) 2003 Technische Universitaet Dresden
00015  * This file is part of DROPS, which is distributed under the terms of the
00016  * GNU General Public License 2. Please see the COPYING file for details.
00017  */
00018 
00020 import <l4/dm_generic/types.h>
00021 
00026 library if_l4dm
00027 {
00032   interface generic
00033     {
00034       /***********************************************************************/
00054       /***********************************************************************/
00055       long map([in] unsigned long ds_id,
00056                [in] unsigned long offset,
00057                [in] unsigned long size,
00058                [in] unsigned long rcv_size2,
00059                [in] unsigned long rcv_offs,
00060                [in] unsigned long flags,
00061                [out] fpage *page);
00062 
00063       /***********************************************************************/
00079       /***********************************************************************/
00080       long fault([in] unsigned long ds_id,
00081                  [in] unsigned long offset,
00082                  [out] fpage *page);
00083 
00084       /***********************************************************************/
00096       /***********************************************************************/
00097       long close([in] unsigned long ds_id);
00098 
00099       /***********************************************************************/
00114       /***********************************************************************/
00115       long close_all([in] l4_threadid_t client,
00116                      [in] unsigned long flags);
00117 
00118       /***********************************************************************/
00133       /***********************************************************************/
00134       long share([in] unsigned long ds_id,
00135                  [in] l4_threadid_t client,
00136                  [in] unsigned long flags);
00137 
00138       /***********************************************************************/
00153       /***********************************************************************/
00154       long revoke([in] unsigned long ds_id,
00155                   [in] l4_threadid_t client,
00156                   [in] unsigned long flags);
00157 
00158       /***********************************************************************/
00173       /***********************************************************************/
00174       long check_rights([in] unsigned long ds_id,
00175                         [in] unsigned long flags);
00176 
00177       /***********************************************************************/
00192       /***********************************************************************/
00193       long transfer([in] unsigned long ds_id,
00194                     [in] l4_threadid_t new_owner);
00195 
00196       /***********************************************************************/
00216       /***********************************************************************/
00217       long copy([in] unsigned long ds_id,
00218                 [in] unsigned long src_offs,
00219                 [in] unsigned long dst_offs,
00220                 [in] unsigned long num,
00221                 [in] unsigned long flags,
00222                 [in, string] char* name,
00223                 [out] l4dm_dataspace_t *copy);
00224 
00225       /***********************************************************************/
00238       /***********************************************************************/
00239       long set_name([in] unsigned long ds_id,
00240                     [in, string] char* name);
00241 
00242       /***********************************************************************/
00254       /***********************************************************************/
00255       long get_name([in] unsigned long ds_id,
00256                     [out, string, prealloc_client] char ** name);
00257 
00258       /***********************************************************************/
00268       /***********************************************************************/
00269       long show_ds([in] unsigned long ds_id);
00270 
00271       /***********************************************************************/
00283       /***********************************************************************/
00284       void list([in] l4_threadid_t owner,
00285                 [in] unsigned long flags);
00286     };
00287 };

DMphys Reference Manual, written by Lars Reuther  © 2000-2003