Lines Matching refs:field

874 		free(arg->field.name);  in free_arg()
877 free_arg(arg->flags.field); in free_arg()
882 free_arg(arg->symbol.field); in free_arg()
887 free_arg(arg->hex.field); in free_arg()
891 free_arg(arg->int_array.field); in free_arg()
1352 static int field_is_string(struct tep_format_field *field) in field_is_string() argument
1354 if ((field->flags & TEP_FIELD_IS_ARRAY) && in field_is_string()
1355 (strstr(field->type, "char") || strstr(field->type, "u8") || in field_is_string()
1356 strstr(field->type, "s8"))) in field_is_string()
1362 static int field_is_dynamic(struct tep_format_field *field) in field_is_dynamic() argument
1364 if (strncmp(field->type, "__data_loc", 10) == 0) in field_is_dynamic()
1370 static int field_is_long(struct tep_format_field *field) in field_is_long() argument
1373 if (strstr(field->type, "long")) in field_is_long()
1422 struct tep_format_field *field = NULL; in event_read_fields() local
1465 field = calloc(1, sizeof(*field)); in event_read_fields()
1466 if (!field) in event_read_fields()
1469 field->event = event; in event_read_fields()
1484 field->flags |= TEP_FIELD_IS_POINTER; in event_read_fields()
1486 if (field->type) { in event_read_fields()
1487 ret = append(&field->type, delim, last_token); in event_read_fields()
1492 field->type = last_token; in event_read_fields()
1505 ret = append(&field->type, " ", last_token); in event_read_fields()
1506 ret |= append(&field->type, "", "("); in event_read_fields()
1519 ret = append(&field->type, "", token); in event_read_fields()
1522 ret = append(&field->type, delim, token); in event_read_fields()
1535 if (!field->type) { in event_read_fields()
1539 field->name = field->alias = last_token; in event_read_fields()
1548 field->flags |= TEP_FIELD_IS_ARRAY; in event_read_fields()
1553 field->arraylen = strtoul(token, NULL, 0); in event_read_fields()
1555 field->arraylen = 0; in event_read_fields()
1574 field->arraylen = strtoul(token, NULL, 0); in event_read_fields()
1600 ret = append(&field->type, " ", field->name); in event_read_fields()
1605 ret = append(&field->type, "", brackets); in event_read_fields()
1607 size_dynamic = type_size(field->name); in event_read_fields()
1608 free_token(field->name); in event_read_fields()
1609 field->name = field->alias = token; in event_read_fields()
1612 ret = append(&field->type, "", brackets); in event_read_fields()
1621 if (field_is_string(field)) in event_read_fields()
1622 field->flags |= TEP_FIELD_IS_STRING; in event_read_fields()
1623 if (field_is_dynamic(field)) in event_read_fields()
1624 field->flags |= TEP_FIELD_IS_DYNAMIC; in event_read_fields()
1625 if (field_is_long(field)) in event_read_fields()
1626 field->flags |= TEP_FIELD_IS_LONG; in event_read_fields()
1640 field->offset = strtoul(token, NULL, 0); in event_read_fields()
1654 field->size = strtoul(token, NULL, 0); in event_read_fields()
1675 field->flags |= TEP_FIELD_IS_SIGNED; in event_read_fields()
1687 if (field->flags & TEP_FIELD_IS_ARRAY) { in event_read_fields()
1688 if (field->arraylen) in event_read_fields()
1689 field->elementsize = field->size / field->arraylen; in event_read_fields()
1690 else if (field->flags & TEP_FIELD_IS_DYNAMIC) in event_read_fields()
1691 field->elementsize = size_dynamic; in event_read_fields()
1692 else if (field->flags & TEP_FIELD_IS_STRING) in event_read_fields()
1693 field->elementsize = 1; in event_read_fields()
1694 else if (field->flags & TEP_FIELD_IS_LONG) in event_read_fields()
1695 field->elementsize = event->tep ? in event_read_fields()
1699 field->elementsize = field->size; in event_read_fields()
1701 *fields = field; in event_read_fields()
1702 fields = &field->next; in event_read_fields()
1711 if (field) { in event_read_fields()
1712 free(field->type); in event_read_fields()
1713 free(field->name); in event_read_fields()
1714 free(field); in event_read_fields()
2149 char *field; in process_entry() local
2157 field = token; in process_entry()
2160 arg->field.name = field; in process_entry()
2163 arg->field.field = tep_find_any_field(event, arg->field.name); in process_entry()
2164 arg->field.field->flags |= TEP_FIELD_IS_FLAG; in process_entry()
2167 arg->field.field = tep_find_any_field(event, arg->field.name); in process_entry()
2168 arg->field.field->flags |= TEP_FIELD_IS_SYMBOLIC; in process_entry()
2187 struct tep_print_arg *field; in alloc_and_process_delim() local
2192 field = alloc_arg(); in alloc_and_process_delim()
2193 if (!field) { in alloc_and_process_delim()
2199 type = process_arg(event, field, &token); in alloc_and_process_delim()
2204 free_arg(field); in alloc_and_process_delim()
2208 *print_arg = field; in alloc_and_process_delim()
2523 struct tep_print_flag_sym *field; in process_fields() local
2549 field = calloc(1, sizeof(*field)); in process_fields()
2550 if (!field) in process_fields()
2556 field->value = strdup(value); in process_fields()
2557 if (field->value == NULL) in process_fields()
2573 field->str = strdup(value); in process_fields()
2574 if (field->str == NULL) in process_fields()
2579 *list = field; in process_fields()
2580 list = &field->next; in process_fields()
2590 free_flag_sym(field); in process_fields()
2602 struct tep_print_arg *field; in process_flags() local
2609 field = alloc_arg(); in process_flags()
2610 if (!field) { in process_flags()
2615 type = process_field_arg(event, field, &token); in process_flags()
2619 type = process_op(event, field, &token); in process_flags()
2625 arg->flags.field = field; in process_flags()
2645 free_arg(field); in process_flags()
2655 struct tep_print_arg *field; in process_symbols() local
2662 field = alloc_arg(); in process_symbols()
2663 if (!field) { in process_symbols()
2668 type = process_field_arg(event, field, &token); in process_symbols()
2673 arg->symbol.field = field; in process_symbols()
2684 free_arg(field); in process_symbols()
2698 if (alloc_and_process_delim(event, ",", &arg->hex.field)) in process_hex_common()
2707 free_arg(arg->hex.field); in process_hex_common()
2708 arg->hex.field = NULL; in process_hex_common()
2733 if (alloc_and_process_delim(event, ",", &arg->int_array.field)) in process_int_array()
2748 free_arg(arg->int_array.field); in process_int_array()
2749 arg->int_array.field = NULL; in process_int_array()
2758 struct tep_format_field *field; in process_dynamic_array() local
2776 field = tep_find_field(event, token); in process_dynamic_array()
2777 if (!field) in process_dynamic_array()
2780 arg->dynarray.field = field; in process_dynamic_array()
2823 struct tep_format_field *field; in process_dynamic_array_len() local
2833 field = tep_find_field(event, token); in process_dynamic_array_len()
2834 if (!field) in process_dynamic_array_len()
2837 arg->dynarray.field = field; in process_dynamic_array_len()
3464 int tep_read_number_field(struct tep_format_field *field, const void *data, in tep_read_number_field() argument
3467 if (!field) in tep_read_number_field()
3469 switch (field->size) { in tep_read_number_field()
3474 *value = tep_read_number(field->event->tep, in tep_read_number_field()
3475 data + field->offset, field->size); in tep_read_number_field()
3486 struct tep_format_field *field; in get_common_info() local
3498 field = tep_find_common_field(event, type); in get_common_info()
3499 if (!field) in get_common_info()
3502 *offset = field->offset; in get_common_info()
3503 *size = field->size; in get_common_info()
3650 if (!arg->field.field) { in eval_num_arg()
3651 arg->field.field = tep_find_any_field(event, arg->field.name); in eval_num_arg()
3652 if (!arg->field.field) in eval_num_arg()
3657 val = tep_read_number(tep, data + arg->field.field->offset, in eval_num_arg()
3658 arg->field.field->size); in eval_num_arg()
3702 data + larg->dynarray.field->offset, in eval_num_arg()
3703 larg->dynarray.field->size); in eval_num_arg()
3704 if (larg->dynarray.field->elementsize) in eval_num_arg()
3705 field_size = larg->dynarray.field->elementsize; in eval_num_arg()
3715 if (!larg->field.field) { in eval_num_arg()
3716 larg->field.field = in eval_num_arg()
3717 tep_find_any_field(event, larg->field.name); in eval_num_arg()
3718 if (!larg->field.field) { in eval_num_arg()
3723 field_size = larg->field.field->elementsize; in eval_num_arg()
3724 offset = larg->field.field->offset + in eval_num_arg()
3725 right * larg->field.field->elementsize; in eval_num_arg()
3832 data + arg->dynarray.field->offset, in eval_num_arg()
3833 arg->dynarray.field->size); in eval_num_arg()
3844 data + arg->dynarray.field->offset, in eval_num_arg()
3845 arg->dynarray.field->size); in eval_num_arg()
3865 __func__, arg->field.name); in eval_num_arg()
3978 struct tep_format_field *field; in print_str_arg() local
3995 field = arg->field.field; in print_str_arg()
3996 if (!field) { in print_str_arg()
3997 field = tep_find_any_field(event, arg->field.name); in print_str_arg()
3998 if (!field) { in print_str_arg()
3999 str = arg->field.name; in print_str_arg()
4002 arg->field.field = field; in print_str_arg()
4005 len = field->size ? : size - field->offset; in print_str_arg()
4012 if (!(field->flags & TEP_FIELD_IS_ARRAY) && in print_str_arg()
4013 field->size == tep->long_size) { in print_str_arg()
4029 *(unsigned long long *)(data + field->offset) : in print_str_arg()
4030 (unsigned long long)*(unsigned int *)(data + field->offset); in print_str_arg()
4046 memcpy(str, data + field->offset, len); in print_str_arg()
4052 val = eval_num_arg(data, size, event, arg->flags.field); in print_str_arg()
4075 val = eval_num_arg(data, size, event, arg->symbol.field); in print_str_arg()
4088 if (arg->hex.field->type == TEP_PRINT_DYNAMIC_ARRAY) { in print_str_arg()
4091 data + arg->hex.field->dynarray.field->offset, in print_str_arg()
4092 arg->hex.field->dynarray.field->size); in print_str_arg()
4095 field = arg->hex.field->field.field; in print_str_arg()
4096 if (!field) { in print_str_arg()
4097 str = arg->hex.field->field.name; in print_str_arg()
4098 field = tep_find_any_field(event, str); in print_str_arg()
4099 if (!field) in print_str_arg()
4101 arg->hex.field->field.field = field; in print_str_arg()
4103 hex = data + field->offset; in print_str_arg()
4117 if (arg->int_array.field->type == TEP_PRINT_DYNAMIC_ARRAY) { in print_str_arg()
4119 struct tep_format_field *field = in print_str_arg() local
4120 arg->int_array.field->dynarray.field; in print_str_arg()
4122 data + field->offset, in print_str_arg()
4123 field->size); in print_str_arg()
4126 field = arg->int_array.field->field.field; in print_str_arg()
4127 if (!field) { in print_str_arg()
4128 str = arg->int_array.field->field.name; in print_str_arg()
4129 field = tep_find_any_field(event, str); in print_str_arg()
4130 if (!field) in print_str_arg()
4132 arg->int_array.field->field.field = field; in print_str_arg()
4134 num = data + field->offset; in print_str_arg()
4223 __func__, arg->field.name); in print_str_arg()
4326 struct tep_format_field *field, *ip_field; in make_bprint_args() local
4333 field = tep->bprint_buf_field; in make_bprint_args()
4336 if (!field) { in make_bprint_args()
4337 field = tep_find_field(event, "buf"); in make_bprint_args()
4338 if (!field) { in make_bprint_args()
4347 tep->bprint_buf_field = field; in make_bprint_args()
4372 for (ptr = fmt + 5, bptr = data + field->offset; in make_bprint_args()
4517 struct tep_format_field *field; in get_bprint_format() local
4521 field = tep->bprint_fmt_field; in get_bprint_format()
4523 if (!field) { in get_bprint_format()
4524 field = tep_find_field(event, "fmt"); in get_bprint_format()
4525 if (!field) { in get_bprint_format()
4529 tep->bprint_fmt_field = field; in get_bprint_format()
4532 addr = tep_read_number(tep, data + field->offset, field->size); in get_bprint_format()
4578 if (!arg->field.field) { in print_mac_arg()
4579 arg->field.field = in print_mac_arg()
4580 tep_find_any_field(event, arg->field.name); in print_mac_arg()
4581 if (!arg->field.field) { in print_mac_arg()
4583 __func__, arg->field.name); in print_mac_arg()
4587 if (arg->field.field->size != 6) { in print_mac_arg()
4592 buf = data + arg->field.field->offset; in print_mac_arg()
4774 if (!arg->field.field) { in print_ipv4_arg()
4775 arg->field.field = in print_ipv4_arg()
4776 tep_find_any_field(event, arg->field.name); in print_ipv4_arg()
4777 if (!arg->field.field) { in print_ipv4_arg()
4779 __func__, arg->field.name); in print_ipv4_arg()
4784 buf = data + arg->field.field->offset; in print_ipv4_arg()
4786 if (arg->field.field->size != 4) { in print_ipv4_arg()
4821 if (!arg->field.field) { in print_ipv6_arg()
4822 arg->field.field = in print_ipv6_arg()
4823 tep_find_any_field(event, arg->field.name); in print_ipv6_arg()
4824 if (!arg->field.field) { in print_ipv6_arg()
4826 __func__, arg->field.name); in print_ipv6_arg()
4831 buf = data + arg->field.field->offset; in print_ipv6_arg()
4833 if (arg->field.field->size != 16) { in print_ipv6_arg()
4884 if (!arg->field.field) { in print_ipsa_arg()
4885 arg->field.field = in print_ipsa_arg()
4886 tep_find_any_field(event, arg->field.name); in print_ipsa_arg()
4887 if (!arg->field.field) { in print_ipsa_arg()
4889 __func__, arg->field.name); in print_ipsa_arg()
4894 sa = (struct sockaddr_storage *) (data + arg->field.field->offset); in print_ipsa_arg()
4899 if (arg->field.field->size < sizeof(struct sockaddr_in)) { in print_ipsa_arg()
4912 if (arg->field.field->size < sizeof(struct sockaddr_in6)) { in print_ipsa_arg()
4999 if (!arg->field.field) { in print_uuid_arg()
5000 arg->field.field = in print_uuid_arg()
5001 tep_find_any_field(event, arg->field.name); in print_uuid_arg()
5002 if (!arg->field.field) { in print_uuid_arg()
5004 __func__, arg->field.name); in print_uuid_arg()
5009 if (arg->field.field->size != 16) { in print_uuid_arg()
5014 buf = data + arg->field.field->offset; in print_uuid_arg()
5069 data + arg->dynarray.field->offset, in print_raw_buff_arg()
5070 arg->dynarray.field->size); in print_raw_buff_arg()
5098 struct tep_format_field *field) in tep_print_field() argument
5102 struct tep_handle *tep = field->event->tep; in tep_print_field()
5104 if (field->flags & TEP_FIELD_IS_ARRAY) { in tep_print_field()
5105 offset = field->offset; in tep_print_field()
5106 len = field->size; in tep_print_field()
5107 if (field->flags & TEP_FIELD_IS_DYNAMIC) { in tep_print_field()
5113 if (field->flags & TEP_FIELD_IS_STRING && in tep_print_field()
5125 field->flags &= ~TEP_FIELD_IS_STRING; in tep_print_field()
5128 val = tep_read_number(tep, data + field->offset, in tep_print_field()
5129 field->size); in tep_print_field()
5130 if (field->flags & TEP_FIELD_IS_POINTER) { in tep_print_field()
5132 } else if (field->flags & TEP_FIELD_IS_SIGNED) { in tep_print_field()
5133 switch (field->size) { in tep_print_field()
5139 if (field->flags & TEP_FIELD_IS_LONG) in tep_print_field()
5154 if (field->flags & TEP_FIELD_IS_LONG) in tep_print_field()
5165 struct tep_format_field *field; in tep_print_fields() local
5167 field = event->format.fields; in tep_print_fields()
5168 while (field) { in tep_print_fields()
5169 trace_seq_printf(s, " %s=", field->name); in tep_print_fields()
5170 tep_print_field(s, data, field); in tep_print_fields()
5171 field = field->next; in tep_print_fields()
6391 struct tep_format_field *field; in get_event_fields() local
6398 for (field = list; field; field = field->next) { in get_event_fields()
6399 fields[i++] = field; in get_event_fields()
6445 static void print_fields(struct trace_seq *s, struct tep_print_flag_sym *field) in print_fields() argument
6447 trace_seq_printf(s, "{ %s, %s }", field->value, field->str); in print_fields()
6448 if (field->next) { in print_fields()
6450 print_fields(s, field->next); in print_fields()
6468 printf("REC->%s", args->field.name); in print_args()
6472 print_args(args->flags.field); in print_args()
6482 print_args(args->symbol.field); in print_args()
6492 print_args(args->hex.field); in print_args()
6499 print_args(args->hex.field); in print_args()
6506 print_args(args->int_array.field); in print_args()
6545 static void parse_header_field(const char *field, in parse_header_field() argument
6570 if (read_expected(TEP_EVENT_ITEM, field) < 0) in parse_header_field()
6575 if (strcmp(token, field) != 0) in parse_header_field()
6812 struct tep_format_field *field; in parse_format() local
6817 for (field = event->format.fields; field; field = field->next) { in parse_format()
6824 arg->field.name = strdup(field->name); in parse_format()
6825 if (!arg->field.name) { in parse_format()
6830 arg->field.field = field; in parse_format()
6927 int get_field_val(struct trace_seq *s, struct tep_format_field *field, in get_field_val() argument
6931 if (!field) { in get_field_val()
6937 if (tep_read_number_field(field, record->data, val)) { in get_field_val()
6964 struct tep_format_field *field; in tep_get_field_raw() local
6972 field = tep_find_field(event, name); in tep_get_field_raw()
6974 if (!field) { in tep_get_field_raw()
6984 offset = field->offset; in tep_get_field_raw()
6985 if (field->flags & TEP_FIELD_IS_DYNAMIC) { in tep_get_field_raw()
6987 data + offset, field->size); in tep_get_field_raw()
6991 *len = field->size; in tep_get_field_raw()
7011 struct tep_format_field *field; in tep_get_field_val() local
7016 field = tep_find_field(event, name); in tep_get_field_val()
7018 return get_field_val(s, field, name, record, val, err); in tep_get_field_val()
7036 struct tep_format_field *field; in tep_get_common_field_val() local
7041 field = tep_find_common_field(event, name); in tep_get_common_field_val()
7043 return get_field_val(s, field, name, record, val, err); in tep_get_common_field_val()
7061 struct tep_format_field *field; in tep_get_any_field_val() local
7066 field = tep_find_any_field(event, name); in tep_get_any_field_val()
7068 return get_field_val(s, field, name, record, val, err); in tep_get_any_field_val()
7087 struct tep_format_field *field = tep_find_field(event, name); in tep_print_num_field() local
7090 if (!field) in tep_print_num_field()
7093 if (tep_read_number_field(field, record->data, &val)) in tep_print_num_field()
7120 struct tep_format_field *field = tep_find_field(event, name); in tep_print_func_field() local
7126 if (!field) in tep_print_func_field()
7129 if (tep_read_number_field(field, record->data, &val)) in tep_print_func_field()
7472 __hidden void free_tep_format_field(struct tep_format_field *field) in free_tep_format_field() argument
7474 free(field->type); in free_tep_format_field()
7475 if (field->alias != field->name) in free_tep_format_field()
7476 free(field->alias); in free_tep_format_field()
7477 free(field->name); in free_tep_format_field()
7478 free(field); in free_tep_format_field()
7481 static void free_format_fields(struct tep_format_field *field) in free_format_fields() argument
7485 while (field) { in free_format_fields()
7486 next = field->next; in free_format_fields()
7487 free_tep_format_field(field); in free_format_fields()
7488 field = next; in free_format_fields()