1 /*
2  * 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  */
19 
20 #ifndef _THRIFT_ENUM_H_
21 #define _THRIFT_ENUM_H_
22 
23 namespace apache {
24 namespace thrift {
25 namespace protocol {
26 
27 /**
28  * Enumerated definition of the types that the Thrift protocol supports.
29  * Take special note of the T_END type which is used specifically to mark
30  * the end of a sequence of fields.
31  */
32 enum TType {
33   T_STOP       = 0,
34   T_VOID       = 1,
35   T_BOOL       = 2,
36   T_BYTE       = 3,
37   T_I08        = 3,
38   T_I16        = 6,
39   T_I32        = 8,
40   T_U64        = 9,
41   T_I64        = 10,
42   T_DOUBLE     = 4,
43   T_STRING     = 11,
44   T_UTF7       = 11,
45   T_STRUCT     = 12,
46   T_MAP        = 13,
47   T_SET        = 14,
48   T_LIST       = 15,
49   T_UTF8       = 16,
50   T_UTF16      = 17
51 };
52 
53 /**
54  * Enumerated definition of the message types that the Thrift protocol
55  * supports.
56  */
57 enum TMessageType {
58   T_CALL       = 1,
59   T_REPLY      = 2,
60   T_EXCEPTION  = 3,
61   T_ONEWAY     = 4
62 };
63 
64 }}} // apache::thrift::protocol
65 
66 #endif // #define _THRIFT_ENUM_H_
67