Introduction   User API Reference   DSMlib Reference   IDL Interface   File List   Index  

dm_generic.h

Go to the documentation of this file.
00001 /* $Id: dm_generic.h 31603 2008-05-12 06:54:17Z adam $ */
00002 /*****************************************************************************/
00011 /*****************************************************************************/
00012 
00013 /* (c) 2003 Technische Universitaet Dresden
00014  * This file is part of DROPS, which is distributed under the terms of the
00015  * GNU General Public License 2. Please see the COPYING file for details.
00016  */
00017 
00018 #ifndef _DM_GENERIC_DM_GENERIC_H
00019 #define _DM_GENERIC_DM_GENERIC_H
00020 
00021 /* L4/L4Env includes */
00022 #include <l4/sys/types.h>
00023 #include <l4/env/cdefs.h>
00024 
00025 /* DMgeneric includes */
00026 #include <l4/dm_generic/dm_generic-client.h>
00027 #include <l4/dm_generic/types.h>
00028 #include <l4/dm_generic/consts.h>
00029 
00030 /*****************************************************************************
00031  *** prototypes
00032  *****************************************************************************/
00033 
00034 __BEGIN_DECLS;
00035 
00036 /*****************************************************************************/
00068 /*****************************************************************************/
00069 L4_CV int
00070 l4dm_map_pages(const l4dm_dataspace_t * ds, l4_offs_t offs, l4_size_t size,
00071                l4_addr_t rcv_addr, int rcv_size2, l4_offs_t rcv_offs,
00072                l4_uint32_t flags, l4_addr_t * fpage_addr,
00073                l4_size_t * fpage_size);
00074 
00075 /*****************************************************************************/
00100 /*****************************************************************************/
00101 L4_CV int
00102 l4dm_map_ds(const l4dm_dataspace_t *ds, l4_offs_t offs,
00103             l4_addr_t addr, l4_size_t size, l4_uint32_t flags);
00104 
00105 /*****************************************************************************/
00140 /*****************************************************************************/
00141 L4_CV int
00142 l4dm_map(const void * ptr, l4_size_t size, l4_uint32_t flags);
00143 
00144 /*****************************************************************************/
00157 /*****************************************************************************/
00158 L4_CV int
00159 l4dm_close(const l4dm_dataspace_t * ds);
00160 
00161 /*****************************************************************************/
00181 /*****************************************************************************/
00182 int
00183 l4dm_close_all(l4_threadid_t dsm_id, l4_threadid_t client, l4_uint32_t flags);
00184 
00185 /*****************************************************************************/
00207 /*****************************************************************************/
00208 L4_CV int
00209 l4dm_share(const l4dm_dataspace_t * ds,
00210            l4_threadid_t client, l4_uint32_t rights);
00211 
00212 /*****************************************************************************/
00233 /*****************************************************************************/
00234 int
00235 l4dm_revoke(const l4dm_dataspace_t * ds,
00236             l4_threadid_t client, l4_uint32_t rights);
00237 
00238 /*****************************************************************************/
00256 /*****************************************************************************/
00257 L4_CV int
00258 l4dm_check_rights(const l4dm_dataspace_t * ds, l4_uint32_t rights);
00259 
00260 /*****************************************************************************/
00274 /*****************************************************************************/
00275 L4_CV int
00276 l4dm_transfer(const l4dm_dataspace_t * ds, l4_threadid_t new_owner);
00277 
00278 /*****************************************************************************/
00302 /*****************************************************************************/
00303 L4_CV int
00304 l4dm_copy(const l4dm_dataspace_t * ds, l4_uint32_t flags, const char * name,
00305           l4dm_dataspace_t * copy);
00306 
00307 /*****************************************************************************/
00337 /*****************************************************************************/
00338 int
00339 l4dm_copy_long(const l4dm_dataspace_t * ds, l4_offs_t src_offs,
00340                l4_offs_t dst_offs, l4_size_t num, l4_uint32_t flags,
00341                const char * name, l4dm_dataspace_t * copy);
00342 
00343 /*****************************************************************************/
00356 /*****************************************************************************/
00357 L4_CV int
00358 l4dm_ds_set_name(const l4dm_dataspace_t * ds, const char * name);
00359 
00360 /*****************************************************************************/
00372 /*****************************************************************************/
00373 L4_CV int
00374 l4dm_ds_get_name(const l4dm_dataspace_t * ds, char * name);
00375 
00376 /*****************************************************************************/
00383 /*****************************************************************************/
00384 L4_CV void
00385 l4dm_ds_show(const l4dm_dataspace_t * ds);
00386 
00387 /*****************************************************************************/
00403 /*****************************************************************************/
00404 L4_CV int
00405 l4dm_ds_list(l4_threadid_t dsm_id, l4_threadid_t owner, l4_uint32_t flags);
00406 
00407 /*****************************************************************************/
00419 /*****************************************************************************/
00420 L4_CV int
00421 l4dm_ds_list_all(l4_threadid_t dsm_id);
00422 
00423 __END_DECLS;
00424 
00425 #endif /* !_DM_GENERIC_DM_GENERIC_H */

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