Lines Matching refs:field

225 		field_header *field = &fFields[i];
228 const char *name = (const char *)fData + field->offset;
234 if (otherField->name_length != field->name_length)
239 if (strncmp(name, otherName, field->name_length) != 0)
243 if (otherField->type != field->type || otherField->count != field->count)
246 uint8 *data = fData + field->offset + field->name_length;
251 if (deep && field->type == B_MESSAGE_TYPE) {
262 if (otherField->data_size != field->data_size)
264 if (memcmp(data, otherData, field->data_size) != 0)
370 field_header *field = fFields;
371 for (uint32 i = 0; i < fHeader->field_count; i++, field++) {
372 if (field->type == typeRequested)
377 *nameFound = (char *)fData + field->offset;
379 *typeFound = field->type;
381 *countFound = field->count;
401 field_header *field = NULL;
402 status_t result = _FindField(name, B_ANY_TYPE, &field);
403 if (result < B_OK || field == NULL)
407 *typeFound = field->type;
409 *countFound = field->count;
420 field_header *field = NULL;
421 status_t result = _FindField(name, B_ANY_TYPE, &field);
422 if (result < B_OK || field == NULL)
426 *typeFound = field->type;
428 *fixedSize = (field->flags & FIELD_FLAG_FIXED_SIZE) != 0;
442 field_header *field = fFields;
443 for (uint32 i = 0; i < fHeader->field_count; i++, field++) {
444 if (field->type == type)
514 field_header *field = fFields;
515 for (uint32 i = 0; i < fHeader->field_count; i++, field++) {
516 value = B_BENDIAN_TO_HOST_INT32(field->type);
518 if ((field->flags & FIELD_FLAG_FIXED_SIZE) != 0 && field->count > 0)
519 size = field->data_size / field->count;
521 uint8 *pointer = fData + field->offset + field->name_length;
522 for (uint32 j = 0; j < field->count; j++) {
523 if (field->count == 1) {
525 (char *)(fData + field->offset));
528 (char *)(fData + field->offset), j);
531 switch (field->type) {
655 field_header *field = &fFields[*nextField];
657 if (strncmp((const char *)(fData + field->offset), oldEntry,
658 field->name_length) == 0) {
659 // nextField points to the field for oldEntry, save it and unlink
661 *nextField = field->next_field;
662 field->next_field = -1;
671 status_t result = _ResizeData(field->offset + 1,
672 newLength - field->name_length);
676 memcpy(fData + field->offset, newEntry, newLength);
677 field->name_length = newLength;
681 nextField = &field->next_field;
724 /* ToDo: test if the "_previous_" field is used in R5 */
845 field_header *field = &fFields[i];
846 if ((field->next_field >= 0
847 && (uint32)field->next_field > fHeader->field_count)
848 || (field->offset + field->name_length + field->data_size
1160 field_header *field = fFields;
1161 for (uint32 i = 0; i < fHeader->field_count; i++, field++) {
1162 if (field->offset >= offset)
1163 field->offset += change;
1251 field_header *field = &fFields[nextField];
1252 if ((field->flags & FIELD_FLAG_VALID) == 0)
1255 if (strncmp((const char *)(fData + field->offset), name,
1256 field->name_length) == 0) {
1257 if (type != B_ANY_TYPE && field->type != type)
1260 *result = field;
1264 nextField = field->next_field;
1297 field_header *field = &fFields[fHeader->field_count];
1298 field->type = type;
1299 field->count = 0;
1300 field->data_size = 0;
1301 field->next_field = -1;
1302 field->offset = fHeader->data_size;
1303 field->name_length = strlen(name) + 1;
1304 status_t status = _ResizeData(field->offset, field->name_length);
1308 memcpy(fData + field->offset, name, field->name_length);
1309 field->flags = FIELD_FLAG_VALID;
1311 field->flags |= FIELD_FLAG_FIXED_SIZE;
1315 *result = field;
1321 BMessage::_RemoveField(field_header *field)
1323 status_t result = _ResizeData(field->offset, -(field->data_size
1324 + field->name_length));
1328 int32 index = ((uint8 *)field - (uint8 *)fFields) / sizeof(field_header);
1329 int32 nextField = field->next_field;
1376 // the caller expects to add to this field. Since we do no item pre-
1382 field_header *field = NULL;
1383 status_t result = _FindField(name, type, &field);
1385 result = _AddField(name, type, isFixedSize, &field);
1390 if (field == NULL)
1393 uint32 offset = field->offset + field->name_length + field->data_size;
1394 if ((field->flags & FIELD_FLAG_FIXED_SIZE) != 0) {
1395 if (field->count) {
1396 ssize_t size = field->data_size / field->count;
1403 if (field->count == 0)
1404 _RemoveField(field);
1409 field->data_size += numBytes;
1414 if (field->count == 0)
1415 _RemoveField(field);
1422 field->data_size += change;
1425 field->count++;
1437 field_header *field = NULL;
1438 status_t result = _FindField(name, B_ANY_TYPE, &field);
1443 if (field == NULL)
1446 if ((uint32)index >= field->count)
1449 if (field->count == 1)
1450 return _RemoveField(field);
1452 uint32 offset = field->offset + field->name_length;
1453 if ((field->flags & FIELD_FLAG_FIXED_SIZE) != 0) {
1454 ssize_t size = field->data_size / field->count;
1459 field->data_size -= size;
1472 field->data_size -= currentSize;
1475 field->count--;
1484 field_header *field = NULL;
1485 status_t result = _FindField(name, B_ANY_TYPE, &field);
1490 if (field == NULL)
1493 return _RemoveField(field);
1516 field_header *field = NULL;
1517 status_t result = _FindField(name, type, &field);
1522 if (field == NULL)
1525 if (index < 0 || (uint32)index >= field->count)
1528 if ((field->flags & FIELD_FLAG_FIXED_SIZE) != 0) {
1529 size_t bytes = field->data_size / field->count;
1530 *data = fData + field->offset + field->name_length + index * bytes;
1534 uint8 *pointer = fData + field->offset + field->name_length;
1555 field_header *field = NULL;
1556 status_t result = _FindField(name, type, &field);
1561 if (field == NULL)
1564 if (index < 0 || (uint32)index >= field->count)
1567 if ((field->flags & FIELD_FLAG_FIXED_SIZE) != 0) {
1568 ssize_t size = field->data_size / field->count;
1572 memcpy(fData + field->offset + field->name_length + index * size, data,
1575 uint32 offset = field->offset + field->name_length;
1592 field->data_size += change;
1603 field_header *field = NULL;
1604 status_t result = _FindField(name, type, &field);
1609 if (field == NULL)
1612 if (index < 0 || (uint32)index >= field->count)