1 // Copyright 2016 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include <lib/zx/vmo.h>
6 #include <lib/zx/bti.h>
7 
8 #include <zircon/syscalls.h>
9 
10 namespace zx {
11 
create(uint64_t size,uint32_t options,vmo * result)12 zx_status_t vmo::create(uint64_t size, uint32_t options, vmo* result) {
13     return zx_vmo_create(size, options, result->reset_and_get_address());
14 }
15 
create_contiguous(const bti & bti,size_t size,uint32_t alignment_log2,vmo * result)16 zx_status_t vmo::create_contiguous(
17     const bti& bti, size_t size, uint32_t alignment_log2, vmo* result) {
18     return zx_vmo_create_contiguous(bti.get(), size, alignment_log2,
19                                     result->reset_and_get_address());
20 }
21 
create_physical(const resource & resource,zx_paddr_t paddr,size_t size,vmo * result)22 zx_status_t vmo::create_physical(
23     const resource& resource, zx_paddr_t paddr, size_t size, vmo* result) {
24     return zx_vmo_create_physical(resource.get(), paddr, size, result->reset_and_get_address());
25 }
26 
27 } // namespace zx
28