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 };