linux/tools/perf/util/xyarray.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _PERF_XYARRAY_H_
   3#define _PERF_XYARRAY_H_ 1
   4
   5#include <sys/types.h>
   6
   7struct xyarray {
   8        size_t row_size;
   9        size_t entry_size;
  10        size_t entries;
  11        size_t max_x;
  12        size_t max_y;
  13        char contents[];
  14};
  15
  16struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size);
  17void xyarray__delete(struct xyarray *xy);
  18void xyarray__reset(struct xyarray *xy);
  19
  20static inline void *xyarray__entry(struct xyarray *xy, int x, int y)
  21{
  22        return &xy->contents[x * xy->row_size + y * xy->entry_size];
  23}
  24
  25static inline int xyarray__max_y(struct xyarray *xy)
  26{
  27        return xy->max_y;
  28}
  29
  30static inline int xyarray__max_x(struct xyarray *xy)
  31{
  32        return xy->max_x;
  33}
  34
  35#endif /* _PERF_XYARRAY_H_ */
  36