1afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin/* 2afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * ion.c 3afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * 4afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * Memory Allocator functions for ion 5afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * 6afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * Copyright 2011 Google, Inc 7afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * 8afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * Licensed under the Apache License, Version 2.0 (the "License"); 9afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * you may not use this file except in compliance with the License. 10afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * You may obtain a copy of the License at 11afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * 12afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * http://www.apache.org/licenses/LICENSE-2.0 13afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * 14afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * Unless required by applicable law or agreed to in writing, software 15afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * distributed under the License is distributed on an "AS IS" BASIS, 16afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * See the License for the specific language governing permissions and 18afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin * limitations under the License. 19afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin */ 20afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin 21830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin#ifndef __SYS_CORE_ION_H 22830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin#define __SYS_CORE_ION_H 23830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin 24afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin#include <linux/ion.h> 25afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin 26830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin__BEGIN_DECLS 27830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin 28afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavinint ion_open(); 29afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavinint ion_close(int fd); 30a50fd5568ea72ea1ad662207ccea512735803174Rebecca Schultz Zavinint ion_alloc(int fd, size_t len, size_t align, unsigned int heap_mask, 31a50fd5568ea72ea1ad662207ccea512735803174Rebecca Schultz Zavin unsigned int flags, struct ion_handle **handle); 32a50fd5568ea72ea1ad662207ccea512735803174Rebecca Schultz Zavinint ion_alloc_fd(int fd, size_t len, size_t align, unsigned int heap_mask, 33a50fd5568ea72ea1ad662207ccea512735803174Rebecca Schultz Zavin unsigned int flags, int *handle_fd); 343cfcc300058070f0873763abfa604e07ec536da3Rebecca Schultz Zavinint ion_sync_fd(int fd, int handle_fd); 35afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavinint ion_free(int fd, struct ion_handle *handle); 36afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavinint ion_map(int fd, struct ion_handle *handle, size_t length, int prot, 37afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin int flags, off_t offset, unsigned char **ptr, int *map_fd); 38afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavinint ion_share(int fd, struct ion_handle *handle, int *share_fd); 39afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavinint ion_import(int fd, int share_fd, struct ion_handle **handle); 40afd912394690cbf7d40b021c62d80ff0f3d40806Rebecca Schultz Zavin 41830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin__END_DECLS 42830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin 43830e19731dbfd5d8a2dd061f188f2ddc30443360Dima Zavin#endif /* __SYS_CORE_ION_H */ 44