Wed May 4 15:25:00 2022 +0800
This commit is contained in:
28
prebuilts/aarch64/include/libdrm/nouveau/nvif/unpack.h
Normal file
28
prebuilts/aarch64/include/libdrm/nouveau/nvif/unpack.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef __NVIF_UNPACK_H__
|
||||
#define __NVIF_UNPACK_H__
|
||||
|
||||
#define nvif_unvers(r,d,s,m) ({ \
|
||||
void **_data = (d); __u32 *_size = (s); int _ret = (r); \
|
||||
if (_ret == -ENOSYS && *_size == sizeof(m)) { \
|
||||
*_data = NULL; \
|
||||
*_size = _ret = 0; \
|
||||
} \
|
||||
_ret; \
|
||||
})
|
||||
|
||||
#define nvif_unpack(r,d,s,m,vl,vh,x) ({ \
|
||||
void **_data = (d); __u32 *_size = (s); \
|
||||
int _ret = (r), _vl = (vl), _vh = (vh); \
|
||||
if (_ret == -ENOSYS && *_size >= sizeof(m) && \
|
||||
(m).version >= _vl && (m).version <= _vh) { \
|
||||
*_data = (__u8 *)*_data + sizeof(m); \
|
||||
*_size = *_size - sizeof(m); \
|
||||
if (_ret = 0, !(x)) { \
|
||||
_ret = *_size ? -E2BIG : 0; \
|
||||
*_data = NULL; \
|
||||
*_size = 0; \
|
||||
} \
|
||||
} \
|
||||
_ret; \
|
||||
})
|
||||
#endif
|
||||
Reference in New Issue
Block a user