#ifndef SHM_ARRAY_H #define SHM_ARRAY_H #pragma once #include "config.h" #ifdef __cplusplus extern "C" { #endif #include "array.h" TOOLKIT_API array_header_t *shm_array_make(int nelts, int elt_size); TOOLKIT_API void shm_array_free(array_header_t *arr); TOOLKIT_API void shm_array_free2(array_header_t *arr); TOOLKIT_API void *shm_array_push(array_header_t *arr); #define SHM_ARRAY_PUSH(ary,type) (*((type *)shm_array_push(ary))) TOOLKIT_API void shm_array_cat(array_header_t *dst,const array_header_t *src); TOOLKIT_API array_header_t * shm_array_copy(const array_header_t *arr); #ifdef __cplusplus } // extern "C" { #endif #endif // SHM_ARRAY_H