Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Apr 14-17, 2025
Register
Loading...
v3.1
 
 1#ifndef _PERF_XYARRAY_H_
 2#define _PERF_XYARRAY_H_ 1
 3
 4#include <sys/types.h>
 5
 6struct xyarray {
 7	size_t row_size;
 8	size_t entry_size;
 
 
 
 9	char contents[];
10};
11
12struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size);
13void xyarray__delete(struct xyarray *xy);
 
14
15static inline void *xyarray__entry(struct xyarray *xy, int x, int y)
16{
17	return &xy->contents[x * xy->row_size + y * xy->entry_size];
 
 
 
 
 
 
 
 
 
 
18}
19
20#endif /* _PERF_XYARRAY_H_ */
v4.17
 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_ */