Lines Matching defs:memobj

4  * \bug The current implementation is a thin layer over an anonymous memobj.
21 #include <barrelfish/memobj.h>
27 * \param memobj The memory object
32 static errval_t pagefault(struct memobj *memobj, struct vregion *vregion,
36 assert(memobj->type == MEMOBJ_VFS);
37 struct memobj_vfs *mv = (struct memobj_vfs *)memobj;
81 struct memobj *tmp_memobj = NULL;
129 * \param memobj The memory object
136 errval_t memobj_create_vfs(struct memobj_vfs *memobj, size_t size,
142 // create anon memobj
143 err = memobj_create_anon(&memobj->anon, size, flags);
149 ((struct memobj *)memobj)->f.pagefault = pagefault;
152 ((struct memobj *)memobj)->type = MEMOBJ_VFS;
154 memobj->vh = vh;
155 memobj->offset = offset;
156 memobj->filesize = filesize;
162 errval_t memobj_destroy_vfs(struct memobj *memobj)
167 // Kludge to push changes in VFS memobj back out to disk
168 errval_t memobj_flush_vfs(struct memobj *memobj, struct vregion *vregion)
172 assert(memobj->type == MEMOBJ_VFS);
174 struct memobj_vfs *mv = (struct memobj_vfs *)memobj;
236 struct memobj **ret_memobj)
239 struct memobj *memobj = NULL;
243 memobj = malloc(sizeof(struct memobj_vfs));
244 if (!memobj) {
254 // Create a memobj and vregion
255 err1 = memobj_create_vfs((struct memobj_vfs *)memobj, size, 0, file, offset,
263 err1 = vregion_map_fixed(vregion, get_current_vspace(), memobj, 0, size,
266 err1 = vregion_map_aligned(vregion, get_current_vspace(), memobj, 0, size,
269 err1 = vregion_map(vregion, get_current_vspace(), memobj, 0, size, flags);
277 *ret_memobj = memobj;
282 if (memobj) {
283 err2 = memobj_destroy_vfs(memobj);
287 free(memobj);
302 struct memobj **ret_memobj)
312 struct memobj **ret_memobj)
323 struct memobj **ret_memobj)