Lines Matching refs:field

880 		free(arg->field.name);  in free_arg()
883 free_arg(arg->flags.field); in free_arg()
888 free_arg(arg->symbol.field); in free_arg()
893 free_arg(arg->hex.field); in free_arg()
897 free_arg(arg->int_array.field); in free_arg()
1373 static int field_is_string(struct tep_format_field *field) in field_is_string() argument
1375 if ((field->flags & TEP_FIELD_IS_ARRAY) && in field_is_string()
1376 (strstr(field->type, "char") || strstr(field->type, "u8") || in field_is_string()
1377 strstr(field->type, "s8"))) in field_is_string()
1383 static int field_is_dynamic(struct tep_format_field *field) in field_is_dynamic() argument
1385 if (strncmp(field->type, "__data_loc", 10) == 0) in field_is_dynamic()
1391 static int field_is_long(struct tep_format_field *field) in field_is_long() argument
1394 if (strstr(field->type, "long")) in field_is_long()
1430 struct tep_format_field *field = NULL; in event_read_fields() local
1471 field = calloc(1, sizeof(*field)); in event_read_fields()
1472 if (!field) in event_read_fields()
1475 field->event = event; in event_read_fields()
1490 field->flags |= TEP_FIELD_IS_POINTER; in event_read_fields()
1492 if (field->type) { in event_read_fields()
1494 new_type = realloc(field->type, in event_read_fields()
1495 strlen(field->type) + in event_read_fields()
1501 field->type = new_type; in event_read_fields()
1502 strcat(field->type, " "); in event_read_fields()
1503 strcat(field->type, last_token); in event_read_fields()
1506 field->type = last_token; in event_read_fields()
1514 if (!field->type) { in event_read_fields()
1518 field->name = field->alias = last_token; in event_read_fields()
1529 field->flags |= TEP_FIELD_IS_ARRAY; in event_read_fields()
1534 field->arraylen = strtoul(token, NULL, 0); in event_read_fields()
1536 field->arraylen = 0; in event_read_fields()
1558 field->arraylen = strtoul(token, NULL, 0); in event_read_fields()
1586 new_type = realloc(field->type, in event_read_fields()
1587 strlen(field->type) + in event_read_fields()
1588 strlen(field->name) + in event_read_fields()
1594 field->type = new_type; in event_read_fields()
1595 strcat(field->type, " "); in event_read_fields()
1596 strcat(field->type, field->name); in event_read_fields()
1597 size_dynamic = type_size(field->name); in event_read_fields()
1598 free_token(field->name); in event_read_fields()
1599 strcat(field->type, brackets); in event_read_fields()
1600 field->name = field->alias = token; in event_read_fields()
1604 new_type = realloc(field->type, in event_read_fields()
1605 strlen(field->type) + in event_read_fields()
1611 field->type = new_type; in event_read_fields()
1612 strcat(field->type, brackets); in event_read_fields()
1617 if (field_is_string(field)) in event_read_fields()
1618 field->flags |= TEP_FIELD_IS_STRING; in event_read_fields()
1619 if (field_is_dynamic(field)) in event_read_fields()
1620 field->flags |= TEP_FIELD_IS_DYNAMIC; in event_read_fields()
1621 if (field_is_long(field)) in event_read_fields()
1622 field->flags |= TEP_FIELD_IS_LONG; in event_read_fields()
1636 field->offset = strtoul(token, NULL, 0); in event_read_fields()
1650 field->size = strtoul(token, NULL, 0); in event_read_fields()
1671 field->flags |= TEP_FIELD_IS_SIGNED; in event_read_fields()
1683 if (field->flags & TEP_FIELD_IS_ARRAY) { in event_read_fields()
1684 if (field->arraylen) in event_read_fields()
1685 field->elementsize = field->size / field->arraylen; in event_read_fields()
1686 else if (field->flags & TEP_FIELD_IS_DYNAMIC) in event_read_fields()
1687 field->elementsize = size_dynamic; in event_read_fields()
1688 else if (field->flags & TEP_FIELD_IS_STRING) in event_read_fields()
1689 field->elementsize = 1; in event_read_fields()
1690 else if (field->flags & TEP_FIELD_IS_LONG) in event_read_fields()
1691 field->elementsize = event->tep ? in event_read_fields()
1695 field->elementsize = field->size; in event_read_fields()
1697 *fields = field; in event_read_fields()
1698 fields = &field->next; in event_read_fields()
1707 if (field) { in event_read_fields()
1708 free(field->type); in event_read_fields()
1709 free(field->name); in event_read_fields()
1710 free(field); in event_read_fields()
2148 char *field; in process_entry() local
2156 field = token; in process_entry()
2159 arg->field.name = field; in process_entry()
2162 arg->field.field = tep_find_any_field(event, arg->field.name); in process_entry()
2163 arg->field.field->flags |= TEP_FIELD_IS_FLAG; in process_entry()
2166 arg->field.field = tep_find_any_field(event, arg->field.name); in process_entry()
2167 arg->field.field->flags |= TEP_FIELD_IS_SYMBOLIC; in process_entry()
2186 struct tep_print_arg *field; in alloc_and_process_delim() local
2191 field = alloc_arg(); in alloc_and_process_delim()
2192 if (!field) { in alloc_and_process_delim()
2198 type = process_arg(event, field, &token); in alloc_and_process_delim()
2203 free_arg(field); in alloc_and_process_delim()
2207 *print_arg = field; in alloc_and_process_delim()
2522 struct tep_print_flag_sym *field; in process_fields() local
2548 field = calloc(1, sizeof(*field)); in process_fields()
2549 if (!field) in process_fields()
2555 field->value = strdup(value); in process_fields()
2556 if (field->value == NULL) in process_fields()
2572 field->str = strdup(value); in process_fields()
2573 if (field->str == NULL) in process_fields()
2578 *list = field; in process_fields()
2579 list = &field->next; in process_fields()
2589 free_flag_sym(field); in process_fields()
2601 struct tep_print_arg *field; in process_flags() local
2608 field = alloc_arg(); in process_flags()
2609 if (!field) { in process_flags()
2614 type = process_field_arg(event, field, &token); in process_flags()
2618 type = process_op(event, field, &token); in process_flags()
2624 arg->flags.field = field; in process_flags()
2644 free_arg(field); in process_flags()
2654 struct tep_print_arg *field; in process_symbols() local
2661 field = alloc_arg(); in process_symbols()
2662 if (!field) { in process_symbols()
2667 type = process_field_arg(event, field, &token); in process_symbols()
2672 arg->symbol.field = field; in process_symbols()
2683 free_arg(field); in process_symbols()
2697 if (alloc_and_process_delim(event, ",", &arg->hex.field)) in process_hex_common()
2706 free_arg(arg->hex.field); in process_hex_common()
2707 arg->hex.field = NULL; in process_hex_common()
2732 if (alloc_and_process_delim(event, ",", &arg->int_array.field)) in process_int_array()
2747 free_arg(arg->int_array.field); in process_int_array()
2748 arg->int_array.field = NULL; in process_int_array()
2757 struct tep_format_field *field; in process_dynamic_array() local
2775 field = tep_find_field(event, token); in process_dynamic_array()
2776 if (!field) in process_dynamic_array()
2779 arg->dynarray.field = field; in process_dynamic_array()
2822 struct tep_format_field *field; in process_dynamic_array_len() local
2832 field = tep_find_field(event, token); in process_dynamic_array_len()
2833 if (!field) in process_dynamic_array_len()
2836 arg->dynarray.field = field; in process_dynamic_array_len()
3430 int tep_read_number_field(struct tep_format_field *field, const void *data, in tep_read_number_field() argument
3433 if (!field) in tep_read_number_field()
3435 switch (field->size) { in tep_read_number_field()
3440 *value = tep_read_number(field->event->tep, in tep_read_number_field()
3441 data + field->offset, field->size); in tep_read_number_field()
3452 struct tep_format_field *field; in get_common_info() local
3464 field = tep_find_common_field(event, type); in get_common_info()
3465 if (!field) in get_common_info()
3468 *offset = field->offset; in get_common_info()
3469 *size = field->size; in get_common_info()
3616 if (!arg->field.field) { in eval_num_arg()
3617 arg->field.field = tep_find_any_field(event, arg->field.name); in eval_num_arg()
3618 if (!arg->field.field) in eval_num_arg()
3623 val = tep_read_number(tep, data + arg->field.field->offset, in eval_num_arg()
3624 arg->field.field->size); in eval_num_arg()
3668 data + larg->dynarray.field->offset, in eval_num_arg()
3669 larg->dynarray.field->size); in eval_num_arg()
3670 if (larg->dynarray.field->elementsize) in eval_num_arg()
3671 field_size = larg->dynarray.field->elementsize; in eval_num_arg()
3681 if (!larg->field.field) { in eval_num_arg()
3682 larg->field.field = in eval_num_arg()
3683 tep_find_any_field(event, larg->field.name); in eval_num_arg()
3684 if (!larg->field.field) { in eval_num_arg()
3689 field_size = larg->field.field->elementsize; in eval_num_arg()
3690 offset = larg->field.field->offset + in eval_num_arg()
3691 right * larg->field.field->elementsize; in eval_num_arg()
3798 data + arg->dynarray.field->offset, in eval_num_arg()
3799 arg->dynarray.field->size); in eval_num_arg()
3810 data + arg->dynarray.field->offset, in eval_num_arg()
3811 arg->dynarray.field->size); in eval_num_arg()
3831 __func__, arg->field.name); in eval_num_arg()
3944 struct tep_format_field *field; in print_str_arg() local
3961 field = arg->field.field; in print_str_arg()
3962 if (!field) { in print_str_arg()
3963 field = tep_find_any_field(event, arg->field.name); in print_str_arg()
3964 if (!field) { in print_str_arg()
3965 str = arg->field.name; in print_str_arg()
3968 arg->field.field = field; in print_str_arg()
3971 len = field->size ? : size - field->offset; in print_str_arg()
3978 if (!(field->flags & TEP_FIELD_IS_ARRAY) && in print_str_arg()
3979 field->size == tep->long_size) { in print_str_arg()
3995 *(unsigned long long *)(data + field->offset) : in print_str_arg()
3996 (unsigned long long)*(unsigned int *)(data + field->offset); in print_str_arg()
4012 memcpy(str, data + field->offset, len); in print_str_arg()
4018 val = eval_num_arg(data, size, event, arg->flags.field); in print_str_arg()
4041 val = eval_num_arg(data, size, event, arg->symbol.field); in print_str_arg()
4054 if (arg->hex.field->type == TEP_PRINT_DYNAMIC_ARRAY) { in print_str_arg()
4057 data + arg->hex.field->dynarray.field->offset, in print_str_arg()
4058 arg->hex.field->dynarray.field->size); in print_str_arg()
4061 field = arg->hex.field->field.field; in print_str_arg()
4062 if (!field) { in print_str_arg()
4063 str = arg->hex.field->field.name; in print_str_arg()
4064 field = tep_find_any_field(event, str); in print_str_arg()
4065 if (!field) in print_str_arg()
4067 arg->hex.field->field.field = field; in print_str_arg()
4069 hex = data + field->offset; in print_str_arg()
4083 if (arg->int_array.field->type == TEP_PRINT_DYNAMIC_ARRAY) { in print_str_arg()
4085 struct tep_format_field *field = in print_str_arg() local
4086 arg->int_array.field->dynarray.field; in print_str_arg()
4088 data + field->offset, in print_str_arg()
4089 field->size); in print_str_arg()
4092 field = arg->int_array.field->field.field; in print_str_arg()
4093 if (!field) { in print_str_arg()
4094 str = arg->int_array.field->field.name; in print_str_arg()
4095 field = tep_find_any_field(event, str); in print_str_arg()
4096 if (!field) in print_str_arg()
4098 arg->int_array.field->field.field = field; in print_str_arg()
4100 num = data + field->offset; in print_str_arg()
4189 __func__, arg->field.name); in print_str_arg()
4292 struct tep_format_field *field, *ip_field; in make_bprint_args() local
4299 field = tep->bprint_buf_field; in make_bprint_args()
4302 if (!field) { in make_bprint_args()
4303 field = tep_find_field(event, "buf"); in make_bprint_args()
4304 if (!field) { in make_bprint_args()
4313 tep->bprint_buf_field = field; in make_bprint_args()
4338 for (ptr = fmt + 5, bptr = data + field->offset; in make_bprint_args()
4481 struct tep_format_field *field; in get_bprint_format() local
4485 field = tep->bprint_fmt_field; in get_bprint_format()
4487 if (!field) { in get_bprint_format()
4488 field = tep_find_field(event, "fmt"); in get_bprint_format()
4489 if (!field) { in get_bprint_format()
4493 tep->bprint_fmt_field = field; in get_bprint_format()
4496 addr = tep_read_number(tep, data + field->offset, field->size); in get_bprint_format()
4530 if (!arg->field.field) { in print_mac_arg()
4531 arg->field.field = in print_mac_arg()
4532 tep_find_any_field(event, arg->field.name); in print_mac_arg()
4533 if (!arg->field.field) { in print_mac_arg()
4535 __func__, arg->field.name); in print_mac_arg()
4539 if (arg->field.field->size != 6) { in print_mac_arg()
4543 buf = data + arg->field.field->offset; in print_mac_arg()
4680 if (!arg->field.field) { in print_ipv4_arg()
4681 arg->field.field = in print_ipv4_arg()
4682 tep_find_any_field(event, arg->field.name); in print_ipv4_arg()
4683 if (!arg->field.field) { in print_ipv4_arg()
4685 __func__, arg->field.name); in print_ipv4_arg()
4690 buf = data + arg->field.field->offset; in print_ipv4_arg()
4692 if (arg->field.field->size != 4) { in print_ipv4_arg()
4726 if (!arg->field.field) { in print_ipv6_arg()
4727 arg->field.field = in print_ipv6_arg()
4728 tep_find_any_field(event, arg->field.name); in print_ipv6_arg()
4729 if (!arg->field.field) { in print_ipv6_arg()
4731 __func__, arg->field.name); in print_ipv6_arg()
4736 buf = data + arg->field.field->offset; in print_ipv6_arg()
4738 if (arg->field.field->size != 16) { in print_ipv6_arg()
4784 if (!arg->field.field) { in print_ipsa_arg()
4785 arg->field.field = in print_ipsa_arg()
4786 tep_find_any_field(event, arg->field.name); in print_ipsa_arg()
4787 if (!arg->field.field) { in print_ipsa_arg()
4789 __func__, arg->field.name); in print_ipsa_arg()
4794 sa = (struct sockaddr_storage *) (data + arg->field.field->offset); in print_ipsa_arg()
4799 if (arg->field.field->size < sizeof(struct sockaddr_in)) { in print_ipsa_arg()
4812 if (arg->field.field->size < sizeof(struct sockaddr_in6)) { in print_ipsa_arg()
4876 struct tep_format_field *field) in tep_print_field() argument
4880 struct tep_handle *tep = field->event->tep; in tep_print_field()
4882 if (field->flags & TEP_FIELD_IS_ARRAY) { in tep_print_field()
4883 offset = field->offset; in tep_print_field()
4884 len = field->size; in tep_print_field()
4885 if (field->flags & TEP_FIELD_IS_DYNAMIC) { in tep_print_field()
4891 if (field->flags & TEP_FIELD_IS_STRING && in tep_print_field()
4903 field->flags &= ~TEP_FIELD_IS_STRING; in tep_print_field()
4906 val = tep_read_number(tep, data + field->offset, in tep_print_field()
4907 field->size); in tep_print_field()
4908 if (field->flags & TEP_FIELD_IS_POINTER) { in tep_print_field()
4910 } else if (field->flags & TEP_FIELD_IS_SIGNED) { in tep_print_field()
4911 switch (field->size) { in tep_print_field()
4917 if (field->flags & TEP_FIELD_IS_LONG) in tep_print_field()
4932 if (field->flags & TEP_FIELD_IS_LONG) in tep_print_field()
4943 struct tep_format_field *field; in tep_print_fields() local
4945 field = event->format.fields; in tep_print_fields()
4946 while (field) { in tep_print_fields()
4947 trace_seq_printf(s, " %s=", field->name); in tep_print_fields()
4948 tep_print_field(s, data, field); in tep_print_fields()
4949 field = field->next; in tep_print_fields()
5865 struct tep_format_field *field; in get_event_fields() local
5872 for (field = list; field; field = field->next) { in get_event_fields()
5873 fields[i++] = field; in get_event_fields()
5919 static void print_fields(struct trace_seq *s, struct tep_print_flag_sym *field) in print_fields() argument
5921 trace_seq_printf(s, "{ %s, %s }", field->value, field->str); in print_fields()
5922 if (field->next) { in print_fields()
5924 print_fields(s, field->next); in print_fields()
5942 printf("REC->%s", args->field.name); in print_args()
5946 print_args(args->flags.field); in print_args()
5956 print_args(args->symbol.field); in print_args()
5966 print_args(args->hex.field); in print_args()
5973 print_args(args->hex.field); in print_args()
5980 print_args(args->int_array.field); in print_args()
6019 static void parse_header_field(const char *field, in parse_header_field() argument
6044 if (read_expected(TEP_EVENT_ITEM, field) < 0) in parse_header_field()
6049 if (strcmp(token, field) != 0) in parse_header_field()
6286 struct tep_format_field *field; in __tep_parse_format() local
6291 for (field = event->format.fields; field; field = field->next) { in __tep_parse_format()
6298 arg->field.name = strdup(field->name); in __tep_parse_format()
6299 if (!arg->field.name) { in __tep_parse_format()
6304 arg->field.field = field; in __tep_parse_format()
6397 int get_field_val(struct trace_seq *s, struct tep_format_field *field, in get_field_val() argument
6401 if (!field) { in get_field_val()
6407 if (tep_read_number_field(field, record->data, val)) { in get_field_val()
6434 struct tep_format_field *field; in tep_get_field_raw() local
6442 field = tep_find_field(event, name); in tep_get_field_raw()
6444 if (!field) { in tep_get_field_raw()
6454 offset = field->offset; in tep_get_field_raw()
6455 if (field->flags & TEP_FIELD_IS_DYNAMIC) { in tep_get_field_raw()
6457 data + offset, field->size); in tep_get_field_raw()
6461 *len = field->size; in tep_get_field_raw()
6481 struct tep_format_field *field; in tep_get_field_val() local
6486 field = tep_find_field(event, name); in tep_get_field_val()
6488 return get_field_val(s, field, name, record, val, err); in tep_get_field_val()
6506 struct tep_format_field *field; in tep_get_common_field_val() local
6511 field = tep_find_common_field(event, name); in tep_get_common_field_val()
6513 return get_field_val(s, field, name, record, val, err); in tep_get_common_field_val()
6531 struct tep_format_field *field; in tep_get_any_field_val() local
6536 field = tep_find_any_field(event, name); in tep_get_any_field_val()
6538 return get_field_val(s, field, name, record, val, err); in tep_get_any_field_val()
6557 struct tep_format_field *field = tep_find_field(event, name); in tep_print_num_field() local
6560 if (!field) in tep_print_num_field()
6563 if (tep_read_number_field(field, record->data, &val)) in tep_print_num_field()
6590 struct tep_format_field *field = tep_find_field(event, name); in tep_print_func_field() local
6596 if (!field) in tep_print_func_field()
6599 if (tep_read_number_field(field, record->data, &val)) in tep_print_func_field()
6942 void tep_free_format_field(struct tep_format_field *field) in tep_free_format_field() argument
6944 free(field->type); in tep_free_format_field()
6945 if (field->alias != field->name) in tep_free_format_field()
6946 free(field->alias); in tep_free_format_field()
6947 free(field->name); in tep_free_format_field()
6948 free(field); in tep_free_format_field()
6951 static void free_format_fields(struct tep_format_field *field) in free_format_fields() argument
6955 while (field) { in free_format_fields()
6956 next = field->next; in free_format_fields()
6957 tep_free_format_field(field); in free_format_fields()
6958 field = next; in free_format_fields()