+
+#define PARRAY(Type) \
+ typedef PRIV_ARRAY(Type*) Type ## _ptr_array_t; \
+ static inline Type ## _ptr_array_t *Type ## _ptr_array_new(void) \
+ { \
+ return p_new(Type ## _ptr_array_t, 1); \
+ } \
+ \
+ static inline void Type ## _ptr_array_delete(Type ## _ptr_array_t **array) \
+ { \
+ if (*array) { \
+ if ((*array)->locked) { \
+ array_unlock(**array); \
+ } \
+ array_wipe(**array); \
+ p_delete(array); \
+ } \
+ }
+