Lines Matching refs:field

133 #define CHECK_FIELD_ASPACE(ptr, field, len) \

136 CHECK_ASPACE(ptr->field, len); \
140 #define CHECK_ARRAY_FIELD_ASPACE(ptr, arr, arrlen, field, len, ...) \
144 CHECK_ASPACE(ptr->arr[i].field, ptr->arr[i].len, ##__VA_ARGS__); \
149 #define DUP_FIELD_FROM_USER_(ptr, field, size, copy, ...) \
151 if (ptr != NULL && ptr->field != NULL && (size) != 0) { \
152 CONST_CAST(ptr)->field = DupUserMem(ptr->field, size, copy); \
153 if (ptr->field == NULL) { \
160 #define DUP_FIELD_FROM_USER(ptr, field, size, ...) \
161 DUP_FIELD_FROM_USER_(ptr, field, size, 1, ##__VA_ARGS__)
163 #define DUP_FIELD_FROM_USER_NOCOPY(ptr, field, size, ...) \
164 DUP_FIELD_FROM_USER_(ptr, field, size, 0, ##__VA_ARGS__)
167 #define DUP_ARRAY_FIELD_FROM_USER_(ext, ptr, arr, arrlen, field, len, ...) \
174 DUP_FIELD_FROM_USER##ext(ptr, arr[i].field, ptr->arr[i].len, break); \
177 FREE_DUP_ARRAY_FIELD(ptr, arr, i, field); \
183 #define DUP_ARRAY_FIELD_FROM_USER(ptr, arr, arrlen, field, len, ...) \
184 DUP_ARRAY_FIELD_FROM_USER_(, ptr, arr, arrlen, field, len, ##__VA_ARGS__)
186 #define DUP_ARRAY_FIELD_FROM_USER_NOCOPY(ptr, arr, arrlen, field, len, ...) \
187 DUP_ARRAY_FIELD_FROM_USER_(_NOCOPY, ptr, arr, arrlen, field, len, ##__VA_ARGS__)
189 #define FREE_DUP_FIELD(ptr, field) \
191 if (ptr != NULL && ptr->field != ptr##cpybak.field) { \
192 LOS_MemFree(OS_SYS_MEM_ADDR, (void*)ptr->field); \
193 CONST_CAST(ptr)->field = ptr##cpybak.field; \
198 #define FREE_DUP_ARRAY_FIELD(ptr, arr, arrlen, field) \
203 FREE_DUP_FIELD(ptr, arr[j].field); \
218 #define DUP_FIELD_TO_USER(ptr, field, size, ...) \
220 if (ptr != NULL && ptr->field != NULL && (size) != 0) { \
221 if (LOS_ArchCopyToUser(ptr##cpybak.field, ptr->field, size) != 0 || \
222 LOS_ArchCopyToUser(&ptr##bak->field, &ptr##cpybak.field, sizeof(__typeof(ptr##cpybak.field))) != 0) { \
231 #define DUP_ARRAY_FIELD_TO_USER(ptr, arr, arrlen, field, len, ...) \
239 DUP_FIELD_TO_USER(ptr, arr[i].field, ptr->arr[i].len, ##__VA_ARGS__); \