PSDK QNX API Guide
SharedMemoryAllocatorUsr.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-21, Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  *
15  * * Neither the name of Texas Instruments Incorporated nor the names of
16  * its contributors may be used to endorse or promote products derived
17  * from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
29  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  * Contact information for paper mail:
31  * Texas Instruments
32  * Post Office Box 655303
33  * Dallas, Texas 75265
34  * Contact information:
35  * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
36  * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
37  * ============================================================================
38  *
39  */
59 #include "ti/shmemallocator/SharedMemoryAllocator.h"
60 
69 int SHM_alloc(int size, shm_buf *buf);
70 
81 int SHM_alloc_aligned(int size, uint alignment, shm_buf *buf);
82 
92 int SHM_alloc_fromBlock(int size, int blockID, shm_buf *buf);
93 
104 int SHM_alloc_aligned_fromBlock(int size, uint alignment, int blockID, shm_buf *buf);
105 
123 int SHM_alloc_aligned_fromBlock_withFlags(int size, uint alignment, int blockID,
124  shm_buf *buf, int prot, int flags);
125 
134 int SHM_get_blkInfo(int blockID, shm_buf *buf);
135 
143 int SHM_release(shm_buf *buf);
144 
int SHM_alloc_aligned_fromBlock(int size, uint alignment, int blockID, shm_buf *buf)
Allocate n-bytes aligned shared memory block with given size and block ID.
int SHM_alloc_fromBlock(int size, int blockID, shm_buf *buf)
Allocate shared memory block with given size and block ID.
int SHM_release(shm_buf *buf)
Frees shared memory block.
int SHM_get_blkInfo(int blockID, shm_buf *buf)
Retrieves shared memory struct data for specified shared memory block.
int SHM_alloc(int size, shm_buf *buf)
Allocate shared memory block with given size.
int SHM_alloc_aligned(int size, uint alignment, shm_buf *buf)
Allocate n-bytes aligned shared memory block with given size. The alignment will be with respect to t...
int SHM_alloc_aligned_fromBlock_withFlags(int size, uint alignment, int blockID, shm_buf *buf, int prot, int flags)
Allocate n-bytes aligned shared memory block with given size, block ID, and specified flags.