%% Generated by the Erlang ASN.1 BER compiler. Version: 5.1 %% Purpose: Encoding and decoding of the types in IPMSObjectIdentifiers. -module('IPMSObjectIdentifiers'). -compile(nowarn_unused_vars). -dialyzer(no_improper_lists). -dialyzer(no_match). -include("IPMSObjectIdentifiers.hrl"). -asn1_info([{vsn,'5.1'}, {module,'IPMSObjectIdentifiers'}, {options,[warnings,ber,errors, {cwd,"/Users/maxim/depot/synrc/mail/priv/mhs"}, {outdir,"/Users/maxim/depot/synrc/mail/priv/mhs"}, {i,"."}, {i,"/Users/maxim/depot/synrc/mail/priv/mhs"}]}]). -export([encoding_rule/0,maps/0,bit_string_format/0, legacy_erlang_types/0]). -export(['dialyzer-suppressions'/1]). -export([ enc_ID/2 ]). -export([ dec_ID/2 ]). -export([ 'id-ipms'/0, 'id-mod'/0, 'id-ot'/0, 'id-pt'/0, 'id-et'/0, 'id-hex'/0, 'id-sat'/0, 'id-hat'/0, 'id-bat'/0, 'id-nat'/0, 'id-mct'/0, 'id-ep'/0, 'id-eit'/0, 'id-cat'/0, 'id-mr'/0, 'id-aa'/0, 'id-aae'/0, 'id-mst'/0, 'id-sec'/0, 'id-on'/0, 'id-rex'/0, 'id-mod-object-identifiers'/0, 'id-mod-functional-objects'/0, 'id-mod-information-objects'/0, 'id-mod-abstract-service'/0, 'id-mod-heading-extensions'/0, 'id-mod-extended-body-part-types'/0, 'id-mod-message-store-attributes'/0, 'id-mod-file-transfer-body-part-type'/0, 'id-mod-upper-bounds'/0, 'id-mod-extended-voice-body-part-type'/0, 'id-mod-forwarded-report-body-part-type'/0, 'id-mod-auto-actions'/0, 'id-mod-ipm-security-extensions'/0, 'id-mod-forwarded-content-body-part-type'/0, 'id-mod-pkcs7-body-part-type'/0, 'id-ot-ipms-user'/0, 'id-ot-ipms'/0, 'id-pt-origination'/0, 'id-pt-reception'/0, 'id-pt-management'/0, 'id-et-ia5-text'/0, 'id-et-g3-facsimile'/0, 'id-et-g4-class1'/0, 'id-et-teletex'/0, 'id-et-videotex'/0, 'id-et-encrypted'/0, 'id-et-message'/0, 'id-et-mixed-mode'/0, 'id-et-bilaterally-defined'/0, 'id-et-nationally-defined'/0, 'id-et-general-text'/0, 'id-et-file-transfer'/0, 'id-et-report'/0, 'id-et-notification'/0, 'id-et-voice'/0, 'id-et-content'/0, 'id-et-pkcs7'/0, 'id-hex-incomplete-copy'/0, 'id-hex-languages'/0, 'id-hex-auto-submitted'/0, 'id-hex-body-part-signatures'/0, 'id-hex-ipm-security-label'/0, 'id-hex-authorization-time'/0, 'id-hex-circulation-list-recipients'/0, 'id-hex-distribution-codes'/0, 'id-hex-extended-subject'/0, 'id-hex-information-category'/0, 'id-hex-manual-handling-instructions'/0, 'id-hex-originators-reference'/0, 'id-hex-precedence-policy-id'/0, 'id-sat-ipm-entry-type'/0, 'id-sat-ipm-synopsis'/0, 'id-sat-body-parts-summary'/0, 'id-sat-ipm-auto-discarded'/0, 'id-hat-heading'/0, 'id-hat-this-ipm'/0, 'id-hat-originator'/0, 'id-hat-replied-to-IPM'/0, 'id-hat-subject'/0, 'id-hat-expiry-time'/0, 'id-hat-reply-time'/0, 'id-hat-importance'/0, 'id-hat-sensitivity'/0, 'id-hat-auto-forwarded'/0, 'id-hat-authorizing-users'/0, 'id-hat-primary-recipients'/0, 'id-hat-copy-recipients'/0, 'id-hat-blind-copy-recipients'/0, 'id-hat-obsoleted-IPMs'/0, 'id-hat-related-IPMs'/0, 'id-hat-reply-recipients'/0, 'id-hat-incomplete-copy'/0, 'id-hat-languages'/0, 'id-hat-rn-requestors'/0, 'id-hat-nrn-requestors'/0, 'id-hat-reply-requestors'/0, 'id-hat-auto-submitted'/0, 'id-hat-body-part-signatures'/0, 'id-hat-ipm-security-label'/0, 'id-hat-body-part-security-label'/0, 'id-hat-body-part-encryption-token'/0, 'id-hat-authorization-time'/0, 'id-hat-circulation-list-recipients'/0, 'id-hat-distribution-codes'/0, 'id-hat-extended-subject'/0, 'id-hat-information-category'/0, 'id-hat-manual-handling-instructions'/0, 'id-hat-originators-reference'/0, 'id-hat-precedence-policy-id'/0, 'id-hat-forwarded-content-token'/0, 'id-hat-forwarding-token'/0, 'id-hat-precedence'/0, 'id-hat-body-part-signature-verification-status'/0, 'id-bat-body'/0, 'id-bat-ia5-text-body-parts'/0, 'id-bat-g3-facsimile-body-parts'/0, 'id-bat-g4-class1-body-parts'/0, 'id-bat-teletex-body-parts'/0, 'id-bat-videotex-body-parts'/0, 'id-bat-encrypted-body-parts'/0, 'id-bat-message-body-parts'/0, 'id-bat-mixed-mode-body-parts'/0, 'id-bat-bilaterally-defined-body-parts'/0, 'id-bat-nationally-defined-body-parts'/0, 'id-bat-extended-body-part-types'/0, 'id-bat-ia5-text-parameters'/0, 'id-bat-g3-facsimile-parameters'/0, 'id-bat-teletex-parameters'/0, 'id-bat-videotex-parameters'/0, 'id-bat-encrypted-parameters'/0, 'id-bat-message-parameters'/0, 'id-bat-ia5-text-data'/0, 'id-bat-g3-facsimile-data'/0, 'id-bat-teletex-data'/0, 'id-bat-videotex-data'/0, 'id-bat-encrypted-data'/0, 'id-bat-message-data'/0, 'id-nat-subject-ipm'/0, 'id-nat-ipn-originator'/0, 'id-nat-ipm-intended-recipient'/0, 'id-nat-conversion-eits'/0, 'id-nat-non-receipt-reason'/0, 'id-nat-discard-reason'/0, 'id-nat-auto-forward-comment'/0, 'id-nat-returned-ipm'/0, 'id-nat-receipt-time'/0, 'id-nat-acknowledgment-mode'/0, 'id-nat-suppl-receipt-info'/0, 'id-nat-notification-extensions'/0, 'id-nat-nrn-extensions'/0, 'id-nat-rn-extensions'/0, 'id-nat-other-notification-type-fields'/0, 'id-cat-correlated-delivered-ipns'/0, 'id-cat-correlated-delivered-replies'/0, 'id-cat-delivered-ipn-summary'/0, 'id-cat-delivered-replies-summary'/0, 'id-cat-forwarded-ipms'/0, 'id-cat-forwarding-ipms'/0, 'id-cat-ipm-recipients'/0, 'id-cat-obsoleted-ipms'/0, 'id-cat-obsoleting-ipms'/0, 'id-cat-related-ipms'/0, 'id-cat-relating-ipms'/0, 'id-cat-replied-to-ipm'/0, 'id-cat-replying-ipms'/0, 'id-cat-revised-reply-time'/0, 'id-cat-submitted-ipn-status'/0, 'id-cat-submitted-ipns'/0, 'id-cat-submitted-reply-status'/0, 'id-cat-subject-ipm'/0, 'id-cat-recipient-category'/0, 'id-mct-p2-1984'/0, 'id-mct-p2-1988'/0, 'id-ep-ia5-text'/0, 'id-ep-g3-facsimile'/0, 'id-ep-teletex'/0, 'id-ep-videotex'/0, 'id-ep-encrypted'/0, 'id-ep-message'/0, 'id-ep-general-text'/0, 'id-ep-file-transfer'/0, 'id-ep-notification'/0, 'id-ep-voice'/0, 'id-ep-content'/0, 'id-eit-file-transfer'/0, 'id-eit-voice'/0, 'id-voice-11khz-sample'/0, 'id-voice-22khz-sample'/0, 'id-voice-cd-quality'/0, 'id-voice-g711-mu-law'/0, 'id-voice-g726-32k-adpcm'/0, 'id-voice-g728-16k-ld-celp'/0, 'id-mr-ipm-identifier'/0, 'id-mr-or-descriptor'/0, 'id-mr-or-descriptor-elements'/0, 'id-mr-or-descriptor-substring-elements'/0, 'id-mr-recipient-specifier'/0, 'id-mr-recipient-specifier-elements'/0, 'id-mr-recipient-specifier-substring-elements'/0, 'id-mr-ipm-location'/0, 'id-mr-or-descriptor-single-element'/0, 'id-mr-recipient-specifier-single-element'/0, 'id-mr-circulation-member'/0, 'id-mr-circulation-member-elements'/0, 'id-mr-circulation-member-substring-elements'/0, 'id-mr-circulation-member-single-element'/0, 'id-mr-circulation-member-checkmark'/0, 'id-mr-distribution-code'/0, 'id-mr-information-category'/0, 'id-aa-ipm-auto-acknowledgement'/0, 'id-aa-ipm-auto-correlate'/0, 'id-aa-ipm-auto-discard'/0, 'id-aa-ipm-auto-advise'/0, 'id-aae-auto-discard-error'/0, 'id-aae-auto-forwarding-loop'/0, 'id-aae-duplicate-ipn'/0, 'id-mst-invalid-assembly-instructions'/0, 'id-mst-invalid-ipn'/0, 'id-mst-assembly-instructions'/0, 'id-mst-suspend-auto-acknowledgement'/0, 'id-mst-prevent-nrn-generation'/0, 'id-mst-originator-body-part-encryption-token'/0, 'id-mst-originator-forwarded-content-token'/0, 'id-mst-assembly-capability'/0, 'id-sec-ipm-security-request'/0, 'id-sec-security-common-fields'/0, 'id-on-absence-advice'/0, 'id-on-change-of-address-advice'/0, 'id-rex-circulation-list-indicator'/0, 'id-rex-precedence'/0 ]). -export([info/0]). -export([encode/2,decode/2]). encoding_rule() -> ber. maps() -> false. bit_string_format() -> bitstring. legacy_erlang_types() -> false. encode(Type, Data) -> try iolist_to_binary(element(1, encode_disp(Type, Data))) of Bytes -> {ok,Bytes} catch Class:Exception:Stk when Class =:= error; Class =:= exit -> case Exception of {error,{asn1,Reason}} -> {error,{asn1,{Reason,Stk}}}; Reason -> {error,{asn1,{Reason,Stk}}} end end. decode(Type, Data) -> try Result = decode_disp(Type, element(1, ber_decode_nif(Data))), {ok,Result} catch Class:Exception:Stk when Class =:= error; Class =:= exit -> case Exception of {error,{asn1,Reason}} -> {error,{asn1,{Reason,Stk}}}; Reason -> {error,{asn1,{Reason,Stk}}} end end. encode_disp('ID', Data) -> enc_ID(Data); encode_disp(Type, _Data) -> exit({error,{asn1,{undefined_type,Type}}}). decode_disp('ID', Data) -> dec_ID(Data); decode_disp(Type, _Data) -> exit({error,{asn1,{undefined_type,Type}}}). info() -> case ?MODULE:module_info(attributes) of Attributes when is_list(Attributes) -> case lists:keyfind(asn1_info, 1, Attributes) of {_,Info} when is_list(Info) -> Info; _ -> [] end; _ -> [] end. %%================================ %% ID %%================================ enc_ID(Val) -> enc_ID(Val, [<<6>>]). enc_ID(Val, TagIn) -> encode_object_identifier(Val, TagIn). dec_ID(Tlv) -> dec_ID(Tlv, [6]). dec_ID(Tlv, TagIn) -> decode_object_identifier(Tlv, TagIn). 'id-ipms'() -> {2,6,1}. 'id-mod'() -> {2,6,1,0}. 'id-ot'() -> {2,6,1,1}. 'id-pt'() -> {2,6,1,2}. 'id-et'() -> {2,6,1,4}. 'id-hex'() -> {2,6,1,5}. 'id-sat'() -> {2,6,1,6}. 'id-hat'() -> {2,6,1,7}. 'id-bat'() -> {2,6,1,8}. 'id-nat'() -> {2,6,1,9}. 'id-mct'() -> {2,6,1,10}. 'id-ep'() -> {2,6,1,11}. 'id-eit'() -> {2,6,1,12}. 'id-cat'() -> {2,6,1,13}. 'id-mr'() -> {2,6,1,14}. 'id-aa'() -> {2,6,1,15}. 'id-aae'() -> {2,6,1,16}. 'id-mst'() -> {2,6,1,17}. 'id-sec'() -> {2,6,1,18}. 'id-on'() -> {2,6,1,19}. 'id-rex'() -> {2,6,1,20}. 'id-mod-object-identifiers'() -> {2,6,1,0,0}. 'id-mod-functional-objects'() -> {2,6,1,0,1}. 'id-mod-information-objects'() -> {2,6,1,0,2}. 'id-mod-abstract-service'() -> {2,6,1,0,3}. 'id-mod-heading-extensions'() -> {2,6,1,0,6}. 'id-mod-extended-body-part-types'() -> {2,6,1,0,7}. 'id-mod-message-store-attributes'() -> {2,6,1,0,8}. 'id-mod-file-transfer-body-part-type'() -> {2,6,1,0,9}. 'id-mod-upper-bounds'() -> {2,6,1,0,10}. 'id-mod-extended-voice-body-part-type'() -> {2,6,1,0,11}. 'id-mod-forwarded-report-body-part-type'() -> {2,6,1,0,12}. 'id-mod-auto-actions'() -> {2,6,1,0,13}. 'id-mod-ipm-security-extensions'() -> {2,6,1,0,14}. 'id-mod-forwarded-content-body-part-type'() -> {2,6,1,0,15}. 'id-mod-pkcs7-body-part-type'() -> {2,6,1,0,16}. 'id-ot-ipms-user'() -> {2,6,1,1,1}. 'id-ot-ipms'() -> {2,6,1,1,2}. 'id-pt-origination'() -> {2,6,1,2,0}. 'id-pt-reception'() -> {2,6,1,2,1}. 'id-pt-management'() -> {2,6,1,2,2}. 'id-et-ia5-text'() -> {2,6,1,4,0}. 'id-et-g3-facsimile'() -> {2,6,1,4,2}. 'id-et-g4-class1'() -> {2,6,1,4,3}. 'id-et-teletex'() -> {2,6,1,4,4}. 'id-et-videotex'() -> {2,6,1,4,5}. 'id-et-encrypted'() -> {2,6,1,4,6}. 'id-et-message'() -> {2,6,1,4,7}. 'id-et-mixed-mode'() -> {2,6,1,4,8}. 'id-et-bilaterally-defined'() -> {2,6,1,4,9}. 'id-et-nationally-defined'() -> {2,6,1,4,10}. 'id-et-general-text'() -> {2,6,1,4,11}. 'id-et-file-transfer'() -> {2,6,1,4,12}. 'id-et-report'() -> {2,6,1,4,14}. 'id-et-notification'() -> {2,6,1,4,15}. 'id-et-voice'() -> {2,6,1,4,16}. 'id-et-content'() -> {2,6,1,4,17}. 'id-et-pkcs7'() -> {2,6,1,4,18}. 'id-hex-incomplete-copy'() -> {2,6,1,5,0}. 'id-hex-languages'() -> {2,6,1,5,1}. 'id-hex-auto-submitted'() -> {2,6,1,5,2}. 'id-hex-body-part-signatures'() -> {2,6,1,5,3}. 'id-hex-ipm-security-label'() -> {2,6,1,5,4}. 'id-hex-authorization-time'() -> {2,6,1,5,5}. 'id-hex-circulation-list-recipients'() -> {2,6,1,5,6}. 'id-hex-distribution-codes'() -> {2,6,1,5,7}. 'id-hex-extended-subject'() -> {2,6,1,5,8}. 'id-hex-information-category'() -> {2,6,1,5,9}. 'id-hex-manual-handling-instructions'() -> {2,6,1,5,10}. 'id-hex-originators-reference'() -> {2,6,1,5,11}. 'id-hex-precedence-policy-id'() -> {2,6,1,5,12}. 'id-sat-ipm-entry-type'() -> {2,6,1,6,0}. 'id-sat-ipm-synopsis'() -> {2,6,1,6,1}. 'id-sat-body-parts-summary'() -> {2,6,1,6,2}. 'id-sat-ipm-auto-discarded'() -> {2,6,1,6,3}. 'id-hat-heading'() -> {2,6,1,7,0}. 'id-hat-this-ipm'() -> {2,6,1,7,1}. 'id-hat-originator'() -> {2,6,1,7,2}. 'id-hat-replied-to-IPM'() -> {2,6,1,7,3}. 'id-hat-subject'() -> {2,6,1,7,4}. 'id-hat-expiry-time'() -> {2,6,1,7,5}. 'id-hat-reply-time'() -> {2,6,1,7,6}. 'id-hat-importance'() -> {2,6,1,7,7}. 'id-hat-sensitivity'() -> {2,6,1,7,8}. 'id-hat-auto-forwarded'() -> {2,6,1,7,9}. 'id-hat-authorizing-users'() -> {2,6,1,7,10}. 'id-hat-primary-recipients'() -> {2,6,1,7,11}. 'id-hat-copy-recipients'() -> {2,6,1,7,12}. 'id-hat-blind-copy-recipients'() -> {2,6,1,7,13}. 'id-hat-obsoleted-IPMs'() -> {2,6,1,7,14}. 'id-hat-related-IPMs'() -> {2,6,1,7,15}. 'id-hat-reply-recipients'() -> {2,6,1,7,16}. 'id-hat-incomplete-copy'() -> {2,6,1,7,17}. 'id-hat-languages'() -> {2,6,1,7,18}. 'id-hat-rn-requestors'() -> {2,6,1,7,19}. 'id-hat-nrn-requestors'() -> {2,6,1,7,20}. 'id-hat-reply-requestors'() -> {2,6,1,7,21}. 'id-hat-auto-submitted'() -> {2,6,1,7,22}. 'id-hat-body-part-signatures'() -> {2,6,1,7,23}. 'id-hat-ipm-security-label'() -> {2,6,1,7,24}. 'id-hat-body-part-security-label'() -> {2,6,1,7,25}. 'id-hat-body-part-encryption-token'() -> {2,6,1,7,26}. 'id-hat-authorization-time'() -> {2,6,1,7,27}. 'id-hat-circulation-list-recipients'() -> {2,6,1,7,28}. 'id-hat-distribution-codes'() -> {2,6,1,7,29}. 'id-hat-extended-subject'() -> {2,6,1,7,30}. 'id-hat-information-category'() -> {2,6,1,7,31}. 'id-hat-manual-handling-instructions'() -> {2,6,1,7,32}. 'id-hat-originators-reference'() -> {2,6,1,7,33}. 'id-hat-precedence-policy-id'() -> {2,6,1,7,34}. 'id-hat-forwarded-content-token'() -> {2,6,1,7,35}. 'id-hat-forwarding-token'() -> {2,6,1,7,36}. 'id-hat-precedence'() -> {2,6,1,7,37}. 'id-hat-body-part-signature-verification-status'() -> {2,6,1,7,38}. 'id-bat-body'() -> {2,6,1,8,0}. 'id-bat-ia5-text-body-parts'() -> {2,6,1,8,1}. 'id-bat-g3-facsimile-body-parts'() -> {2,6,1,8,3}. 'id-bat-g4-class1-body-parts'() -> {2,6,1,8,4}. 'id-bat-teletex-body-parts'() -> {2,6,1,8,5}. 'id-bat-videotex-body-parts'() -> {2,6,1,8,6}. 'id-bat-encrypted-body-parts'() -> {2,6,1,8,7}. 'id-bat-message-body-parts'() -> {2,6,1,8,8}. 'id-bat-mixed-mode-body-parts'() -> {2,6,1,8,9}. 'id-bat-bilaterally-defined-body-parts'() -> {2,6,1,8,10}. 'id-bat-nationally-defined-body-parts'() -> {2,6,1,8,11}. 'id-bat-extended-body-part-types'() -> {2,6,1,8,12}. 'id-bat-ia5-text-parameters'() -> {2,6,1,8,13}. 'id-bat-g3-facsimile-parameters'() -> {2,6,1,8,15}. 'id-bat-teletex-parameters'() -> {2,6,1,8,16}. 'id-bat-videotex-parameters'() -> {2,6,1,8,17}. 'id-bat-encrypted-parameters'() -> {2,6,1,8,18}. 'id-bat-message-parameters'() -> {2,6,1,8,19}. 'id-bat-ia5-text-data'() -> {2,6,1,8,20}. 'id-bat-g3-facsimile-data'() -> {2,6,1,8,22}. 'id-bat-teletex-data'() -> {2,6,1,8,23}. 'id-bat-videotex-data'() -> {2,6,1,8,24}. 'id-bat-encrypted-data'() -> {2,6,1,8,25}. 'id-bat-message-data'() -> {2,6,1,8,26}. 'id-nat-subject-ipm'() -> {2,6,1,9,0}. 'id-nat-ipn-originator'() -> {2,6,1,9,1}. 'id-nat-ipm-intended-recipient'() -> {2,6,1,9,2}. 'id-nat-conversion-eits'() -> {2,6,1,9,3}. 'id-nat-non-receipt-reason'() -> {2,6,1,9,4}. 'id-nat-discard-reason'() -> {2,6,1,9,5}. 'id-nat-auto-forward-comment'() -> {2,6,1,9,6}. 'id-nat-returned-ipm'() -> {2,6,1,9,7}. 'id-nat-receipt-time'() -> {2,6,1,9,8}. 'id-nat-acknowledgment-mode'() -> {2,6,1,9,9}. 'id-nat-suppl-receipt-info'() -> {2,6,1,9,10}. 'id-nat-notification-extensions'() -> {2,6,1,9,11}. 'id-nat-nrn-extensions'() -> {2,6,1,9,12}. 'id-nat-rn-extensions'() -> {2,6,1,9,13}. 'id-nat-other-notification-type-fields'() -> {2,6,1,9,14}. 'id-cat-correlated-delivered-ipns'() -> {2,6,1,13,0}. 'id-cat-correlated-delivered-replies'() -> {2,6,1,13,1}. 'id-cat-delivered-ipn-summary'() -> {2,6,1,13,2}. 'id-cat-delivered-replies-summary'() -> {2,6,1,13,3}. 'id-cat-forwarded-ipms'() -> {2,6,1,13,4}. 'id-cat-forwarding-ipms'() -> {2,6,1,13,5}. 'id-cat-ipm-recipients'() -> {2,6,1,13,6}. 'id-cat-obsoleted-ipms'() -> {2,6,1,13,7}. 'id-cat-obsoleting-ipms'() -> {2,6,1,13,8}. 'id-cat-related-ipms'() -> {2,6,1,13,9}. 'id-cat-relating-ipms'() -> {2,6,1,13,10}. 'id-cat-replied-to-ipm'() -> {2,6,1,13,11}. 'id-cat-replying-ipms'() -> {2,6,1,13,12}. 'id-cat-revised-reply-time'() -> {2,6,1,13,13}. 'id-cat-submitted-ipn-status'() -> {2,6,1,13,14}. 'id-cat-submitted-ipns'() -> {2,6,1,13,15}. 'id-cat-submitted-reply-status'() -> {2,6,1,13,16}. 'id-cat-subject-ipm'() -> {2,6,1,13,17}. 'id-cat-recipient-category'() -> {2,6,1,13,18}. 'id-mct-p2-1984'() -> {2,6,1,10,0}. 'id-mct-p2-1988'() -> {2,6,1,10,1}. 'id-ep-ia5-text'() -> {2,6,1,11,0}. 'id-ep-g3-facsimile'() -> {2,6,1,11,2}. 'id-ep-teletex'() -> {2,6,1,11,4}. 'id-ep-videotex'() -> {2,6,1,11,5}. 'id-ep-encrypted'() -> {2,6,1,11,6}. 'id-ep-message'() -> {2,6,1,11,7}. 'id-ep-general-text'() -> {2,6,1,11,11}. 'id-ep-file-transfer'() -> {2,6,1,11,12}. 'id-ep-notification'() -> {2,6,1,11,15}. 'id-ep-voice'() -> {2,6,1,11,16}. 'id-ep-content'() -> {2,6,1,11,17}. 'id-eit-file-transfer'() -> {2,6,1,12,0}. 'id-eit-voice'() -> {2,6,1,12,1}. 'id-voice-11khz-sample'() -> {2,6,1,12,1,0}. 'id-voice-22khz-sample'() -> {2,6,1,12,1,1}. 'id-voice-cd-quality'() -> {2,6,1,12,1,2}. 'id-voice-g711-mu-law'() -> {2,6,1,12,1,3}. 'id-voice-g726-32k-adpcm'() -> {2,6,1,12,1,4}. 'id-voice-g728-16k-ld-celp'() -> {2,6,1,12,1,5}. 'id-mr-ipm-identifier'() -> {2,6,1,14,0}. 'id-mr-or-descriptor'() -> {2,6,1,14,1}. 'id-mr-or-descriptor-elements'() -> {2,6,1,14,2}. 'id-mr-or-descriptor-substring-elements'() -> {2,6,1,14,3}. 'id-mr-recipient-specifier'() -> {2,6,1,14,4}. 'id-mr-recipient-specifier-elements'() -> {2,6,1,14,5}. 'id-mr-recipient-specifier-substring-elements'() -> {2,6,1,14,6}. 'id-mr-ipm-location'() -> {2,6,1,14,7}. 'id-mr-or-descriptor-single-element'() -> {2,6,1,14,8}. 'id-mr-recipient-specifier-single-element'() -> {2,6,1,14,9}. 'id-mr-circulation-member'() -> {2,6,1,14,10}. 'id-mr-circulation-member-elements'() -> {2,6,1,14,11}. 'id-mr-circulation-member-substring-elements'() -> {2,6,1,14,12}. 'id-mr-circulation-member-single-element'() -> {2,6,1,14,13}. 'id-mr-circulation-member-checkmark'() -> {2,6,1,14,14}. 'id-mr-distribution-code'() -> {2,6,1,14,15}. 'id-mr-information-category'() -> {2,6,1,14,16}. 'id-aa-ipm-auto-acknowledgement'() -> {2,6,1,15,0}. 'id-aa-ipm-auto-correlate'() -> {2,6,1,15,1}. 'id-aa-ipm-auto-discard'() -> {2,6,1,15,2}. 'id-aa-ipm-auto-advise'() -> {2,6,1,15,3}. 'id-aae-auto-discard-error'() -> {2,6,1,16,0}. 'id-aae-auto-forwarding-loop'() -> {2,6,1,16,1}. 'id-aae-duplicate-ipn'() -> {2,6,1,16,2}. 'id-mst-invalid-assembly-instructions'() -> {2,6,1,17,0}. 'id-mst-invalid-ipn'() -> {2,6,1,17,1}. 'id-mst-assembly-instructions'() -> {2,6,1,17,2}. 'id-mst-suspend-auto-acknowledgement'() -> {2,6,1,17,3}. 'id-mst-prevent-nrn-generation'() -> {2,6,1,17,4}. 'id-mst-originator-body-part-encryption-token'() -> {2,6,1,17,5}. 'id-mst-originator-forwarded-content-token'() -> {2,6,1,17,6}. 'id-mst-assembly-capability'() -> {2,6,1,17,7}. 'id-sec-ipm-security-request'() -> {2,6,1,18,0}. 'id-sec-security-common-fields'() -> {2,6,1,18,1}. 'id-on-absence-advice'() -> {2,6,1,19,0}. 'id-on-change-of-address-advice'() -> {2,6,1,19,1}. 'id-rex-circulation-list-indicator'() -> {2,6,1,20,0}. 'id-rex-precedence'() -> {2,6,1,20,1}. %%% %%% Run-time functions. %%% 'dialyzer-suppressions'(Arg) -> ok. ber_decode_nif(B) -> asn1rt_nif:decode_ber_tlv(B). dec_subidentifiers(<<>>, _Av, Al) -> lists:reverse(Al); dec_subidentifiers(<<1:1,H:7,T/binary>>, Av, Al) -> dec_subidentifiers(T, Av bsl 7 + H, Al); dec_subidentifiers(<>, Av, Al) -> dec_subidentifiers(T, 0, [Av bsl 7 + H | Al]). decode_object_identifier(Tlv, Tags) -> Val = match_tags(Tlv, Tags), [AddedObjVal | ObjVals] = dec_subidentifiers(Val, 0, []), {Val1, Val2} = if AddedObjVal < 40 -> {0, AddedObjVal}; AddedObjVal < 80 -> {1, AddedObjVal - 40}; true -> {2, AddedObjVal - 80} end, list_to_tuple([Val1, Val2 | ObjVals]). e_object_identifier({'OBJECT IDENTIFIER', V}) -> e_object_identifier(V); e_object_identifier(V) when is_tuple(V) -> e_object_identifier(tuple_to_list(V)); e_object_identifier([E1, E2 | Tail]) -> Head = 40 * E1 + E2, {H, Lh} = mk_object_val(Head), {R, Lr} = lists:mapfoldl(fun enc_obj_id_tail/2, 0, Tail), {[H | R], Lh + Lr}. enc_obj_id_tail(H, Len) -> {B, L} = mk_object_val(H), {B, Len + L}. encode_length(L) when L =< 127 -> {[L], 1}; encode_length(L) -> Oct = minimum_octets(L), Len = length(Oct), if Len =< 126 -> {[128 bor Len | Oct], Len + 1}; true -> exit({error, {asn1, too_long_length_oct, Len}}) end. encode_object_identifier(Val, TagIn) -> encode_tags(TagIn, e_object_identifier(Val)). encode_tags(TagIn, {BytesSoFar, LenSoFar}) -> encode_tags(TagIn, BytesSoFar, LenSoFar). encode_tags([Tag | Trest], BytesSoFar, LenSoFar) -> {Bytes2, L2} = encode_length(LenSoFar), encode_tags(Trest, [Tag, Bytes2 | BytesSoFar], LenSoFar + byte_size(Tag) + L2); encode_tags([], BytesSoFar, LenSoFar) -> {BytesSoFar, LenSoFar}. match_tags({T, V}, [T]) -> V; match_tags({T, V}, [T | Tt]) -> match_tags(V, Tt); match_tags([{T, V}], [T | Tt]) -> match_tags(V, Tt); match_tags([{T, _V} | _] = Vlist, [T]) -> Vlist; match_tags(Tlv, []) -> Tlv; match_tags({Tag, _V} = Tlv, [T | _Tt]) -> exit({error, {asn1, {wrong_tag, {{expected, T}, {got, Tag, Tlv}}}}}). minimum_octets(0, Acc) -> Acc; minimum_octets(Val, Acc) -> minimum_octets(Val bsr 8, [Val band 255 | Acc]). minimum_octets(Val) -> minimum_octets(Val, []). mk_object_val(0, Ack, Len) -> {Ack, Len}; mk_object_val(Val, Ack, Len) -> mk_object_val(Val bsr 7, [Val band 127 bor 128 | Ack], Len + 1). mk_object_val(Val) when Val =< 127 -> {[255 band Val], 1}; mk_object_val(Val) -> mk_object_val(Val bsr 7, [Val band 127], 1).