00001 /* -*- c -*- */ 00002 /* $Id: dm_mem.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 00019 #include <l4/dm_generic/dm_generic.idl> 00020 00024 library if_l4dm 00025 { 00030 interface mem : generic 00031 { 00032 /***********************************************************************/ 00049 /***********************************************************************/ 00050 long open([in] unsigned long size, 00051 [in] unsigned long align, 00052 [in] unsigned long flags, 00053 [in, string] char* name, 00054 [out] l4dm_dataspace_t *ds); 00055 00056 /***********************************************************************/ 00069 /***********************************************************************/ 00070 long size([in] unsigned long ds_id, 00071 [out] l4_size_t *size); 00072 00073 /***********************************************************************/ 00087 /***********************************************************************/ 00088 long resize([in] unsigned long ds_id, 00089 [in] unsigned long new_size); 00090 00091 /***********************************************************************/ 00109 /***********************************************************************/ 00110 long phys_addr([in] unsigned long ds_id, 00111 [in] unsigned long offset, 00112 [in] l4_size_t size, 00113 [out] unsigned long *paddr, 00114 [out] l4_size_t *psize); 00115 00116 /***********************************************************************/ 00128 /***********************************************************************/ 00129 long is_contiguous([in] unsigned long ds_id, 00130 [out] long *is_cont); 00131 00132 /***********************************************************************/ 00147 /***********************************************************************/ 00148 long lock([in] unsigned long ds_id, 00149 [in] unsigned long offset, 00150 [in] unsigned long size); 00151 00152 /***********************************************************************/ 00165 /***********************************************************************/ 00166 long unlock([in] unsigned long ds_id, 00167 [in] unsigned long offset, 00168 [in] unsigned long size); 00169 00170 /***********************************************************************/ 00184 /***********************************************************************/ 00185 long info([in] unsigned long ds_id, 00186 [out] l4_size_t *size, 00187 [out] l4_threadid_t *owner, 00188 [out, string, prealloc_client] char ** name, 00189 [out] l4_uint32_t *next_id); 00190 }; 00191 };