aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Protos/nanopb
diff options
context:
space:
mode:
authorGravatar Michael Lehenbauer <mikelehen@gmail.com>2018-04-12 09:08:18 -0700
committerGravatar GitHub <noreply@github.com>2018-04-12 09:08:18 -0700
commit6f2ef7d3899f05dae7eb03847d8dddf9b04a7738 (patch)
tree690f179be9097ed3df9bfeb5ddb59ebcc1ab6299 /Firestore/Protos/nanopb
parent74411e5739237e70fd62c8364626c17ec37ed595 (diff)
Update protos. (#1075)
Diffstat (limited to 'Firestore/Protos/nanopb')
-rw-r--r--Firestore/Protos/nanopb/google/api/http.pb.c5
-rw-r--r--Firestore/Protos/nanopb/google/api/http.pb.h10
-rw-r--r--Firestore/Protos/nanopb/google/firestore/v1beta1/query.pb.h9
-rw-r--r--Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.c15
-rw-r--r--Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.h16
5 files changed, 31 insertions, 24 deletions
diff --git a/Firestore/Protos/nanopb/google/api/http.pb.c b/Firestore/Protos/nanopb/google/api/http.pb.c
index 5219163..7a2cd21 100644
--- a/Firestore/Protos/nanopb/google/api/http.pb.c
+++ b/Firestore/Protos/nanopb/google/api/http.pb.c
@@ -15,7 +15,7 @@
*/
/* Automatically generated nanopb constant definitions */
-/* Generated by nanopb-0.3.8 at Fri Feb 2 17:48:02 2018. */
+/* Generated by nanopb-0.3.8 at Thu Apr 12 07:27:15 2018. */
#include "http.pb.h"
@@ -26,8 +26,9 @@
-const pb_field_t google_api_Http_fields[2] = {
+const pb_field_t google_api_Http_fields[3] = {
PB_FIELD( 1, MESSAGE , REPEATED, CALLBACK, FIRST, google_api_Http, rules, rules, &google_api_HttpRule_fields),
+ PB_FIELD( 2, BOOL , SINGULAR, STATIC , OTHER, google_api_Http, fully_decode_reserved_expansion, rules, 0),
PB_LAST_FIELD
};
diff --git a/Firestore/Protos/nanopb/google/api/http.pb.h b/Firestore/Protos/nanopb/google/api/http.pb.h
index e29758c..a7bbc46 100644
--- a/Firestore/Protos/nanopb/google/api/http.pb.h
+++ b/Firestore/Protos/nanopb/google/api/http.pb.h
@@ -15,7 +15,7 @@
*/
/* Automatically generated nanopb header */
-/* Generated by nanopb-0.3.8 at Fri Feb 2 17:48:02 2018. */
+/* Generated by nanopb-0.3.8 at Thu Apr 12 07:27:15 2018. */
#ifndef PB_GOOGLE_API_HTTP_PB_H_INCLUDED
#define PB_GOOGLE_API_HTTP_PB_H_INCLUDED
@@ -39,6 +39,7 @@ typedef struct _google_api_CustomHttpPattern {
typedef struct _google_api_Http {
pb_callback_t rules;
+ bool fully_decode_reserved_expansion;
/* @@protoc_insertion_point(struct:google_api_Http) */
} google_api_Http;
@@ -58,10 +59,10 @@ typedef struct _google_api_HttpRule {
/* Default values for struct fields */
/* Initializer values for message structs */
-#define google_api_Http_init_default {{{NULL}, NULL}}
+#define google_api_Http_init_default {{{NULL}, NULL}, 0}
#define google_api_HttpRule_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, google_api_CustomHttpPattern_init_default, {{NULL}, NULL}}
#define google_api_CustomHttpPattern_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
-#define google_api_Http_init_zero {{{NULL}, NULL}}
+#define google_api_Http_init_zero {{{NULL}, NULL}, 0}
#define google_api_HttpRule_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, google_api_CustomHttpPattern_init_zero, {{NULL}, NULL}}
#define google_api_CustomHttpPattern_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
@@ -69,6 +70,7 @@ typedef struct _google_api_HttpRule {
#define google_api_CustomHttpPattern_kind_tag 1
#define google_api_CustomHttpPattern_path_tag 2
#define google_api_Http_rules_tag 1
+#define google_api_Http_fully_decode_reserved_expansion_tag 2
#define google_api_HttpRule_selector_tag 1
#define google_api_HttpRule_get_tag 2
#define google_api_HttpRule_put_tag 3
@@ -80,7 +82,7 @@ typedef struct _google_api_HttpRule {
#define google_api_HttpRule_additional_bindings_tag 11
/* Struct field encoding specification for nanopb */
-extern const pb_field_t google_api_Http_fields[2];
+extern const pb_field_t google_api_Http_fields[3];
extern const pb_field_t google_api_HttpRule_fields[10];
extern const pb_field_t google_api_CustomHttpPattern_fields[3];
diff --git a/Firestore/Protos/nanopb/google/firestore/v1beta1/query.pb.h b/Firestore/Protos/nanopb/google/firestore/v1beta1/query.pb.h
index faad2a2..75b8168 100644
--- a/Firestore/Protos/nanopb/google/firestore/v1beta1/query.pb.h
+++ b/Firestore/Protos/nanopb/google/firestore/v1beta1/query.pb.h
@@ -15,7 +15,7 @@
*/
/* Automatically generated nanopb header */
-/* Generated by nanopb-0.3.8 at Fri Feb 2 17:48:02 2018. */
+/* Generated by nanopb-0.3.8 at Thu Apr 12 07:27:15 2018. */
#ifndef PB_GOOGLE_FIRESTORE_V1BETA1_QUERY_PB_H_INCLUDED
#define PB_GOOGLE_FIRESTORE_V1BETA1_QUERY_PB_H_INCLUDED
@@ -60,11 +60,12 @@ typedef enum _google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator {
google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_LESS_THAN_OR_EQUAL = 2,
google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_GREATER_THAN = 3,
google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_GREATER_THAN_OR_EQUAL = 4,
- google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_EQUAL = 5
+ google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_EQUAL = 5,
+ google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_ARRAY_CONTAINS = 7
} google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator;
#define _google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_MIN google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_OPERATOR_UNSPECIFIED
-#define _google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_MAX google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_EQUAL
-#define _google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_ARRAYSIZE ((google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator)(google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_EQUAL+1))
+#define _google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_MAX google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_ARRAY_CONTAINS
+#define _google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_ARRAYSIZE ((google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator)(google_firestore_v1beta1_StructuredQuery_FieldFilter_Operator_ARRAY_CONTAINS+1))
typedef enum _google_firestore_v1beta1_StructuredQuery_UnaryFilter_Operator {
google_firestore_v1beta1_StructuredQuery_UnaryFilter_Operator_OPERATOR_UNSPECIFIED = 0,
diff --git a/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.c b/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.c
index 462eca6..26542e0 100644
--- a/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.c
+++ b/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.c
@@ -15,7 +15,7 @@
*/
/* Automatically generated nanopb constant definitions */
-/* Generated by nanopb-0.3.8 at Fri Feb 2 17:48:02 2018. */
+/* Generated by nanopb-0.3.8 at Thu Apr 12 07:27:15 2018. */
#include "write.pb.h"
@@ -26,13 +26,12 @@
-const pb_field_t google_firestore_v1beta1_Write_fields[7] = {
+const pb_field_t google_firestore_v1beta1_Write_fields[6] = {
PB_FIELD( 1, MESSAGE , SINGULAR, STATIC , FIRST, google_firestore_v1beta1_Write, update, update, &google_firestore_v1beta1_Document_fields),
PB_FIELD( 2, STRING , SINGULAR, CALLBACK, OTHER, google_firestore_v1beta1_Write, delete_, update, 0),
PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1beta1_Write, update_mask, delete_, &google_firestore_v1beta1_DocumentMask_fields),
PB_FIELD( 4, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1beta1_Write, current_document, update_mask, &google_firestore_v1beta1_Precondition_fields),
- PB_FIELD( 5, STRING , SINGULAR, CALLBACK, OTHER, google_firestore_v1beta1_Write, verify, current_document, 0),
- PB_FIELD( 6, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1beta1_Write, transform, verify, &google_firestore_v1beta1_DocumentTransform_fields),
+ PB_FIELD( 6, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1beta1_Write, transform, current_document, &google_firestore_v1beta1_DocumentTransform_fields),
PB_LAST_FIELD
};
@@ -42,9 +41,11 @@ const pb_field_t google_firestore_v1beta1_DocumentTransform_fields[3] = {
PB_LAST_FIELD
};
-const pb_field_t google_firestore_v1beta1_DocumentTransform_FieldTransform_fields[3] = {
+const pb_field_t google_firestore_v1beta1_DocumentTransform_FieldTransform_fields[5] = {
PB_FIELD( 1, STRING , SINGULAR, CALLBACK, FIRST, google_firestore_v1beta1_DocumentTransform_FieldTransform, field_path, field_path, 0),
PB_ONEOF_FIELD(transform_type, 2, ENUM , ONEOF, STATIC , OTHER, google_firestore_v1beta1_DocumentTransform_FieldTransform, set_to_server_value, field_path, 0),
+ PB_ONEOF_FIELD(transform_type, 6, MESSAGE , ONEOF, STATIC , UNION, google_firestore_v1beta1_DocumentTransform_FieldTransform, append_missing_elements, field_path, &google_firestore_v1beta1_ArrayValue_fields),
+ PB_ONEOF_FIELD(transform_type, 7, MESSAGE , ONEOF, STATIC , UNION, google_firestore_v1beta1_DocumentTransform_FieldTransform, remove_all_from_array, field_path, &google_firestore_v1beta1_ArrayValue_fields),
PB_LAST_FIELD
};
@@ -92,7 +93,7 @@ const pb_field_t google_firestore_v1beta1_ExistenceFilter_fields[3] = {
* numbers or field sizes that are larger than what can fit in 8 or 16 bit
* field descriptors.
*/
-PB_STATIC_ASSERT((pb_membersize(google_firestore_v1beta1_Write, update) < 65536 && pb_membersize(google_firestore_v1beta1_Write, transform) < 65536 && pb_membersize(google_firestore_v1beta1_Write, update_mask) < 65536 && pb_membersize(google_firestore_v1beta1_Write, current_document) < 65536 && pb_membersize(google_firestore_v1beta1_WriteResult, update_time) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentChange, document) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentDelete, read_time) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentRemove, read_time) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1beta1_Write_google_firestore_v1beta1_DocumentTransform_google_firestore_v1beta1_DocumentTransform_FieldTransform_google_firestore_v1beta1_WriteResult_google_firestore_v1beta1_DocumentChange_google_firestore_v1beta1_DocumentDelete_google_firestore_v1beta1_DocumentRemove_google_firestore_v1beta1_ExistenceFilter)
+PB_STATIC_ASSERT((pb_membersize(google_firestore_v1beta1_Write, update) < 65536 && pb_membersize(google_firestore_v1beta1_Write, transform) < 65536 && pb_membersize(google_firestore_v1beta1_Write, update_mask) < 65536 && pb_membersize(google_firestore_v1beta1_Write, current_document) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentTransform_FieldTransform, transform_type.append_missing_elements) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentTransform_FieldTransform, transform_type.remove_all_from_array) < 65536 && pb_membersize(google_firestore_v1beta1_WriteResult, update_time) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentChange, document) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentDelete, read_time) < 65536 && pb_membersize(google_firestore_v1beta1_DocumentRemove, read_time) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1beta1_Write_google_firestore_v1beta1_DocumentTransform_google_firestore_v1beta1_DocumentTransform_FieldTransform_google_firestore_v1beta1_WriteResult_google_firestore_v1beta1_DocumentChange_google_firestore_v1beta1_DocumentDelete_google_firestore_v1beta1_DocumentRemove_google_firestore_v1beta1_ExistenceFilter)
#endif
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
@@ -103,7 +104,7 @@ PB_STATIC_ASSERT((pb_membersize(google_firestore_v1beta1_Write, update) < 65536
* numbers or field sizes that are larger than what can fit in the default
* 8 bit descriptors.
*/
-PB_STATIC_ASSERT((pb_membersize(google_firestore_v1beta1_Write, update) < 256 && pb_membersize(google_firestore_v1beta1_Write, transform) < 256 && pb_membersize(google_firestore_v1beta1_Write, update_mask) < 256 && pb_membersize(google_firestore_v1beta1_Write, current_document) < 256 && pb_membersize(google_firestore_v1beta1_WriteResult, update_time) < 256 && pb_membersize(google_firestore_v1beta1_DocumentChange, document) < 256 && pb_membersize(google_firestore_v1beta1_DocumentDelete, read_time) < 256 && pb_membersize(google_firestore_v1beta1_DocumentRemove, read_time) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1beta1_Write_google_firestore_v1beta1_DocumentTransform_google_firestore_v1beta1_DocumentTransform_FieldTransform_google_firestore_v1beta1_WriteResult_google_firestore_v1beta1_DocumentChange_google_firestore_v1beta1_DocumentDelete_google_firestore_v1beta1_DocumentRemove_google_firestore_v1beta1_ExistenceFilter)
+PB_STATIC_ASSERT((pb_membersize(google_firestore_v1beta1_Write, update) < 256 && pb_membersize(google_firestore_v1beta1_Write, transform) < 256 && pb_membersize(google_firestore_v1beta1_Write, update_mask) < 256 && pb_membersize(google_firestore_v1beta1_Write, current_document) < 256 && pb_membersize(google_firestore_v1beta1_DocumentTransform_FieldTransform, transform_type.append_missing_elements) < 256 && pb_membersize(google_firestore_v1beta1_DocumentTransform_FieldTransform, transform_type.remove_all_from_array) < 256 && pb_membersize(google_firestore_v1beta1_WriteResult, update_time) < 256 && pb_membersize(google_firestore_v1beta1_DocumentChange, document) < 256 && pb_membersize(google_firestore_v1beta1_DocumentDelete, read_time) < 256 && pb_membersize(google_firestore_v1beta1_DocumentRemove, read_time) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1beta1_Write_google_firestore_v1beta1_DocumentTransform_google_firestore_v1beta1_DocumentTransform_FieldTransform_google_firestore_v1beta1_WriteResult_google_firestore_v1beta1_DocumentChange_google_firestore_v1beta1_DocumentDelete_google_firestore_v1beta1_DocumentRemove_google_firestore_v1beta1_ExistenceFilter)
#endif
diff --git a/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.h b/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.h
index a44b6d4..5a272b2 100644
--- a/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.h
+++ b/Firestore/Protos/nanopb/google/firestore/v1beta1/write.pb.h
@@ -15,7 +15,7 @@
*/
/* Automatically generated nanopb header */
-/* Generated by nanopb-0.3.8 at Fri Feb 2 17:48:02 2018. */
+/* Generated by nanopb-0.3.8 at Thu Apr 12 07:27:15 2018. */
#ifndef PB_GOOGLE_FIRESTORE_V1BETA1_WRITE_PB_H_INCLUDED
#define PB_GOOGLE_FIRESTORE_V1BETA1_WRITE_PB_H_INCLUDED
@@ -80,6 +80,8 @@ typedef struct _google_firestore_v1beta1_DocumentTransform_FieldTransform {
pb_size_t which_transform_type;
union {
google_firestore_v1beta1_DocumentTransform_FieldTransform_ServerValue set_to_server_value;
+ google_firestore_v1beta1_ArrayValue append_missing_elements;
+ google_firestore_v1beta1_ArrayValue remove_all_from_array;
} transform_type;
/* @@protoc_insertion_point(struct:google_firestore_v1beta1_DocumentTransform_FieldTransform) */
} google_firestore_v1beta1_DocumentTransform_FieldTransform;
@@ -95,7 +97,6 @@ typedef struct _google_firestore_v1beta1_Write {
pb_callback_t delete_;
google_firestore_v1beta1_DocumentMask update_mask;
google_firestore_v1beta1_Precondition current_document;
- pb_callback_t verify;
google_firestore_v1beta1_DocumentTransform transform;
/* @@protoc_insertion_point(struct:google_firestore_v1beta1_Write) */
} google_firestore_v1beta1_Write;
@@ -109,7 +110,7 @@ typedef struct _google_firestore_v1beta1_WriteResult {
/* Default values for struct fields */
/* Initializer values for message structs */
-#define google_firestore_v1beta1_Write_init_default {google_firestore_v1beta1_Document_init_default, {{NULL}, NULL}, google_firestore_v1beta1_DocumentMask_init_default, google_firestore_v1beta1_Precondition_init_default, {{NULL}, NULL}, google_firestore_v1beta1_DocumentTransform_init_default}
+#define google_firestore_v1beta1_Write_init_default {google_firestore_v1beta1_Document_init_default, {{NULL}, NULL}, google_firestore_v1beta1_DocumentMask_init_default, google_firestore_v1beta1_Precondition_init_default, google_firestore_v1beta1_DocumentTransform_init_default}
#define google_firestore_v1beta1_DocumentTransform_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
#define google_firestore_v1beta1_DocumentTransform_FieldTransform_init_default {{{NULL}, NULL}, 0, {(google_firestore_v1beta1_DocumentTransform_FieldTransform_ServerValue)0}}
#define google_firestore_v1beta1_WriteResult_init_default {google_protobuf_Timestamp_init_default, {{NULL}, NULL}}
@@ -117,7 +118,7 @@ typedef struct _google_firestore_v1beta1_WriteResult {
#define google_firestore_v1beta1_DocumentDelete_init_default {{{NULL}, NULL}, google_protobuf_Timestamp_init_default, {{NULL}, NULL}}
#define google_firestore_v1beta1_DocumentRemove_init_default {{{NULL}, NULL}, {{NULL}, NULL}, google_protobuf_Timestamp_init_default}
#define google_firestore_v1beta1_ExistenceFilter_init_default {0, 0}
-#define google_firestore_v1beta1_Write_init_zero {google_firestore_v1beta1_Document_init_zero, {{NULL}, NULL}, google_firestore_v1beta1_DocumentMask_init_zero, google_firestore_v1beta1_Precondition_init_zero, {{NULL}, NULL}, google_firestore_v1beta1_DocumentTransform_init_zero}
+#define google_firestore_v1beta1_Write_init_zero {google_firestore_v1beta1_Document_init_zero, {{NULL}, NULL}, google_firestore_v1beta1_DocumentMask_init_zero, google_firestore_v1beta1_Precondition_init_zero, google_firestore_v1beta1_DocumentTransform_init_zero}
#define google_firestore_v1beta1_DocumentTransform_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
#define google_firestore_v1beta1_DocumentTransform_FieldTransform_init_zero {{{NULL}, NULL}, 0, {(google_firestore_v1beta1_DocumentTransform_FieldTransform_ServerValue)0}}
#define google_firestore_v1beta1_WriteResult_init_zero {google_protobuf_Timestamp_init_zero, {{NULL}, NULL}}
@@ -139,12 +140,13 @@ typedef struct _google_firestore_v1beta1_WriteResult {
#define google_firestore_v1beta1_DocumentRemove_removed_target_ids_tag 2
#define google_firestore_v1beta1_DocumentRemove_read_time_tag 4
#define google_firestore_v1beta1_DocumentTransform_FieldTransform_set_to_server_value_tag 2
+#define google_firestore_v1beta1_DocumentTransform_FieldTransform_append_missing_elements_tag 6
+#define google_firestore_v1beta1_DocumentTransform_FieldTransform_remove_all_from_array_tag 7
#define google_firestore_v1beta1_DocumentTransform_FieldTransform_field_path_tag 1
#define google_firestore_v1beta1_ExistenceFilter_target_id_tag 1
#define google_firestore_v1beta1_ExistenceFilter_count_tag 2
#define google_firestore_v1beta1_Write_update_tag 1
#define google_firestore_v1beta1_Write_delete_tag 2
-#define google_firestore_v1beta1_Write_verify_tag 5
#define google_firestore_v1beta1_Write_transform_tag 6
#define google_firestore_v1beta1_Write_update_mask_tag 3
#define google_firestore_v1beta1_Write_current_document_tag 4
@@ -152,9 +154,9 @@ typedef struct _google_firestore_v1beta1_WriteResult {
#define google_firestore_v1beta1_WriteResult_transform_results_tag 2
/* Struct field encoding specification for nanopb */
-extern const pb_field_t google_firestore_v1beta1_Write_fields[7];
+extern const pb_field_t google_firestore_v1beta1_Write_fields[6];
extern const pb_field_t google_firestore_v1beta1_DocumentTransform_fields[3];
-extern const pb_field_t google_firestore_v1beta1_DocumentTransform_FieldTransform_fields[3];
+extern const pb_field_t google_firestore_v1beta1_DocumentTransform_FieldTransform_fields[5];
extern const pb_field_t google_firestore_v1beta1_WriteResult_fields[3];
extern const pb_field_t google_firestore_v1beta1_DocumentChange_fields[4];
extern const pb_field_t google_firestore_v1beta1_DocumentDelete_fields[4];