/usr/include/dovecot/array-decl.h is in dovecot-dev 1:2.2.9-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #ifndef ARRAY_DECL_H
#define ARRAY_DECL_H
#define ARRAY(array_type) union { struct array arr; array_type const *const *v; array_type **v_modifiable; }
#define ARRAY_INIT { { 0, 0 } }
#define ARRAY_DEFINE_TYPE(name, array_type) \
union array ## __ ## name { struct array arr; array_type const *const *v; array_type **v_modifiable; }
#define ARRAY_TYPE(name) \
union array ## __ ## name
struct array {
buffer_t *buffer;
size_t element_size;
};
ARRAY_DEFINE_TYPE(string, char *);
ARRAY_DEFINE_TYPE(const_string, const char *);
ARRAY_DEFINE_TYPE(uint32_t, uint32_t);
ARRAY_DEFINE_TYPE(uint, unsigned int);
ARRAY_DEFINE_TYPE(void_array, void *);
#endif
|