shm_array.h 657 B

1234567891011121314151617181920212223242526272829
  1. #ifndef SHM_ARRAY_H
  2. #define SHM_ARRAY_H
  3. #pragma once
  4. #include "config.h"
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. #include "array.h"
  9. TOOLKIT_API array_header_t *shm_array_make(int nelts, int elt_size);
  10. TOOLKIT_API void shm_array_free(array_header_t *arr);
  11. TOOLKIT_API void shm_array_free2(array_header_t *arr);
  12. TOOLKIT_API void *shm_array_push(array_header_t *arr);
  13. #define SHM_ARRAY_PUSH(ary,type) (*((type *)shm_array_push(ary)))
  14. TOOLKIT_API void shm_array_cat(array_header_t *dst, const array_header_t *src);
  15. TOOLKIT_API array_header_t * shm_array_copy(const array_header_t *arr);
  16. #ifdef __cplusplus
  17. } // extern "C" {
  18. #endif
  19. #endif // SHM_ARRAY_H