Lines Matching refs:mask
89 struct acl_mask *mask;
103 mask = p_malloc(pool, SIZEOF_ACL_MASK(bitmask->used));
104 memcpy(mask->mask, bitmask->data, bitmask->used);
105 mask->pool = pool;
106 mask->size = bitmask->used;
107 return mask;
113 struct acl_mask *mask;
116 mask = acl_cache_mask_init_real(cache, pool, rights);
118 return mask;
124 struct acl_mask *mask;
126 mask = p_malloc(pool, SIZEOF_ACL_MASK(src->size));
127 memcpy(mask->mask, src->mask, src->size);
128 mask->pool = pool;
129 mask->size = src->size;
130 return mask;
135 struct acl_mask *mask = *_mask;
138 p_free(mask->pool, mask);
221 /* keep using the old mask */
223 old_mask->mask[i] |= change_mask->mask[i];
225 /* use the new mask, put old changes into it */
227 change_mask->mask[i] |= old_mask->mask[i];
237 /* remove changed bits from old mask */
240 old_mask->mask[i] &= ~change_mask->mask[i];
347 struct acl_mask *mask;
353 mask = i_malloc(SIZEOF_ACL_MASK(size));
354 mask->pool = default_pool;
355 mask->size = size;
359 memcpy(mask->mask, obj_cache->my_rights->mask, mask->size);
362 size = I_MIN(mask->size, obj_cache->my_neg_rights->size);
364 mask->mask[i] &= ~obj_cache->my_neg_rights->mask[i];
367 obj_cache->my_current_rights = mask;
388 bool acl_cache_mask_isset(const struct acl_mask *mask, unsigned int right_idx)
393 return mask_idx < mask->size &&
394 (mask->mask[mask_idx] & (1 << (right_idx % CHAR_BIT))) != 0;