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_PROTOCOL_INCLUDED). 21-define(THRIFT_PROTOCOL_INCLUDED, true). 22 23-record(protocol_message_begin, {name :: string(), type :: integer(), seqid :: integer()}). 24-record(protocol_struct_begin, {name :: string()}). 25-record(protocol_field_begin, {name :: string(), type :: integer(), id :: integer()}). 26-record(protocol_map_begin, {ktype :: integer(), vtype :: integer(), size :: integer()}). 27-record(protocol_list_begin, {etype :: integer(), size :: integer()}). 28-record(protocol_set_begin, {etype :: integer(), size :: integer()}). 29 30-type tprot_header_val() :: #protocol_message_begin{} 31 | #protocol_struct_begin{} 32 | #protocol_field_begin{} 33 | #protocol_map_begin{} 34 | #protocol_list_begin{} 35 | #protocol_set_begin{} 36 . 37-type tprot_empty_tag() :: message_end 38 | struct_begin 39 | struct_end 40 | field_end 41 | map_end 42 | list_end 43 | set_end 44 . 45-type tprot_header_tag() :: message_begin 46 | field_begin 47 | map_begin 48 | list_begin 49 | set_begin 50 . 51-type tprot_data_tag() :: ui32 52 | bool 53 | byte 54 | i16 55 | i32 56 | i64 57 | double 58 | string 59 . 60-type tprot_cont_tag() :: {list, _Type} 61 | {map, _KType, _VType} 62 | {set, _Type} 63 . 64 65 66-endif. 67