diff --git a/doc/man3/ASN1_INTEGER_get_int64.pod b/doc/man3/ASN1_INTEGER_get_int64.pod index da1e432a2c..cf0ff65686 100644 --- a/doc/man3/ASN1_INTEGER_get_int64.pod +++ b/doc/man3/ASN1_INTEGER_get_int64.pod @@ -37,7 +37,7 @@ These functions convert to and from B and B structures. ASN1_INTEGER_get_int64() converts an B into an B type -If successful it returns 1 and sets B<*pr> to the value of B. If it fails +If successful it returns 1 and sets I<*pr> to the value of I. If it fails (due to invalid type or the value being too big to fit into an B type) it returns 0. @@ -45,26 +45,26 @@ ASN1_INTEGER_get_uint64() is similar to ASN1_INTEGER_get_int64_t() except it converts to a B type and an error is returned if the passed integer is negative. -ASN1_INTEGER_get() also returns the value of B but it returns 0 if B is +ASN1_INTEGER_get() also returns the value of I but it returns 0 if I is NULL and -1 on error (which is ambiguous because -1 is a legitimate value for an B). New applications should use ASN1_INTEGER_get_int64() instead. -ASN1_INTEGER_set_int64() sets the value of B B to the -B value B. +ASN1_INTEGER_set_int64() sets the value of B I to the +B value I. -ASN1_INTEGER_set_uint64() sets the value of B B to the -B value B. +ASN1_INTEGER_set_uint64() sets the value of B I to the +B value I. -ASN1_INTEGER_set() sets the value of B B to the B value -B. +ASN1_INTEGER_set() sets the value of B I to the I value +I. -BN_to_ASN1_INTEGER() converts B B to an B. If B -is NULL a new B structure is returned. If B is not NULL then +BN_to_ASN1_INTEGER() converts B I to an B. If I +is NULL a new B structure is returned. If I is not NULL then the existing structure will be used instead. -ASN1_INTEGER_to_BN() converts ASN1_INTEGER B into a B. If B is -NULL a new B structure is returned. If B is not NULL then the +ASN1_INTEGER_to_BN() converts ASN1_INTEGER I into a B. If I is +NULL a new B structure is returned. If I is not NULL then the existing structure will be used instead. ASN1_ENUMERATED_get_int64(), ASN1_ENUMERATED_set_int64(), @@ -72,8 +72,8 @@ ASN1_ENUMERATED_set(), BN_to_ASN1_ENUMERATED() and ASN1_ENUMERATED_to_BN() behave in an identical way to their ASN1_INTEGER counterparts except they operate on an B value. -ASN1_ENUMERATED_get() returns the value of B in a similar way to -ASN1_INTEGER_get() but it returns B<0xffffffffL> if the value of B will not +ASN1_ENUMERATED_get() returns the value of I in a similar way to +ASN1_INTEGER_get() but it returns B<0xffffffffL> if the value of I will not fit in a long type. New applications should use ASN1_ENUMERATED_get_int64() instead. diff --git a/doc/man3/ASN1_ITEM_lookup.pod b/doc/man3/ASN1_ITEM_lookup.pod index d032258bfd..e5bba3d5e6 100644 --- a/doc/man3/ASN1_ITEM_lookup.pod +++ b/doc/man3/ASN1_ITEM_lookup.pod @@ -13,15 +13,15 @@ ASN1_ITEM_lookup, ASN1_ITEM_get - lookup ASN.1 structures =head1 DESCRIPTION -ASN1_ITEM_lookup() returns the B. +ASN1_ITEM_lookup() returns the B named I. -ASN1_ITEM_get() returns the B with index B. This function -returns B if the index B is out of range. +ASN1_ITEM_get() returns the B with index I. This function +returns NULL if the index I is out of range. =head1 RETURN VALUES ASN1_ITEM_lookup() and ASN1_ITEM_get() return a valid B structure -or B if an error occurred. +or NULL if an error occurred. =head1 SEE ALSO diff --git a/doc/man3/ASN1_OBJECT_new.pod b/doc/man3/ASN1_OBJECT_new.pod index 2ea9a44095..4e1a3740ea 100644 --- a/doc/man3/ASN1_OBJECT_new.pod +++ b/doc/man3/ASN1_OBJECT_new.pod @@ -13,23 +13,23 @@ ASN1_OBJECT_new, ASN1_OBJECT_free - object allocation functions =head1 DESCRIPTION -The ASN1_OBJECT allocation routines, allocate and free an -ASN1_OBJECT structure, which represents an ASN1 OBJECT IDENTIFIER. +The B allocation routines, allocate and free an +B structure, which represents an ASN1 OBJECT IDENTIFIER. -ASN1_OBJECT_new() allocates and initializes an ASN1_OBJECT structure. +ASN1_OBJECT_new() allocates and initializes an B structure. -ASN1_OBJECT_free() frees up the B structure B. -If B is NULL, nothing is done. +ASN1_OBJECT_free() frees up the B structure I. +If I is NULL, nothing is done. =head1 NOTES -Although ASN1_OBJECT_new() allocates a new ASN1_OBJECT structure it +Although ASN1_OBJECT_new() allocates a new B structure it is almost never used in applications. The ASN1 object utility functions such as OBJ_nid2obj() are used instead. =head1 RETURN VALUES -If the allocation fails, ASN1_OBJECT_new() returns B and sets an error +If the allocation fails, ASN1_OBJECT_new() returns NULL and sets an error code that can be obtained by L. Otherwise it returns a pointer to the newly allocated structure. diff --git a/doc/man3/ASN1_STRING_TABLE_add.pod b/doc/man3/ASN1_STRING_TABLE_add.pod index 7b7c60c585..f7b65fc23e 100644 --- a/doc/man3/ASN1_STRING_TABLE_add.pod +++ b/doc/man3/ASN1_STRING_TABLE_add.pod @@ -26,16 +26,16 @@ B is a table which holds string information =head2 Functions ASN1_STRING_TABLE_add() adds a new B item into the -local ASN1 string table based on the B along with other parameters. +local ASN1 string table based on the I along with other parameters. If the item is already in the table, fields of B are -updated (depending on the values of those parameters, e.g., B -and B >= 0, B and B != 0). If the B is standard, +updated (depending on the values of those parameters, e.g., I +and I >= 0, I and I != 0). If the I is standard, a copy of the standard B is created and updated with other parameters. ASN1_STRING_TABLE_get() searches for an B item based -on B. It will search the local table first, then the standard one. +on I. It will search the local table first, then the standard one. ASN1_STRING_TABLE_cleanup() frees all B items added by ASN1_STRING_TABLE_add(). @@ -45,7 +45,7 @@ by ASN1_STRING_TABLE_add(). ASN1_STRING_TABLE_add() returns 1 on success, 0 if an error occurred. ASN1_STRING_TABLE_get() returns a valid B structure -or B if nothing is found. +or NULL if nothing is found. ASN1_STRING_TABLE_cleanup() does not return a value. diff --git a/doc/man3/ASN1_STRING_length.pod b/doc/man3/ASN1_STRING_length.pod index 86eb835010..ae03dd9737 100644 --- a/doc/man3/ASN1_STRING_length.pod +++ b/doc/man3/ASN1_STRING_length.pod @@ -28,9 +28,9 @@ ASN1_STRING_to_UTF8 - ASN1_STRING utility functions These functions allow an B structure to be manipulated. -ASN1_STRING_length() returns the length of the content of B. +ASN1_STRING_length() returns the length of the content of I. -ASN1_STRING_get0_data() returns an internal pointer to the data of B. +ASN1_STRING_get0_data() returns an internal pointer to the data of I. Since this is an internal pointer it should B be freed or modified in any way. @@ -38,21 +38,21 @@ ASN1_STRING_data() is similar to ASN1_STRING_get0_data() except the returned value is not constant. This function is deprecated: applications should use ASN1_STRING_get0_data() instead. -ASN1_STRING_dup() returns a copy of the structure B. +ASN1_STRING_dup() returns a copy of the structure I. -ASN1_STRING_cmp() compares B and B returning 0 if the two +ASN1_STRING_cmp() compares I and I returning 0 if the two are identical. The string types and content are compared. -ASN1_STRING_set() sets the data of string B to the buffer -B or length B. The supplied data is copied. If B +ASN1_STRING_set() sets the data of string I to the buffer +I or length I. The supplied data is copied. If I is -1 then the length is determined by strlen(data). -ASN1_STRING_type() returns the type of B, using standard constants +ASN1_STRING_type() returns the type of I, using standard constants such as B. -ASN1_STRING_to_UTF8() converts the string B to UTF8 format, the -converted data is allocated in a buffer in B<*out>. The length of -B is returned or a negative error code. The buffer B<*out> +ASN1_STRING_to_UTF8() converts the string I to UTF8 format, the +converted data is allocated in a buffer in I<*out>. The length of +I is returned or a negative error code. The buffer I<*out> should be freed using OPENSSL_free(). =head1 NOTES @@ -79,22 +79,22 @@ when calling ASN1_STRING_set(). =head1 RETURN VALUES -ASN1_STRING_length() returns the length of the content of B. +ASN1_STRING_length() returns the length of the content of I. ASN1_STRING_get0_data() and ASN1_STRING_data() return an internal pointer to -the data of B. +the data of I. -ASN1_STRING_dup() returns a valid B structure or B if an +ASN1_STRING_dup() returns a valid B structure or NULL if an error occurred. ASN1_STRING_cmp() returns an integer greater than, equal to, or less than 0, -according to whether B is greater than, equal to, or less than B. +according to whether I is greater than, equal to, or less than I. ASN1_STRING_set() returns 1 on success or 0 on error. -ASN1_STRING_type() returns the type of B. +ASN1_STRING_type() returns the type of I. -ASN1_STRING_to_UTF8() returns the number of bytes in output string B or a +ASN1_STRING_to_UTF8() returns the number of bytes in output string I or a negative value if an error occurred. =head1 SEE ALSO diff --git a/doc/man3/ASN1_STRING_new.pod b/doc/man3/ASN1_STRING_new.pod index 2f703f2b41..581d3f6e36 100644 --- a/doc/man3/ASN1_STRING_new.pod +++ b/doc/man3/ASN1_STRING_new.pod @@ -19,10 +19,10 @@ ASN1_STRING_new() returns an allocated B structure. Its type is undefined. ASN1_STRING_type_new() returns an allocated B structure of -type B. +type I. -ASN1_STRING_free() frees up B. -If B is NULL nothing is done. +ASN1_STRING_free() frees up I. +If I is NULL nothing is done. =head1 NOTES @@ -32,7 +32,7 @@ ASN1_OCTET_STRING_new() calls ASN1_STRING_type(V_ASN1_OCTET_STRING). =head1 RETURN VALUES ASN1_STRING_new() and ASN1_STRING_type_new() return a valid -ASN1_STRING structure or B if an error occurred. +B structure or NULL if an error occurred. ASN1_STRING_free() does not return a value. diff --git a/doc/man3/ASN1_STRING_print_ex.pod b/doc/man3/ASN1_STRING_print_ex.pod index 5377ab05b0..0ff03d798d 100644 --- a/doc/man3/ASN1_STRING_print_ex.pod +++ b/doc/man3/ASN1_STRING_print_ex.pod @@ -20,15 +20,15 @@ ASN1_tag2str, ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp, ASN1_STRING_print 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_ex() outputs I to I, the format is determined by +the options I. ASN1_STRING_print_ex_fp() is identical except it outputs +to I instead. -ASN1_STRING_print() prints B to B but using a different format to +ASN1_STRING_print() prints I to I but using a different format to ASN1_STRING_print_ex(). It replaces unprintable characters (other than CR, LF) with '.'. -ASN1_tag2str() returns a human-readable name of the specified ASN.1 B. +ASN1_tag2str() returns a human-readable name of the specified ASN.1 I. =head1 NOTES @@ -38,7 +38,7 @@ ASN1_STRING_print_ex() instead. 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. +The complete set of supported options for I is listed below. Various characters can be escaped. If B is set the characters determined by RFC2253 are escaped. If B is set control @@ -96,7 +96,7 @@ characters written or -1 if an error occurred. ASN1_STRING_print() returns 1 on success or 0 on error. -ASN1_tag2str() returns a human-readable name of the specified ASN.1 B. +ASN1_tag2str() returns a human-readable name of the specified ASN.1 I. =head1 SEE ALSO diff --git a/doc/man3/ASN1_TIME_set.pod b/doc/man3/ASN1_TIME_set.pod index 9db9970f5e..5ef1e0760b 100644 --- a/doc/man3/ASN1_TIME_set.pod +++ b/doc/man3/ASN1_TIME_set.pod @@ -61,108 +61,110 @@ ASN1_TIME_to_generalizedtime - ASN.1 Time functions =head1 DESCRIPTION The ASN1_TIME_set(), ASN1_UTCTIME_set() and ASN1_GENERALIZEDTIME_set() -functions set the structure B to the time represented by the time_t -value B. If B is NULL a new time structure is allocated and returned. +functions set the structure I to the time represented by the time_t +value I. If I is NULL a new time structure is allocated and returned. The ASN1_TIME_adj(), ASN1_UTCTIME_adj() and ASN1_GENERALIZEDTIME_adj() -functions set the time structure B to the time represented -by the time B and B after the time_t value B. -The values of B or B can be negative to set a -time before B. The B value can also exceed the number of -seconds in a day. If B is NULL a new structure is allocated +functions set the time structure I to the time represented +by the time I and I after the time_t value I. +The values of I or I can be negative to set a +time before I. The I value can also exceed the number of +seconds in a day. If I is NULL a new structure is allocated and returned. The ASN1_TIME_set_string(), ASN1_UTCTIME_set_string() and -ASN1_GENERALIZEDTIME_set_string() functions set the time structure B -to the time represented by string B which must be in appropriate ASN.1 -time format (for example YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ). If B is NULL -this function performs a format check on B only. The string B -is copied into B. +ASN1_GENERALIZEDTIME_set_string() functions set the time structure I +to the time represented by string I which must be in appropriate ASN.1 +time format (for example YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ). If I is NULL +this function performs a format check on I only. The string I +is copied into I. -ASN1_TIME_set_string_X509() sets ASN1_TIME structure B to the time -represented by string B which must be in appropriate time format +ASN1_TIME_set_string_X509() sets B structure I to the time +represented by string I which must be in appropriate time format that RFC 5280 requires, which means it only allows YYMMDDHHMMSSZ and YYYYMMDDHHMMSSZ (leap second is rejected), all other ASN.1 time format -are not allowed. If B is NULL this function performs a format check -on B only. +are not allowed. If I is NULL this function performs a format check +on I only. -The ASN1_TIME_normalize() function converts an ASN1_GENERALIZEDTIME or -ASN1_UTCTIME into a time value that can be used in a certificate. It +The ASN1_TIME_normalize() function converts an B or +B into a time value that can be used in a certificate. It should be used after the ASN1_TIME_set_string() functions and before ASN1_TIME_print() functions to get consistent (i.e. GMT) results. The ASN1_TIME_check(), ASN1_UTCTIME_check() and ASN1_GENERALIZEDTIME_check() -functions check the syntax of the time structure B. +functions check the syntax of the time structure I. The ASN1_TIME_print(), ASN1_UTCTIME_print() and ASN1_GENERALIZEDTIME_print() -functions print the time structure B to BIO B in human readable +functions print the time structure I to BIO I in human readable format. It will be of the format MMM DD HH:MM:SS YYYY [GMT], for example "Feb 3 00:55:52 2015 GMT" it does not include a newline. If the time structure has invalid format it prints out "Bad time value" and returns an error. The output for generalized time may include a fractional part following the second. -ASN1_TIME_to_tm() converts the time B to the standard B structure. -If B is NULL, then the current time is converted. The output time is GMT. -The B, B, B, B, B, B, -B and B fields of B structure are set to proper values, -whereas all other fields are set to 0. If B is NULL this function performs -a format check on B only. If B is in Generalized format with fractional +ASN1_TIME_to_tm() converts the time I to the standard I structure. +If I is NULL, then the current time is converted. The output time is GMT. +The I, I, I, I, I, I, +I and I fields of I structure are set to proper values, +whereas all other fields are set to 0. If I is NULL this function performs +a format check on I only. If I is in Generalized format with fractional seconds, e.g. YYYYMMDDHHMMSS.SSSZ, the fractional seconds will be lost while -converting B to B structure. +converting I to I structure. -ASN1_TIME_diff() sets B<*pday> and B<*psec> to the time difference between -B and B. If B represents a time later than B then -one or both (depending on the time difference) of B<*pday> and B<*psec> -will be positive. If B represents a time earlier than B then -one or both of B<*pday> and B<*psec> will be negative. If B and B -represent the same time then B<*pday> and B<*psec> will both be zero. -If both B<*pday> and B<*psec> are non-zero they will always have the same -sign. The value of B<*psec> will always be less than the number of seconds -in a day. If B or B is NULL the current time is used. +ASN1_TIME_diff() sets I<*pday> and I<*psec> to the time difference between +I and I. If I represents a time later than I then +one or both (depending on the time difference) of I<*pday> and I<*psec> +will be positive. If I represents a time earlier than I then +one or both of I<*pday> and I<*psec> will be negative. If I and I +represent the same time then I<*pday> and I<*psec> will both be zero. +If both I<*pday> and I<*psec> are non-zero they will always have the same +sign. The value of I<*psec> will always be less than the number of seconds +in a day. If I or I is NULL the current time is used. The ASN1_TIME_cmp_time_t() and ASN1_UTCTIME_cmp_time_t() functions compare -the two times represented by the time structure B and the time_t B. +the two times represented by the time structure I and the time_t I. The ASN1_TIME_compare() function compares the two times represented by the -time structures B and B. +time structures I and I. -The ASN1_TIME_to_generalizedtime() function converts an ASN1_TIME to an -ASN1_GENERALIZEDTIME, regardless of year. If either B or -B<*out> are NULL, then a new object is allocated and must be freed after use. +The ASN1_TIME_to_generalizedtime() function converts an B to an +B, regardless of year. If either I or +I<*out> are NULL, then a new object is allocated and must be freed after use. =head1 NOTES -The ASN1_TIME structure corresponds to the ASN.1 structure B is before B, 0 if B equals B, or 1 if B is after B. -2 is returned on error. +ASN1_TIME_compare() returns -1 if I is before I, 0 if I equals I, +or 1 if I is after I. -2 is returned on error. -ASN1_TIME_to_generalizedtime() returns a pointer to -the appropriate time structure on success or NULL if an error occurred. +ASN1_TIME_to_generalizedtime() returns a pointer to the appropriate time +structure on success or NULL if an error occurred. =head1 EXAMPLES diff --git a/doc/man3/ASN1_TYPE_get.pod b/doc/man3/ASN1_TYPE_get.pod index 573fc990d8..9f175f7336 100644 --- a/doc/man3/ASN1_TYPE_get.pod +++ b/doc/man3/ASN1_TYPE_get.pod @@ -20,44 +20,45 @@ functions =head1 DESCRIPTION -These functions allow an ASN1_TYPE structure to be manipulated. The -ASN1_TYPE structure can contain any ASN.1 type or constructed type +These functions allow an B structure to be manipulated. The +B structure can contain any ASN.1 type or constructed type such as a SEQUENCE: it is effectively equivalent to the ASN.1 ANY type. -ASN1_TYPE_get() returns the type of B. +ASN1_TYPE_get() returns the type of I. -ASN1_TYPE_set() sets the value of B to B and B. This -function uses the pointer B internally so it must B be freed +ASN1_TYPE_set() sets the value of I to I and I. This +function uses the pointer I internally so it must B be freed up after the call. -ASN1_TYPE_set1() sets the value of B to B a copy of B. +ASN1_TYPE_set1() sets the value of I to I a copy of I. -ASN1_TYPE_cmp() compares ASN.1 types B and B and returns 0 if +ASN1_TYPE_cmp() compares ASN.1 types I and I and returns 0 if they are identical and non-zero otherwise. ASN1_TYPE_unpack_sequence() attempts to parse the SEQUENCE present in -B using the ASN.1 structure B. If successful it returns a pointer -to the ASN.1 structure corresponding to B which must be freed by the +I using the ASN.1 structure I. If successful it returns a pointer +to the ASN.1 structure corresponding to I which must be freed by the caller. If it fails it return NULL. -ASN1_TYPE_pack_sequence() attempts to encode the ASN.1 structure B -corresponding to B into an ASN1_TYPE. If successful the encoded -ASN1_TYPE is returned. If B and B<*t> are not NULL the encoded type -is written to B overwriting any existing data. If B is not NULL -but B<*t> is NULL the returned ASN1_TYPE is written to B<*t>. +ASN1_TYPE_pack_sequence() attempts to encode the ASN.1 structure I +corresponding to I into an B. If successful the encoded +B is returned. If I and I<*t> are not NULL the encoded type +is written to I overwriting any existing data. If I is not NULL +but I<*t> is NULL the returned B is written to I<*t>. =head1 NOTES -The type and meaning of the B parameter for ASN1_TYPE_set() and -ASN1_TYPE_set1() is determined by the B parameter. -If B is V_ASN1_NULL B is ignored. If B is V_ASN1_BOOLEAN -then the boolean is set to TRUE if B is not NULL. If B is -V_ASN1_OBJECT then value is an ASN1_OBJECT structure. Otherwise B -is and ASN1_STRING structure. If B corresponds to a primitive type -(or a string type) then the contents of the ASN1_STRING contain the content -octets of the type. If B corresponds to a constructed type or -a tagged type (V_ASN1_SEQUENCE, V_ASN1_SET or V_ASN1_OTHER) then the -ASN1_STRING contains the entire ASN.1 encoding verbatim (including tag and +The type and meaning of the I parameter for ASN1_TYPE_set() and +ASN1_TYPE_set1() is determined by the I parameter. +If I is B I is ignored. If I is +B +then the boolean is set to TRUE if I is not NULL. If I is +B then value is an B structure. Otherwise I +is and B structure. If I corresponds to a primitive type +(or a string type) then the contents of the B contain the content +octets of the type. If I corresponds to a constructed type or +a tagged type (B, B or B) then the +B contains the entire ASN.1 encoding verbatim (including tag and length octets). ASN1_TYPE_cmp() may not return zero if two types are equivalent but have @@ -74,7 +75,7 @@ applications should handle the case of two absent values separately. =head1 RETURN VALUES -ASN1_TYPE_get() returns the type of the ASN1_TYPE argument. +ASN1_TYPE_get() returns the type of the B argument. ASN1_TYPE_set() does not return a value. @@ -85,7 +86,7 @@ ASN1_TYPE_cmp() returns 0 if the types are identical and non-zero otherwise. ASN1_TYPE_unpack_sequence() returns a pointer to an ASN.1 structure or NULL on failure. -ASN1_TYPE_pack_sequence() return an ASN1_TYPE structure if it succeeds or +ASN1_TYPE_pack_sequence() return an B structure if it succeeds or NULL on failure. =head1 COPYRIGHT diff --git a/doc/man3/ASN1_generate_nconf.pod b/doc/man3/ASN1_generate_nconf.pod index 0ea71d2b3e..a507e444c6 100644 --- a/doc/man3/ASN1_generate_nconf.pod +++ b/doc/man3/ASN1_generate_nconf.pod @@ -16,29 +16,29 @@ ASN1_generate_nconf, ASN1_generate_v3 - ASN1 generation functions These functions generate the ASN1 encoding of a string in an B structure. -B contains the string to encode B or B contains +I contains the string to encode I or I contains the optional configuration information where additional strings -will be read from. B will typically come from a config -file whereas B is obtained from an B structure +will be read from. I will typically come from a config +file whereas I is obtained from an B structure which will typically be used by X509 v3 certificate extension -functions. B or B can be set to B if no additional +functions. I or I can be set to NULL if no additional configuration will be used. =head1 GENERATION STRING FORMAT -The actual data encoded is determined by the string B and +The actual data encoded is determined by the string I and the configuration information. The general format of the string is: =over 4 -=item B<[modifier,]type[:value]> +=item [I,]I[:I] =back That is zero or more comma separated modifiers followed by a type -followed by an optional colon and a value. The formats of B, -B and B are explained below. +followed by an optional colon and a value. The formats of I, +I and I are explained below. =head2 Supported Types @@ -49,18 +49,18 @@ only the B format is permissible. =item B, B -This encodes a boolean type. The B string is mandatory and +This encodes a boolean type. The I string is mandatory and should be B or B. Additionally B, B, B, B, B, B, B, B, B, B, B and B are acceptable. =item B -Encode the B type, the B string must not be present. +Encode the B type, the I string must not be present. =item B, B -Encodes an ASN1 B type. The B string represents +Encodes an ASN1 B type. The I string represents the value of the integer, it can be prefaced by a minus sign and is normally interpreted as a decimal value unless the prefix B<0x> is included. @@ -72,7 +72,7 @@ B. =item B, B -Encodes an ASN1 B, the B string can be +Encodes an ASN1 B, the I string can be a short name, a long name or numerical format. =item B, B @@ -87,15 +87,15 @@ the format B. =item B, B -Encodes an ASN1 B. B represents the contents +Encodes an ASN1 B. I represents the contents of this structure, the format strings B and B can be -used to specify the format of B. +used to specify the format of I. =item B, B -Encodes an ASN1 B. B represents the contents +Encodes an ASN1 B. I represents the contents of this structure, the format strings B, B and B -can be used to specify the format of B. +can be used to specify the format of I. If the format is anything other than B the number of unused bits is set to zero. @@ -106,15 +106,15 @@ B, B, B, B, B, B, B, B, B -These encode the corresponding string types. B represents the +These encode the corresponding string types. I represents the contents of this structure. The format can be B or B. =item B, B, B -Formats the result as an ASN1 B or B type. B +Formats the result as an ASN1 B or B type. I should be a section name which will contain the contents. The field names in the section are ignored and the values are in the -generated string format. If B is absent then an empty SEQUENCE +generated string format. If I is absent then an empty SEQUENCE will be encoded. =back @@ -165,7 +165,7 @@ bits are zero. =head1 RETURN VALUES ASN1_generate_nconf() and ASN1_generate_v3() return the encoded -data as an B structure or B if an error occurred. +data as an B structure or NULL if an error occurred. The error codes that can be obtained by L.