blob: 01a0d8d2dbd3d5b6bff2964b199b3459853aa119 [file] [log] [blame]
David Reissea2cba82009-03-30 21:35:00 +00001/*
Kevin Clark916f3532009-03-20 04:21:39 +00002 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
Bryan Duxburyc0166282009-02-02 00:48:17 +000019
20extern int TTYPE_STOP;
21extern int TTYPE_BOOL;
22extern int TTYPE_BYTE;
23extern int TTYPE_I16;
24extern int TTYPE_I32;
25extern int TTYPE_I64;
26extern int TTYPE_DOUBLE;
27extern int TTYPE_STRING;
28extern int TTYPE_MAP;
29extern int TTYPE_SET;
30extern int TTYPE_LIST;
31extern int TTYPE_STRUCT;
Dmytro Shteflyuke9ac8e32025-11-19 23:33:23 -050032extern int TTYPE_UUID;
Bryan Duxburyc0166282009-02-02 00:48:17 +000033
34extern ID validate_method_id;
35extern ID write_struct_begin_method_id;
36extern ID write_struct_end_method_id;
37extern ID write_field_begin_method_id;
38extern ID write_field_end_method_id;
39extern ID write_boolean_method_id;
40extern ID write_byte_method_id;
41extern ID write_i16_method_id;
42extern ID write_i32_method_id;
43extern ID write_i64_method_id;
44extern ID write_double_method_id;
45extern ID write_string_method_id;
henrique8a2bab32014-07-16 20:10:57 +020046extern ID write_binary_method_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000047extern ID write_map_begin_method_id;
48extern ID write_map_end_method_id;
49extern ID write_list_begin_method_id;
50extern ID write_list_end_method_id;
51extern ID write_set_begin_method_id;
52extern ID write_set_end_method_id;
Dmytro Shteflyuke9ac8e32025-11-19 23:33:23 -050053extern ID write_uuid_method_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000054extern ID read_bool_method_id;
55extern ID read_byte_method_id;
56extern ID read_i16_method_id;
57extern ID read_i32_method_id;
58extern ID read_i64_method_id;
59extern ID read_string_method_id;
henrique8a2bab32014-07-16 20:10:57 +020060extern ID read_binary_method_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000061extern ID read_double_method_id;
62extern ID read_map_begin_method_id;
63extern ID read_map_end_method_id;
64extern ID read_list_begin_method_id;
65extern ID read_list_end_method_id;
66extern ID read_set_begin_method_id;
67extern ID read_set_end_method_id;
Dmytro Shteflyuke9ac8e32025-11-19 23:33:23 -050068extern ID read_uuid_method_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000069extern ID read_struct_begin_method_id;
70extern ID read_struct_end_method_id;
71extern ID read_field_begin_method_id;
72extern ID read_field_end_method_id;
73extern ID keys_method_id;
Roger Meier4f623262013-05-05 23:59:25 +020074extern ID entries_method_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000075extern ID write_field_stop_method_id;
76extern ID skip_method_id;
77extern ID write_method_id;
Bryan Duxbury5b8b4842009-04-01 20:10:15 +000078extern ID read_all_method_id;
Bryan Duxburyad0ad822011-06-28 18:46:03 +000079extern ID read_into_buffer_method_id;
Jake Farrellb5a18a12012-10-09 01:10:43 +000080extern ID force_binary_encoding_id;
81extern ID convert_to_utf8_byte_buffer_id;
82extern ID convert_to_string_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000083
84extern ID fields_const_id;
85extern ID transport_ivar_id;
Kevin Clarkead33822009-02-04 22:43:59 +000086extern ID strict_read_ivar_id;
87extern ID strict_write_ivar_id;
Bryan Duxburyc0166282009-02-02 00:48:17 +000088
89extern VALUE type_sym;
90extern VALUE name_sym;
91extern VALUE key_sym;
92extern VALUE value_sym;
93extern VALUE element_sym;
94extern VALUE class_sym;
henrique8a2bab32014-07-16 20:10:57 +020095extern VALUE binary_sym;
Bryan Duxburyc0166282009-02-02 00:48:17 +000096
97extern VALUE rb_cSet;
98extern VALUE thrift_module;
99extern VALUE thrift_types_module;
Jake Farrellb5a18a12012-10-09 01:10:43 +0000100extern VALUE thrift_bytes_module;
Bryan Duxburyc0166282009-02-02 00:48:17 +0000101extern VALUE class_thrift_protocol;
Bryan Duxbury1e80d442009-02-03 18:16:54 +0000102extern VALUE protocol_exception_class;
Dmytro Shteflyuke9ac8e32025-11-19 23:33:23 -0500103
104// protocol errors
105extern int PROTOERR_UNKNOWN;
106extern int PROTOERR_INVALID_DATA;
107extern int PROTOERR_NEGATIVE_SIZE;
108extern int PROTOERR_SIZE_LIMIT;
109extern int PROTOERR_BAD_VERSION;
110extern int PROTOERR_NOT_IMPLEMENTED;
111extern int PROTOERR_DEPTH_LIMIT;