#ifndef _GOBUFFER_H_ #define _GOBUFFER_H_ 1 /* SPDX-License-Identifier: GPL-2.0-only Copyright (C) 2008 Arnaldo Carvalho de Melo */ struct gobuffer { char *entries; unsigned int nr_entries; unsigned int index; unsigned int allocated_size; }; struct gobuffer *gobuffer__new(void); void gobuffer__init(struct gobuffer *gb); void gobuffer__delete(struct gobuffer *gb); void __gobuffer__delete(struct gobuffer *gb); void gobuffer__copy(const struct gobuffer *gb, void *dest); int gobuffer__add(struct gobuffer *gb, const void *s, unsigned int len); int gobuffer__allocate(struct gobuffer *gb, unsigned int len); static inline const void *gobuffer__entries(const struct gobuffer *gb) { return gb->entries; } static inline unsigned int gobuffer__nr_entries(const struct gobuffer *gb) { return gb->nr_entries; } static inline unsigned int gobuffer__size(const struct gobuffer *gb) { return gb->index; } void *gobuffer__ptr(const struct gobuffer *gb, unsigned int s); const void *gobuffer__compress(struct gobuffer *gb, unsigned int *size); #endif /* _GOBUFFER_H_ */