xref: /third_party/mesa3d/src/util/os_memory_fd.h (revision bf215546)
1/**************************************************************************
2 *
3 * Copyright 2021 Snap Inc.
4 * SPDX-License-Identifier: MIT
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sublicense, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 *
25 **************************************************************************/
26
27
28/*
29 * Memory fd wrappers.
30 */
31
32
33#ifndef _OS_MEMORY_H_
34#error "Must not be included directly. Include os_memory.h instead"
35#endif
36
37/**
38 * Imports memory from a file descriptor
39 */
40bool
41os_import_memory_fd(int fd, void **ptr, uint64_t *size, char const *driver_id);
42
43/**
44 * Return memory on given byte alignment
45 */
46void *
47os_malloc_aligned_fd(size_t size, size_t alignment, int *fd, char const *fd_name, char const *driver_id);
48
49/**
50 * Free memory returned by os_malloc_aligned_fd().
51 */
52void
53os_free_fd(void *ptr);
54