ASN-USEFUL DEFINITIONS ::=
BEGIN

-- file: .../asn1specs/asn-useful.asn1
--
-- NOTE: every one of these types is marked as a PDU so the compiler
--       will produce the encode and decode routines that
--       enc/dec the top tag/len pairs, not just the content decoders.
--       (only nec for re-generating the library files "asn_useful.[ch]").
--       The isPdu field does not affect how this module is linked
--       with other modules during compilation.
--
--  (type DEF comment directives immediately follow the "::=")
--
-- MS 92
--
-- $Header: /cvs/Darwin/src/live/Security/SecurityASN1/asn/asn-useful.asn1,v 1.1.1.1 2001/05/18 23:13:59 mb Exp $
-- $Log: asn-useful.asn1,v $
-- Revision 1.1.1.1  2001/05/18 23:13:59  mb
-- Move from private repository to open source repository
--
-- Revision 1.1  2000/06/14 22:23:07  dmitch
-- New PKCS/CMS snacc-generated framework.
--
-- Revision 1.1.1.1  2000/03/09 00:59:54  rmurphy
-- Base Fortissimo Tree
--
-- Revision 1.2  1999/03/10 18:23:38  aram
-- Corrected definition of UTF8String.
--
-- Revision 1.1  1999/03/10 18:16:44  aram
-- Added UTF8String definition.
--
-- Revision 1.3  1995/07/24 15:12:35  rj
-- useful.asn1 renamed to asn-useful.asn1 to accomodate to snacc's new file name generation scheme.
--
-- Revision 1.2  1994/08/28  09:54:19  rj
-- comment leader fixed.
--
-- Revision 1.1  1994/08/28  09:51:15  rj
-- first check-in.


ObjectDescriptor ::= -- isPdu:"TRUE" --
                     [UNIVERSAL 7] IMPLICIT OCTET STRING

UTF8String       ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 12] IMPLICIT OCTET STRING

NumericString    ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 18] IMPLICIT OCTET STRING

PrintableString  ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 19] IMPLICIT OCTET STRING

TeletexString    ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 20] IMPLICIT OCTET STRING

T61String        ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 20] IMPLICIT OCTET STRING

VideotexString   ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 21] IMPLICIT OCTET STRING

IA5String        ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 22] IMPLICIT OCTET STRING

GraphicString    ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 25] IMPLICIT OCTET STRING

VisibleString    ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 26] IMPLICIT OCTET STRING

ISO646String     ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 26] IMPLICIT OCTET STRING

GeneralString    ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 27] IMPLICIT OCTET STRING

UTCTime          ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 23] IMPLICIT OCTET STRING

GeneralizedTime  ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 24] IMPLICIT OCTET STRING

UniversalString  ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 28] IMPLICIT OCTET STRING

BMPString        ::= --snacc isPdu:"TRUE" --
                     [UNIVERSAL 30] IMPLICIT OCTET STRING

EXTERNAL         ::= --snacc isPdu:"TRUE" -- [UNIVERSAL 8] IMPLICIT SEQUENCE
{
        direct-reference      OBJECT IDENTIFIER OPTIONAL,
        indirect-reference    INTEGER OPTIONAL,
        data-value-descriptor ObjectDescriptor OPTIONAL,
        encoding CHOICE
        {
                single-ASN1-type [0] OCTET STRING,  -- should be ANY
                octet-aligned    [1] IMPLICIT OCTET STRING,
                arbitrary        [2] IMPLICIT BIT STRING
        }
}

END  -- of ASN-USEFUL  type definitions
