Staging
v0.8.1
swh:1:snp:a902887e4be9191b7c6c4406aa06b31c1ce2c7cc
Raw File
Tip revision: 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e authored by Linus Torvalds on 16 September 2017, 22:47:51 UTC
Linux 4.14-rc1
Tip revision: 2bd6bf0
xyarray.h
#ifndef _PERF_XYARRAY_H_
#define _PERF_XYARRAY_H_ 1

#include <sys/types.h>

struct xyarray {
	size_t row_size;
	size_t entry_size;
	size_t entries;
	size_t max_x;
	size_t max_y;
	char contents[];
};

struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size);
void xyarray__delete(struct xyarray *xy);
void xyarray__reset(struct xyarray *xy);

static inline void *xyarray__entry(struct xyarray *xy, int x, int y)
{
	return &xy->contents[x * xy->row_size + y * xy->entry_size];
}

static inline int xyarray__max_y(struct xyarray *xy)
{
	return xy->max_x;
}

static inline int xyarray__max_x(struct xyarray *xy)
{
	return xy->max_y;
}

#endif /* _PERF_XYARRAY_H_ */
back to top