Lines Matching refs:field

808 		free(arg->field.name);  in free_arg()
811 free_arg(arg->flags.field); in free_arg()
816 free_arg(arg->symbol.field); in free_arg()
821 free_arg(arg->hex.field); in free_arg()
825 free_arg(arg->int_array.field); in free_arg()
1301 static int field_is_string(struct format_field *field) in field_is_string() argument
1303 if ((field->flags & FIELD_IS_ARRAY) && in field_is_string()
1304 (strstr(field->type, "char") || strstr(field->type, "u8") || in field_is_string()
1305 strstr(field->type, "s8"))) in field_is_string()
1311 static int field_is_dynamic(struct format_field *field) in field_is_dynamic() argument
1313 if (strncmp(field->type, "__data_loc", 10) == 0) in field_is_dynamic()
1319 static int field_is_long(struct format_field *field) in field_is_long() argument
1322 if (strstr(field->type, "long")) in field_is_long()
1358 struct format_field *field = NULL; in event_read_fields() local
1399 field = calloc(1, sizeof(*field)); in event_read_fields()
1400 if (!field) in event_read_fields()
1403 field->event = event; in event_read_fields()
1418 field->flags |= FIELD_IS_POINTER; in event_read_fields()
1420 if (field->type) { in event_read_fields()
1422 new_type = realloc(field->type, in event_read_fields()
1423 strlen(field->type) + in event_read_fields()
1429 field->type = new_type; in event_read_fields()
1430 strcat(field->type, " "); in event_read_fields()
1431 strcat(field->type, last_token); in event_read_fields()
1434 field->type = last_token; in event_read_fields()
1442 if (!field->type) { in event_read_fields()
1446 field->name = field->alias = last_token; in event_read_fields()
1457 field->flags |= FIELD_IS_ARRAY; in event_read_fields()
1462 field->arraylen = strtoul(token, NULL, 0); in event_read_fields()
1464 field->arraylen = 0; in event_read_fields()
1486 field->arraylen = strtoul(token, NULL, 0); in event_read_fields()
1514 new_type = realloc(field->type, in event_read_fields()
1515 strlen(field->type) + in event_read_fields()
1516 strlen(field->name) + in event_read_fields()
1522 field->type = new_type; in event_read_fields()
1523 strcat(field->type, " "); in event_read_fields()
1524 strcat(field->type, field->name); in event_read_fields()
1525 size_dynamic = type_size(field->name); in event_read_fields()
1526 free_token(field->name); in event_read_fields()
1527 strcat(field->type, brackets); in event_read_fields()
1528 field->name = field->alias = token; in event_read_fields()
1532 new_type = realloc(field->type, in event_read_fields()
1533 strlen(field->type) + in event_read_fields()
1539 field->type = new_type; in event_read_fields()
1540 strcat(field->type, brackets); in event_read_fields()
1545 if (field_is_string(field)) in event_read_fields()
1546 field->flags |= FIELD_IS_STRING; in event_read_fields()
1547 if (field_is_dynamic(field)) in event_read_fields()
1548 field->flags |= FIELD_IS_DYNAMIC; in event_read_fields()
1549 if (field_is_long(field)) in event_read_fields()
1550 field->flags |= FIELD_IS_LONG; in event_read_fields()
1564 field->offset = strtoul(token, NULL, 0); in event_read_fields()
1578 field->size = strtoul(token, NULL, 0); in event_read_fields()
1599 field->flags |= FIELD_IS_SIGNED; in event_read_fields()
1611 if (field->flags & FIELD_IS_ARRAY) { in event_read_fields()
1612 if (field->arraylen) in event_read_fields()
1613 field->elementsize = field->size / field->arraylen; in event_read_fields()
1614 else if (field->flags & FIELD_IS_DYNAMIC) in event_read_fields()
1615 field->elementsize = size_dynamic; in event_read_fields()
1616 else if (field->flags & FIELD_IS_STRING) in event_read_fields()
1617 field->elementsize = 1; in event_read_fields()
1618 else if (field->flags & FIELD_IS_LONG) in event_read_fields()
1619 field->elementsize = event->pevent ? in event_read_fields()
1623 field->elementsize = field->size; in event_read_fields()
1625 *fields = field; in event_read_fields()
1626 fields = &field->next; in event_read_fields()
1635 if (field) { in event_read_fields()
1636 free(field->type); in event_read_fields()
1637 free(field->name); in event_read_fields()
1638 free(field); in event_read_fields()
2076 char *field; in process_entry() local
2084 field = token; in process_entry()
2087 arg->field.name = field; in process_entry()
2090 arg->field.field = tep_find_any_field(event, arg->field.name); in process_entry()
2091 arg->field.field->flags |= FIELD_IS_FLAG; in process_entry()
2094 arg->field.field = tep_find_any_field(event, arg->field.name); in process_entry()
2095 arg->field.field->flags |= FIELD_IS_SYMBOLIC; in process_entry()
2114 struct print_arg *field; in alloc_and_process_delim() local
2119 field = alloc_arg(); in alloc_and_process_delim()
2120 if (!field) { in alloc_and_process_delim()
2126 type = process_arg(event, field, &token); in alloc_and_process_delim()
2131 free_arg(field); in alloc_and_process_delim()
2135 *print_arg = field; in alloc_and_process_delim()
2450 struct print_flag_sym *field; in process_fields() local
2476 field = calloc(1, sizeof(*field)); in process_fields()
2477 if (!field) in process_fields()
2483 field->value = strdup(value); in process_fields()
2484 if (field->value == NULL) in process_fields()
2500 field->str = strdup(value); in process_fields()
2501 if (field->str == NULL) in process_fields()
2506 *list = field; in process_fields()
2507 list = &field->next; in process_fields()
2517 free_flag_sym(field); in process_fields()
2529 struct print_arg *field; in process_flags() local
2536 field = alloc_arg(); in process_flags()
2537 if (!field) { in process_flags()
2542 type = process_field_arg(event, field, &token); in process_flags()
2546 type = process_op(event, field, &token); in process_flags()
2552 arg->flags.field = field; in process_flags()
2572 free_arg(field); in process_flags()
2582 struct print_arg *field; in process_symbols() local
2589 field = alloc_arg(); in process_symbols()
2590 if (!field) { in process_symbols()
2595 type = process_field_arg(event, field, &token); in process_symbols()
2600 arg->symbol.field = field; in process_symbols()
2611 free_arg(field); in process_symbols()
2625 if (alloc_and_process_delim(event, ",", &arg->hex.field)) in process_hex_common()
2634 free_arg(arg->hex.field); in process_hex_common()
2635 arg->hex.field = NULL; in process_hex_common()
2660 if (alloc_and_process_delim(event, ",", &arg->int_array.field)) in process_int_array()
2675 free_arg(arg->int_array.field); in process_int_array()
2676 arg->int_array.field = NULL; in process_int_array()
2685 struct format_field *field; in process_dynamic_array() local
2703 field = tep_find_field(event, token); in process_dynamic_array()
2704 if (!field) in process_dynamic_array()
2707 arg->dynarray.field = field; in process_dynamic_array()
2750 struct format_field *field; in process_dynamic_array_len() local
2760 field = tep_find_field(event, token); in process_dynamic_array_len()
2761 if (!field) in process_dynamic_array_len()
2764 arg->dynarray.field = field; in process_dynamic_array_len()
3355 int tep_read_number_field(struct format_field *field, const void *data, in tep_read_number_field() argument
3358 if (!field) in tep_read_number_field()
3360 switch (field->size) { in tep_read_number_field()
3365 *value = tep_read_number(field->event->pevent, in tep_read_number_field()
3366 data + field->offset, field->size); in tep_read_number_field()
3377 struct format_field *field; in get_common_info() local
3389 field = tep_find_common_field(event, type); in get_common_info()
3390 if (!field) in get_common_info()
3393 *offset = field->offset; in get_common_info()
3394 *size = field->size; in get_common_info()
3541 if (!arg->field.field) { in eval_num_arg()
3542 arg->field.field = tep_find_any_field(event, arg->field.name); in eval_num_arg()
3543 if (!arg->field.field) in eval_num_arg()
3548 val = tep_read_number(pevent, data + arg->field.field->offset, in eval_num_arg()
3549 arg->field.field->size); in eval_num_arg()
3593 data + larg->dynarray.field->offset, in eval_num_arg()
3594 larg->dynarray.field->size); in eval_num_arg()
3595 if (larg->dynarray.field->elementsize) in eval_num_arg()
3596 field_size = larg->dynarray.field->elementsize; in eval_num_arg()
3606 if (!larg->field.field) { in eval_num_arg()
3607 larg->field.field = in eval_num_arg()
3608 tep_find_any_field(event, larg->field.name); in eval_num_arg()
3609 if (!larg->field.field) { in eval_num_arg()
3614 field_size = larg->field.field->elementsize; in eval_num_arg()
3615 offset = larg->field.field->offset + in eval_num_arg()
3616 right * larg->field.field->elementsize; in eval_num_arg()
3723 data + arg->dynarray.field->offset, in eval_num_arg()
3724 arg->dynarray.field->size); in eval_num_arg()
3735 data + arg->dynarray.field->offset, in eval_num_arg()
3736 arg->dynarray.field->size); in eval_num_arg()
3756 __func__, arg->field.name); in eval_num_arg()
3869 struct format_field *field; in print_str_arg() local
3886 field = arg->field.field; in print_str_arg()
3887 if (!field) { in print_str_arg()
3888 field = tep_find_any_field(event, arg->field.name); in print_str_arg()
3889 if (!field) { in print_str_arg()
3890 str = arg->field.name; in print_str_arg()
3893 arg->field.field = field; in print_str_arg()
3896 len = field->size ? : size - field->offset; in print_str_arg()
3903 if (!(field->flags & FIELD_IS_ARRAY) && in print_str_arg()
3904 field->size == pevent->long_size) { in print_str_arg()
3920 *(unsigned long long *)(data + field->offset) : in print_str_arg()
3921 (unsigned long long)*(unsigned int *)(data + field->offset); in print_str_arg()
3937 memcpy(str, data + field->offset, len); in print_str_arg()
3943 val = eval_num_arg(data, size, event, arg->flags.field); in print_str_arg()
3966 val = eval_num_arg(data, size, event, arg->symbol.field); in print_str_arg()
3979 if (arg->hex.field->type == PRINT_DYNAMIC_ARRAY) { in print_str_arg()
3982 data + arg->hex.field->dynarray.field->offset, in print_str_arg()
3983 arg->hex.field->dynarray.field->size); in print_str_arg()
3986 field = arg->hex.field->field.field; in print_str_arg()
3987 if (!field) { in print_str_arg()
3988 str = arg->hex.field->field.name; in print_str_arg()
3989 field = tep_find_any_field(event, str); in print_str_arg()
3990 if (!field) in print_str_arg()
3992 arg->hex.field->field.field = field; in print_str_arg()
3994 hex = data + field->offset; in print_str_arg()
4008 if (arg->int_array.field->type == PRINT_DYNAMIC_ARRAY) { in print_str_arg()
4010 struct format_field *field = in print_str_arg() local
4011 arg->int_array.field->dynarray.field; in print_str_arg()
4013 data + field->offset, in print_str_arg()
4014 field->size); in print_str_arg()
4017 field = arg->int_array.field->field.field; in print_str_arg()
4018 if (!field) { in print_str_arg()
4019 str = arg->int_array.field->field.name; in print_str_arg()
4020 field = tep_find_any_field(event, str); in print_str_arg()
4021 if (!field) in print_str_arg()
4023 arg->int_array.field->field.field = field; in print_str_arg()
4025 num = data + field->offset; in print_str_arg()
4114 __func__, arg->field.name); in print_str_arg()
4217 struct format_field *field, *ip_field; in make_bprint_args() local
4224 field = pevent->bprint_buf_field; in make_bprint_args()
4227 if (!field) { in make_bprint_args()
4228 field = tep_find_field(event, "buf"); in make_bprint_args()
4229 if (!field) { in make_bprint_args()
4238 pevent->bprint_buf_field = field; in make_bprint_args()
4263 for (ptr = fmt + 5, bptr = data + field->offset; in make_bprint_args()
4395 struct format_field *field; in get_bprint_format() local
4399 field = pevent->bprint_fmt_field; in get_bprint_format()
4401 if (!field) { in get_bprint_format()
4402 field = tep_find_field(event, "fmt"); in get_bprint_format()
4403 if (!field) { in get_bprint_format()
4407 pevent->bprint_fmt_field = field; in get_bprint_format()
4410 addr = tep_read_number(pevent, data + field->offset, field->size); in get_bprint_format()
4444 if (!arg->field.field) { in print_mac_arg()
4445 arg->field.field = in print_mac_arg()
4446 tep_find_any_field(event, arg->field.name); in print_mac_arg()
4447 if (!arg->field.field) { in print_mac_arg()
4449 __func__, arg->field.name); in print_mac_arg()
4453 if (arg->field.field->size != 6) { in print_mac_arg()
4457 buf = data + arg->field.field->offset; in print_mac_arg()
4594 if (!arg->field.field) { in print_ipv4_arg()
4595 arg->field.field = in print_ipv4_arg()
4596 tep_find_any_field(event, arg->field.name); in print_ipv4_arg()
4597 if (!arg->field.field) { in print_ipv4_arg()
4599 __func__, arg->field.name); in print_ipv4_arg()
4604 buf = data + arg->field.field->offset; in print_ipv4_arg()
4606 if (arg->field.field->size != 4) { in print_ipv4_arg()
4640 if (!arg->field.field) { in print_ipv6_arg()
4641 arg->field.field = in print_ipv6_arg()
4642 tep_find_any_field(event, arg->field.name); in print_ipv6_arg()
4643 if (!arg->field.field) { in print_ipv6_arg()
4645 __func__, arg->field.name); in print_ipv6_arg()
4650 buf = data + arg->field.field->offset; in print_ipv6_arg()
4652 if (arg->field.field->size != 16) { in print_ipv6_arg()
4698 if (!arg->field.field) { in print_ipsa_arg()
4699 arg->field.field = in print_ipsa_arg()
4700 tep_find_any_field(event, arg->field.name); in print_ipsa_arg()
4701 if (!arg->field.field) { in print_ipsa_arg()
4703 __func__, arg->field.name); in print_ipsa_arg()
4708 sa = (struct sockaddr_storage *) (data + arg->field.field->offset); in print_ipsa_arg()
4713 if (arg->field.field->size < sizeof(struct sockaddr_in)) { in print_ipsa_arg()
4726 if (arg->field.field->size < sizeof(struct sockaddr_in6)) { in print_ipsa_arg()
4790 struct format_field *field) in tep_print_field() argument
4794 struct tep_handle *pevent = field->event->pevent; in tep_print_field()
4796 if (field->flags & FIELD_IS_ARRAY) { in tep_print_field()
4797 offset = field->offset; in tep_print_field()
4798 len = field->size; in tep_print_field()
4799 if (field->flags & FIELD_IS_DYNAMIC) { in tep_print_field()
4805 if (field->flags & FIELD_IS_STRING && in tep_print_field()
4817 field->flags &= ~FIELD_IS_STRING; in tep_print_field()
4820 val = tep_read_number(pevent, data + field->offset, in tep_print_field()
4821 field->size); in tep_print_field()
4822 if (field->flags & FIELD_IS_POINTER) { in tep_print_field()
4824 } else if (field->flags & FIELD_IS_SIGNED) { in tep_print_field()
4825 switch (field->size) { in tep_print_field()
4831 if (field->flags & FIELD_IS_LONG) in tep_print_field()
4846 if (field->flags & FIELD_IS_LONG) in tep_print_field()
4857 struct format_field *field; in tep_print_fields() local
4859 field = event->format.fields; in tep_print_fields()
4860 while (field) { in tep_print_fields()
4861 trace_seq_printf(s, " %s=", field->name); in tep_print_fields()
4862 tep_print_field(s, data, field); in tep_print_fields()
4863 field = field->next; in tep_print_fields()
5671 struct format_field *field; in get_event_fields() local
5678 for (field = list; field; field = field->next) { in get_event_fields()
5679 fields[i++] = field; in get_event_fields()
5725 static void print_fields(struct trace_seq *s, struct print_flag_sym *field) in print_fields() argument
5727 trace_seq_printf(s, "{ %s, %s }", field->value, field->str); in print_fields()
5728 if (field->next) { in print_fields()
5730 print_fields(s, field->next); in print_fields()
5748 printf("REC->%s", args->field.name); in print_args()
5752 print_args(args->flags.field); in print_args()
5762 print_args(args->symbol.field); in print_args()
5772 print_args(args->hex.field); in print_args()
5779 print_args(args->hex.field); in print_args()
5786 print_args(args->int_array.field); in print_args()
5825 static void parse_header_field(const char *field, in parse_header_field() argument
5850 if (read_expected(EVENT_ITEM, field) < 0) in parse_header_field()
5855 if (strcmp(token, field) != 0) in parse_header_field()
6092 struct format_field *field; in __tep_parse_format() local
6097 for (field = event->format.fields; field; field = field->next) { in __tep_parse_format()
6104 arg->field.name = strdup(field->name); in __tep_parse_format()
6105 if (!arg->field.name) { in __tep_parse_format()
6110 arg->field.field = field; in __tep_parse_format()
6232 int get_field_val(struct trace_seq *s, struct format_field *field, in get_field_val() argument
6236 if (!field) { in get_field_val()
6242 if (tep_read_number_field(field, record->data, val)) { in get_field_val()
6269 struct format_field *field; in tep_get_field_raw() local
6277 field = tep_find_field(event, name); in tep_get_field_raw()
6279 if (!field) { in tep_get_field_raw()
6289 offset = field->offset; in tep_get_field_raw()
6290 if (field->flags & FIELD_IS_DYNAMIC) { in tep_get_field_raw()
6292 data + offset, field->size); in tep_get_field_raw()
6296 *len = field->size; in tep_get_field_raw()
6316 struct format_field *field; in tep_get_field_val() local
6321 field = tep_find_field(event, name); in tep_get_field_val()
6323 return get_field_val(s, field, name, record, val, err); in tep_get_field_val()
6341 struct format_field *field; in tep_get_common_field_val() local
6346 field = tep_find_common_field(event, name); in tep_get_common_field_val()
6348 return get_field_val(s, field, name, record, val, err); in tep_get_common_field_val()
6366 struct format_field *field; in tep_get_any_field_val() local
6371 field = tep_find_any_field(event, name); in tep_get_any_field_val()
6373 return get_field_val(s, field, name, record, val, err); in tep_get_any_field_val()
6391 struct format_field *field = tep_find_field(event, name); in tep_print_num_field() local
6394 if (!field) in tep_print_num_field()
6397 if (tep_read_number_field(field, record->data, &val)) in tep_print_num_field()
6423 struct format_field *field = tep_find_field(event, name); in tep_print_func_field() local
6429 if (!field) in tep_print_func_field()
6432 if (tep_read_number_field(field, record->data, &val)) in tep_print_func_field()
6760 void tep_free_format_field(struct format_field *field) in tep_free_format_field() argument
6762 free(field->type); in tep_free_format_field()
6763 if (field->alias != field->name) in tep_free_format_field()
6764 free(field->alias); in tep_free_format_field()
6765 free(field->name); in tep_free_format_field()
6766 free(field); in tep_free_format_field()
6769 static void free_format_fields(struct format_field *field) in free_format_fields() argument
6773 while (field) { in free_format_fields()
6774 next = field->next; in free_format_fields()
6775 tep_free_format_field(field); in free_format_fields()
6776 field = next; in free_format_fields()