Current section
Files
Jump to
Current section
Files
src/IPMSObjectIdentifiers.erl
%% 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(<<H,T/binary>>, 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).