4 SPDX-License-Identifier: GPL-2.0-only
6 Copyright (C) 2008 Arnaldo Carvalho de Melo <acme@redhat.com>
11 unsigned int nr_entries
;
13 unsigned int allocated_size
;
16 struct gobuffer
*gobuffer__new(void);
18 void gobuffer__init(struct gobuffer
*gb
);
19 void gobuffer__delete(struct gobuffer
*gb
);
20 void __gobuffer__delete(struct gobuffer
*gb
);
22 void gobuffer__copy(const struct gobuffer
*gb
, void *dest
);
24 void gobuffer__sort(struct gobuffer
*gb
, unsigned int size
, int (*compar
)(const void *, const void *));
26 int gobuffer__add(struct gobuffer
*gb
, const void *s
, unsigned int len
);
27 int gobuffer__allocate(struct gobuffer
*gb
, unsigned int len
);
29 static inline const void *gobuffer__entries(const struct gobuffer
*gb
)
34 static inline unsigned int gobuffer__nr_entries(const struct gobuffer
*gb
)
36 return gb
->nr_entries
;
39 static inline unsigned int gobuffer__size(const struct gobuffer
*gb
)
44 void *gobuffer__ptr(const struct gobuffer
*gb
, unsigned int s
);
46 const void *gobuffer__compress(struct gobuffer
*gb
, unsigned int *size
);
48 #endif /* _GOBUFFER_H_ */