From 52261db09ef9dbf5abc95baed22722c5c332f9f7 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Tue, 20 Jun 2006 17:33:26 +0000 Subject: Pulling OpenSSL 0.9.8b into trunk svn path=/openssl/trunk; revision=3 --- openssl/trunk/doc/crypto/ASN1_STRING_print_ex.pod | 96 +++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 openssl/trunk/doc/crypto/ASN1_STRING_print_ex.pod (limited to 'openssl/trunk/doc/crypto/ASN1_STRING_print_ex.pod') diff --git a/openssl/trunk/doc/crypto/ASN1_STRING_print_ex.pod b/openssl/trunk/doc/crypto/ASN1_STRING_print_ex.pod new file mode 100644 index 00000000..d662225b --- /dev/null +++ b/openssl/trunk/doc/crypto/ASN1_STRING_print_ex.pod @@ -0,0 +1,96 @@ +=pod + +=head1 NAME + +ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp - ASN1_STRING output routines. + +=head1 SYNOPSIS + + #include + + int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags); + int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); + int ASN1_STRING_print(BIO *out, ASN1_STRING *str); + + +=head1 DESCRIPTION + +These functions output an B structure. B is used to +represent all the ASN1 string types. + +ASN1_STRING_print_ex() outputs B to B, the format is determined by +the options B. ASN1_STRING_print_ex_fp() is identical except it outputs +to B instead. + +ASN1_STRING_print() prints B to B but using a different format to +ASN1_STRING_print_ex(). It replaces unprintable characters (other than CR, LF) +with '.'. + +=head1 NOTES + +ASN1_STRING_print() is a legacy function which should be avoided in new applications. + +Although there are a large number of options frequently B is +suitable, or on UTF8 terminals B. + +The complete set of supported options for B is listed below. + +Various characters can be escaped. If B is set the characters +determined by RFC2253 are escaped. If B is set control +characters are escaped. If B is set characters with the +MSB set are escaped: this option should B be used if the terminal correctly +interprets UTF8 sequences. + +Escaping takes several forms. + +If the character being escaped is a 16 bit character then the form "\WXXXX" is used +using exactly four characters for the hex representation. If it is 32 bits then +"\UXXXXXXXX" is used using eight characters of its hex representation. These forms +will only be used if UTF8 conversion is not set (see below). + +Printable characters are normally escaped using the backslash '\' character. If +B is set then the whole string is instead surrounded by +double quote characters: this is arguably more readable than the backslash +notation. Other characters use the "\XX" using exactly two characters of the hex +representation. + +If B is set then characters are converted to UTF8 +format first. If the terminal supports the display of UTF8 sequences then this +option will correctly display multi byte characters. + +If B is set then the string type is not interpreted at +all: everything is assumed to be one byte per character. This is primarily for +debugging purposes and can result in confusing output in multi character strings. + +If B is set then the string type itself is printed out +before its value (for example "BMPSTRING"), this actually uses ASN1_tag2str(). + +The content of a string instead of being interpreted can be "dumped": this just +outputs the value of the string using the form #XXXX using hex format for each +octet. + +If B is set then any type is dumped. + +Normally non character string types (such as OCTET STRING) are assumed to be +one byte per character, if B is set then they will +be dumped instead. + +When a type is dumped normally just the content octets are printed, if +B is set then the complete encoding is dumped +instead (including tag and length octets). + +B includes all the flags required by RFC2253. It is +equivalent to: + ASN1_STRFLGS_ESC_2253 | ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB | + ASN1_STRFLGS_UTF8_CONVERT | ASN1_STRFLGS_DUMP_UNKNOWN ASN1_STRFLGS_DUMP_DER + +=head1 SEE ALSO + +L, +L + +=head1 HISTORY + +TBA + +=cut -- cgit v1.2.3