⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 megaco_per_bin_media_gateway_control_v1.erl

📁 OTP是开放电信平台的简称
💻 ERL
📖 第 1 页 / 共 5 页
字号:
   {lists:reverse(Acc), Bytes};'dec_Signal_sigParList_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_SigParameter'(Bytes,telltype),   'dec_Signal_sigParList_components'(Num-1, Remain, telltype, [Term|Acc]).'dec_Signal'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getext(Bytes),{Opt,Bytes2} = ?RT_PER:getoptionals2(Bytes1,5), %% attribute number 1 with type OCTET STRING{Term1,Bytes3} = ?RT_PER:decode_octet_string(Bytes2,[{'SizeConstraint',4}]),%% attribute number 2 with type INTEGER{Term2,Bytes4} = case Opt band (1 bsl 4) of_Opt1 when _Opt1 > 0 ->?RT_PER:decode_integer(Bytes3,[{'ValueRange',{0,65535}}]);0 ->{asn1_NOVALUE,Bytes3}end,%% attribute number 3 with type ENUMERATED{Term3,Bytes5} = case Opt band (1 bsl 3) of_Opt2 when _Opt2 > 0 ->?RT_PER:decode_enumerated(Bytes4,[{'ValueRange',{0,2}}],{{brief,onOff,timeOut},{}});0 ->{asn1_NOVALUE,Bytes4}end,%% attribute number 4 with type INTEGER{Term4,Bytes6} = case Opt band (1 bsl 2) of_Opt3 when _Opt3 > 0 ->?RT_PER:decode_integer(Bytes5,[{'ValueRange',{0,65535}}]);0 ->{asn1_NOVALUE,Bytes5}end,%% attribute number 5 with type BIT STRING{Term5,Bytes7} = case Opt band (1 bsl 1) of_Opt4 when _Opt4 > 0 ->?RT_PER:decode_bit_string(Bytes6,[],[{onTimeOut,0},{onInterruptByEvent,1},{onInterruptByNewSignalDescr,2},{otherReason,3}]);0 ->{asn1_NOVALUE,Bytes6}end,%% attribute number 6 with type BOOLEAN{Term6,Bytes8} = case Opt band (1 bsl 0) of_Opt5 when _Opt5 > 0 ->?RT_PER:decode_boolean(Bytes7);0 ->{asn1_NOVALUE,Bytes7}end,%% attribute number 7 with type SEQUENCE OF{Term7,Bytes9} = 'dec_Signal_sigParList'(Bytes8, telltype),{Extensions,Bytes10} = ?RT_PER:getextension(Ext,Bytes9),Bytes11= ?RT_PER:skipextensions(Bytes10,1,Extensions),{{'Signal',Term1,Term2,Term3,Term4,Term5,Term6,Term7},Bytes11}.'enc_SeqSigList'(Val) ->Val1 = ?RT_PER:list_to_record('SeqSigList', Val),[%% attribute number 1 with type INTEGER?RT_PER:encode_integer([{'ValueRange',{0,65535}}],?RT_PER:cindex(2,Val1,id)),%% attribute number 2 with type SEQUENCE OF'enc_SeqSigList_signalList'(?RT_PER:cindex(3,Val1,signalList))].'enc_SeqSigList_signalList'({'SeqSigList_signalList',Val}) ->'enc_SeqSigList_signalList'(Val);'enc_SeqSigList_signalList'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_SeqSigList_signalList_components'(Val, [])].'enc_SeqSigList_signalList_components'([], Acc) -> lists:reverse(Acc);'enc_SeqSigList_signalList_components'([H|T], Acc) ->'enc_SeqSigList_signalList_components'(T, ['enc_Signal'(H) | Acc]).'dec_SeqSigList_signalList'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_SeqSigList_signalList_components'(Num, Bytes1, telltype, []).'dec_SeqSigList_signalList_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_SeqSigList_signalList_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_Signal'(Bytes,telltype),   'dec_SeqSigList_signalList_components'(Num-1, Remain, telltype, [Term|Acc]).'dec_SeqSigList'(Bytes,_) ->%% attribute number 1 with type INTEGER{Term1,Bytes1} = ?RT_PER:decode_integer(Bytes,[{'ValueRange',{0,65535}}]),%% attribute number 2 with type SEQUENCE OF{Term2,Bytes2} = 'dec_SeqSigList_signalList'(Bytes1, telltype),{{'SeqSigList',Term1,Term2},Bytes2}.'enc_SignalRequest'({'SignalRequest',Val}) ->'enc_SignalRequest'(Val);'enc_SignalRequest'(Val) ->[?RT_PER:set_choice(element(1,Val),{[signal,seqSigList],[]}, {2,0}),case element(1,Val) ofsignal ->'enc_Signal'(element(2,Val));seqSigList ->'enc_SeqSigList'(element(2,Val))end].'dec_SignalRequest'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getbit(Bytes),{Choice,Bytes2} = ?RT_PER:getchoice(Bytes1,2,Ext ),{Cname,{Val,NewBytes}} = case Choice + Ext*2 of0 -> {signal,'dec_Signal'(Bytes2,telltype)};1 -> {seqSigList,'dec_SeqSigList'(Bytes2,telltype)};_ -> {asn1_ExtAlt, ?RT_PER:decode_open_type(Bytes2,[])}end,{{Cname,Val},NewBytes}.'enc_SignalsDescriptor'({'SignalsDescriptor',Val}) ->'enc_SignalsDescriptor'(Val);'enc_SignalsDescriptor'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_SignalsDescriptor_components'(Val, [])].'enc_SignalsDescriptor_components'([], Acc) -> lists:reverse(Acc);'enc_SignalsDescriptor_components'([H|T], Acc) ->'enc_SignalsDescriptor_components'(T, ['enc_SignalRequest'(H) | Acc]).'dec_SignalsDescriptor'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_SignalsDescriptor_components'(Num, Bytes1, telltype, []).'dec_SignalsDescriptor_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_SignalsDescriptor_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_SignalRequest'(Bytes,telltype),   'dec_SignalsDescriptor_components'(Num-1, Remain, telltype, [Term|Acc]).'enc_EventSpec'(Val) ->{Val1,Opt} = ?RT_PER:fixoptionals([3],1,Val),[?RT_PER:setext(false), Opt,%% attribute number 1 with type OCTET STRING?RT_PER:encode_octet_string([{'SizeConstraint',4}],?RT_PER:cindex(2,Val1,eventName)),case ?RT_PER:cindex(3,Val1,streamID) ofasn1_NOVALUE -> [];Tmpval1 ->%% attribute number 2 with type INTEGER?RT_PER:encode_integer([{'ValueRange',{0,65535}}],Tmpval1)end,%% attribute number 3 with type SEQUENCE OF'enc_EventSpec_eventParList'(?RT_PER:cindex(4,Val1,eventParList))].'enc_EventSpec_eventParList'({'EventSpec_eventParList',Val}) ->'enc_EventSpec_eventParList'(Val);'enc_EventSpec_eventParList'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_EventSpec_eventParList_components'(Val, [])].'enc_EventSpec_eventParList_components'([], Acc) -> lists:reverse(Acc);'enc_EventSpec_eventParList_components'([H|T], Acc) ->'enc_EventSpec_eventParList_components'(T, ['enc_EventParameter'(H) | Acc]).'dec_EventSpec_eventParList'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_EventSpec_eventParList_components'(Num, Bytes1, telltype, []).'dec_EventSpec_eventParList_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_EventSpec_eventParList_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_EventParameter'(Bytes,telltype),   'dec_EventSpec_eventParList_components'(Num-1, Remain, telltype, [Term|Acc]).'dec_EventSpec'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getext(Bytes),{Opt,Bytes2} = ?RT_PER:getoptionals2(Bytes1,1), %% attribute number 1 with type OCTET STRING{Term1,Bytes3} = ?RT_PER:decode_octet_string(Bytes2,[{'SizeConstraint',4}]),%% attribute number 2 with type INTEGER{Term2,Bytes4} = case Opt band (1 bsl 0) of_Opt1 when _Opt1 > 0 ->?RT_PER:decode_integer(Bytes3,[{'ValueRange',{0,65535}}]);0 ->{asn1_NOVALUE,Bytes3}end,%% attribute number 3 with type SEQUENCE OF{Term3,Bytes5} = 'dec_EventSpec_eventParList'(Bytes4, telltype),{Extensions,Bytes6} = ?RT_PER:getextension(Ext,Bytes5),Bytes7= ?RT_PER:skipextensions(Bytes6,1,Extensions),{{'EventSpec',Term1,Term2,Term3},Bytes7}.'enc_EventBufferDescriptor'({'EventBufferDescriptor',Val}) ->'enc_EventBufferDescriptor'(Val);'enc_EventBufferDescriptor'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_EventBufferDescriptor_components'(Val, [])].'enc_EventBufferDescriptor_components'([], Acc) -> lists:reverse(Acc);'enc_EventBufferDescriptor_components'([H|T], Acc) ->'enc_EventBufferDescriptor_components'(T, ['enc_EventSpec'(H) | Acc]).'dec_EventBufferDescriptor'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_EventBufferDescriptor_components'(Num, Bytes1, telltype, []).'dec_EventBufferDescriptor_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_EventBufferDescriptor_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_EventSpec'(Bytes,telltype),   'dec_EventBufferDescriptor_components'(Num-1, Remain, telltype, [Term|Acc]).'enc_SecondRequestedActions'(Val) ->{Val1,Opt} = ?RT_PER:fixoptionals([2,3,4],3,Val),[?RT_PER:setext(false), Opt,case ?RT_PER:cindex(2,Val1,keepActive) ofasn1_NOVALUE -> [];Tmpval1 ->%% attribute number 1 with type BOOLEAN?RT_PER:encode_boolean(Tmpval1)end,case ?RT_PER:cindex(3,Val1,eventDM) ofasn1_NOVALUE -> [];Tmpval2 ->%% attribute number 2 with type Externaltypereference756megaco_per_bin_media_gateway_control_v1EventDM'enc_EventDM'(Tmpval2)end,case ?RT_PER:cindex(4,Val1,signalsDescriptor) ofasn1_NOVALUE -> [];Tmpval3 ->%% attribute number 3 with type Externaltypereference757megaco_per_bin_media_gateway_control_v1SignalsDescriptor'enc_SignalsDescriptor'(Tmpval3)end].'dec_SecondRequestedActions'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getext(Bytes),{Opt,Bytes2} = ?RT_PER:getoptionals2(Bytes1,3), %% attribute number 1 with type BOOLEAN{Term1,Bytes3} = case Opt band (1 bsl 2) of_Opt1 when _Opt1 > 0 ->?RT_PER:decode_boolean(Bytes2);0 ->{asn1_NOVALUE,Bytes2}end,%%  attribute number 2 with type EventDM{Term2,Bytes4} = case Opt band (1 bsl 1) of_Opt2 when _Opt2 > 0 ->'dec_EventDM'(Bytes3,telltype);0 ->{asn1_NOVALUE,Bytes3}end,%%  attribute number 3 with type SignalsDescriptor{Term3,Bytes5} = case Opt band (1 bsl 0) of_Opt3 when _Opt3 > 0 ->'dec_SignalsDescriptor'(Bytes4,telltype);0 ->{asn1_NOVALUE,Bytes4}end,{Extensions,Bytes6} = ?RT_PER:getextension(Ext,Bytes5),Bytes7= ?RT_PER:skipextensions(Bytes6,1,Extensions),{{'SecondRequestedActions',Term1,Term2,Term3},Bytes7}.'enc_SecondRequestedEvent'(Val) ->{Val1,Opt} = ?RT_PER:fixoptionals([3,4],2,Val),[?RT_PER:setext(false), Opt,%% attribute number 1 with type OCTET STRING?RT_PER:encode_octet_string([{'SizeConstraint',4}],?RT_PER:cindex(2,Val1,pkgdName)),case ?RT_PER:cindex(3,Val1,streamID) ofasn1_NOVALUE -> [];Tmpval1 ->%% attribute number 2 with type INTEGER?RT_PER:encode_integer([{'ValueRange',{0,65535}}],Tmpval1)end,case ?RT_PER:cindex(4,Val1,eventAction) ofasn1_NOVALUE -> [];Tmpval2 ->%% attribute number 3 with type Externaltypereference748megaco_per_bin_media_gateway_control_v1SecondRequestedActions'enc_SecondRequestedActions'(Tmpval2)end,%% attribute number 4 with type SEQUENCE OF'enc_SecondRequestedEvent_evParList'(?RT_PER:cindex(5,Val1,evParList))].'enc_SecondRequestedEvent_evParList'({'SecondRequestedEvent_evParList',Val}) ->'enc_SecondRequestedEvent_evParList'(Val);'enc_SecondRequestedEvent_evParList'(Val) ->[   ?RT_PER:encode_length(undefined,length(Val)),   'enc_SecondRequestedEvent_evParList_components'(Val, [])].'enc_SecondRequestedEvent_evParList_components'([], Acc) -> lists:reverse(Acc);'enc_SecondRequestedEvent_evParList_components'([H|T], Acc) ->'enc_SecondRequestedEvent_evParList_components'(T, ['enc_EventParameter'(H) | Acc]).'dec_SecondRequestedEvent_evParList'(Bytes,_) ->{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),'dec_SecondRequestedEvent_evParList_components'(Num, Bytes1, telltype, []).'dec_SecondRequestedEvent_evParList_components'(0, Bytes, _, Acc) ->   {lists:reverse(Acc), Bytes};'dec_SecondRequestedEvent_evParList_components'(Num, Bytes, _, Acc) ->   {Term,Remain} = 'dec_EventParameter'(Bytes,telltype),   'dec_SecondRequestedEvent_evParList_components'(Num-1, Remain, telltype, [Term|Acc]).'dec_SecondRequestedEvent'(Bytes,_) ->{Ext,Bytes1} = ?RT_PER:getext(Bytes),{Opt,Bytes2} = ?RT_PER:getoptionals2(Bytes1,2), %% attribute number 1 with type OCTET STRING{Term1,Bytes3} = ?RT_PER:decode_octet_string(Bytes2,[{'SizeConstraint',4}]),%% attribute number 2 w

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -