pkix.h
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:553k
源码类别:

CA认证

开发平台:

WINDOWS

  1.  *  NSS_ERROR_NO_MEMORY
  2.  *
  3.  * Return value:
  4.  *  A valid NSSBER pointer upon success
  5.  *  NULL upon failure
  6.  */
  7. NSS_EXTERN NSSBER *
  8. nssPKIXOrganizationalUnitName_Encode
  9. (
  10.   NSSPKIXOrganizationalUnitName *name,
  11.   NSSASN1EncodingType encoding,
  12.   NSSBER *rvOpt,
  13.   NSSArena *arenaOpt
  14. );
  15. /*
  16.  * BuiltInDomainDefinedAttributes
  17.  *
  18.  * -- fgmr comments --
  19.  *
  20.  * From RFC 2459:
  21.  *
  22.  *  BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
  23.  *                                  (1..ub-domain-defined-attributes) OF
  24.  *                                  BuiltInDomainDefinedAttribute
  25.  *
  26.  * The private calls for this type:
  27.  *
  28.  *  nssPKIXBuiltInDomainDefinedAttributes_Decode
  29.  *  nssPKIXBuiltInDomainDefinedAttributes_Create
  30.  *  nssPKIXBuiltInDomainDefinedAttributes_Destroy
  31.  *  nssPKIXBuiltInDomainDefinedAttributes_Encode
  32.  *  nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttributeCount
  33.  *  nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttributes
  34.  *  nssPKIXBuiltInDomainDefinedAttributes_SetBuiltIndomainDefinedAttributes
  35.  *  nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttribute
  36.  *  nssPKIXBuiltInDomainDefinedAttributes_SetBuiltIndomainDefinedAttribute
  37.  *  nssPKIXBuiltInDomainDefinedAttributes_InsertBuiltIndomainDefinedAttribute
  38.  *  nssPKIXBuiltInDomainDefinedAttributes_AppendBuiltIndomainDefinedAttribute
  39.  *  nssPKIXBuiltInDomainDefinedAttributes_RemoveBuiltIndomainDefinedAttribute
  40.  *  nssPKIXBuiltInDomainDefinedAttributes_Equal
  41.  *  nssPKIXBuiltInDomainDefinedAttributes_Duplicate
  42.  * 
  43.  * In debug builds, the following call is available:
  44.  *
  45.  *  nssPKIXBuiltInDomainDefinedAttributes_verifyPointer
  46.  *
  47.  */
  48. /*
  49.  * nssPKIXBuiltInDomainDefinedAttributes_Decode
  50.  *
  51.  * -- fgmr comments --
  52.  *
  53.  * The error may be one of the following values:
  54.  *  NSS_ERROR_INVALID_BER
  55.  *  NSS_ERROR_NO_MEMORY
  56.  *  NSS_ERROR_INVALID_ARENA
  57.  * 
  58.  * Return value:
  59.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttributes
  60.  *      upon success
  61.  *  NULL upon failure
  62.  */
  63. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttributes *
  64. nssPKIXBuiltInDomainDefinedAttributes_Decode
  65. (
  66.   NSSArena *arenaOpt,
  67.   NSSBER *ber
  68. );
  69. /*
  70.  * nssPKIXBuiltInDomainDefinedAttributes_Create
  71.  *
  72.  * -- fgmr comments --
  73.  *
  74.  * The error may be one of the following values:
  75.  *  NSS_ERROR_NO_MEMORY
  76.  *  NSS_ERROR_INVALID_ARENA
  77.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  78.  * 
  79.  * Return value:
  80.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttributes
  81.  *      upon success
  82.  *  NULL upon failure
  83.  */
  84. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttributes *
  85. nssPKIXBuiltInDomainDefinedAttributes_Create
  86. (
  87.   NSSArena *arenaOpt,
  88.   NSSPKIXBuiltInDomainDefinedAttribute *bidda1,
  89.   ...
  90. );
  91. /*
  92.  * nssPKIXBuiltInDomainDefinedAttributes_Destroy
  93.  *
  94.  * -- fgmr comments --
  95.  *
  96.  * The error may be one of the following values:
  97.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  98.  * 
  99.  * Return value:
  100.  *  PR_SUCCESS upon success
  101.  *  PR_FAILURE upon failure
  102.  */
  103. NSS_EXTERN PRStatus
  104. nssPKIXBuiltInDomainDefinedAttributes_Destroy
  105. (
  106.   NSSPKIXBuiltInDomainDefinedAttributes *biddas
  107. );
  108. /*
  109.  * nssPKIXBuiltInDomainDefinedAttributes_Encode
  110.  *
  111.  * -- fgmr comments --
  112.  *
  113.  * The error may be one of the following values:
  114.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  115.  *  NSS_ERROR_INVALID_ARENA
  116.  *  NSS_ERROR_NO_MEMORY
  117.  * 
  118.  * Return value:
  119.  *  A valid NSSBER pointer upon success
  120.  *  NULL upon failure
  121.  */
  122. NSS_EXTERN NSSBER *
  123. nssPKIXBuiltInDomainDefinedAttributes_Encode
  124. (
  125.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  126.   NSSASN1EncodingType encoding,
  127.   NSSBER *rvOpt,
  128.   NSSArena *arenaOpt
  129. );
  130. /*
  131.  * nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttributeCount
  132.  *
  133.  * -- fgmr comments --
  134.  *
  135.  * The error may be one of the following values:
  136.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  137.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  138.  * 
  139.  * Return value:
  140.  *  Nonnegative integer upon success
  141.  *  -1 upon failure.
  142.  */
  143. NSS_EXTERN PRInt32
  144. nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttributeCount
  145. (
  146.   NSSPKIXBuiltInDomainDefinedAttributes *biddas
  147. );
  148. /*
  149.  * nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttributes
  150.  *
  151.  * -- fgmr comments --
  152.  *
  153.  * The error may be one of the following values:
  154.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  155.  *  NSS_ERROR_INVALID_ARENA
  156.  *  NSS_ERROR_NO_MEMORY
  157.  *  NSS_ERROR_ARRAY_TOO_SMALL
  158.  * 
  159.  * Return value:
  160.  *  A valid pointer to an array of NSSPKIXBuiltInDomainDefinedAttribute
  161.  *      pointers upon success
  162.  *  NULL upon failure
  163.  */
  164. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttribute **
  165. nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttributes
  166. (
  167.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  168.   NSSPKIXBuiltInDomainDefinedAttribut *rvOpt[],
  169.   PRInt32 limit,
  170.   NSSArena *arenaOpt
  171. );
  172. /*
  173.  * nssPKIXBuiltInDomainDefinedAttributes_SetBuiltIndomainDefinedAttributes
  174.  *
  175.  * -- fgmr comments --
  176.  *
  177.  * The error may be one of the following values:
  178.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  179.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  180.  *  NSS_ERROR_NO_MEMORY
  181.  * 
  182.  * Return value:
  183.  *  PR_SUCCESS upon success
  184.  *  PR_FAILURE upon failure
  185.  */
  186. NSS_EXTERN PRStatus
  187. nssPKIXBuiltInDomainDefinedAttributes_SetBuiltIndomainDefinedAttributes
  188. (
  189.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  190.   NSSPKIXBuiltInDomainDefinedAttribut *bidda[],
  191.   PRInt32 count
  192. );
  193. /*
  194.  * nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttribute
  195.  *
  196.  * -- fgmr comments --
  197.  *
  198.  * The error may be one of the following values:
  199.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  200.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  201.  *  NSS_ERROR_NO_MEMORY
  202.  *  NSS_ERROR_INVALID_ARENA
  203.  * 
  204.  * Return value:
  205.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttribute
  206.  *      upon success
  207.  *  NULL upon failure
  208.  */
  209. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttribute *
  210. nssPKIXBuiltInDomainDefinedAttributes_GetBuiltIndomainDefinedAttribute
  211. (
  212.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  213.   PRInt32 i,
  214.   NSSArena *arenaOpt
  215. );
  216. /*
  217.  * nssPKIXBuiltInDomainDefinedAttributes_SetBuiltIndomainDefinedAttribute
  218.  *
  219.  * -- fgmr comments --
  220.  *
  221.  * The error may be one of the following values:
  222.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  223.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  224.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  225.  *  NSS_ERROR_NO_MEMORY
  226.  * 
  227.  * Return value:
  228.  *  PR_SUCCESS upon success
  229.  *  PR_FAILURE upon failure
  230.  */
  231. NSS_EXTERN PRStatus
  232. nssPKIXBuiltInDomainDefinedAttributes_SetBuiltIndomainDefinedAttribute
  233. (
  234.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  235.   PRInt32 i,
  236.   NSSPKIXBuiltInDomainDefinedAttribute *bidda
  237. );
  238. /*
  239.  * nssPKIXBuiltInDomainDefinedAttributes_InsertBuiltIndomainDefinedAttribute
  240.  *
  241.  * -- fgmr comments --
  242.  *
  243.  * The error may be one of the following values:
  244.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  245.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  246.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  247.  *  NSS_ERROR_NO_MEMORY
  248.  * 
  249.  * Return value:
  250.  *  PR_SUCCESS upon success
  251.  *  PR_FAILURE upon failure
  252.  */
  253. NSS_EXTERN PRStatus
  254. nssPKIXBuiltInDomainDefinedAttributes_InsertBuiltIndomainDefinedAttribute
  255. (
  256.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  257.   PRInt32 i,
  258.   NSSPKIXBuiltInDomainDefinedAttribute *bidda
  259. );
  260. /*
  261.  * nssPKIXBuiltInDomainDefinedAttributes_AppendBuiltIndomainDefinedAttribute
  262.  *
  263.  * -- fgmr comments --
  264.  *
  265.  * The error may be one of the following values:
  266.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  267.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  268.  *  NSS_ERROR_NO_MEMORY
  269.  * 
  270.  * Return value:
  271.  *  PR_SUCCESS upon success
  272.  *  PR_FAILURE upon failure
  273.  */
  274. NSS_EXTERN PRStatus
  275. nssPKIXBuiltInDomainDefinedAttributes_AppendBuiltIndomainDefinedAttribute
  276. (
  277.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  278.   NSSPKIXBuiltInDomainDefinedAttribute *bidda
  279. );
  280. /*
  281.  * nssPKIXBuiltInDomainDefinedAttributes_RemoveBuiltIndomainDefinedAttribute
  282.  *
  283.  * -- fgmr comments --
  284.  *
  285.  * The error may be one of the following values:
  286.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  287.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  288.  * 
  289.  * Return value:
  290.  *  PR_SUCCESS upon success
  291.  *  PR_FAILURE upon failure
  292.  */
  293. NSS_EXTERN PRStatus
  294. nssPKIXBuiltInDomainDefinedAttributes_RemoveBuiltIndomainDefinedAttribute
  295. (
  296.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  297.   PRInt32 i
  298. );
  299. /*
  300.  * nssPKIXBuiltInDomainDefinedAttributes_FindBuiltIndomainDefinedAttribute
  301.  *
  302.  * -- fgmr comments --
  303.  *
  304.  * The error may be one of the following values:
  305.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  306.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  307.  * 
  308.  * Return value:
  309.  *  The index of the specified revoked certificate upon success
  310.  *  -1 upon failure
  311.  */
  312. NSS_EXTERN PRInt32
  313. nssPKIXBuiltInDomainDefinedAttributes_FindBuiltIndomainDefinedAttribute
  314. (
  315.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  316.   NSSPKIXBuiltInDomainDefinedAttribute *bidda
  317. );
  318. /*
  319.  * nssPKIXBuiltInDomainDefinedAttributes_Equal
  320.  *
  321.  * -- fgmr comments --
  322.  *
  323.  * The error may be one of the following values:
  324.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  325.  * 
  326.  * Return value:
  327.  *  PR_TRUE if the two objects have equal values
  328.  *  PR_FALSE otherwise
  329.  *  PR_FALSE upon error
  330.  */
  331. NSS_EXTERN PRBool
  332. nssPKIXBuiltInDomainDefinedAttributes_Equal
  333. (
  334.   NSSPKIXBuiltInDomainDefinedAttributes *biddas1,
  335.   NSSPKIXBuiltInDomainDefinedAttributes *biddas2,
  336.   PRStatus *statusOpt
  337. );
  338. /*
  339.  * nssPKIXBuiltInDomainDefinedAttributes_Duplicate
  340.  *
  341.  * -- fgmr comments --
  342.  *
  343.  * The error may be one of the following values:
  344.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  345.  *  NSS_ERROR_INVALID_ARENA
  346.  *  NSS_ERROR_NO_MEMORY
  347.  * 
  348.  * Return value:
  349.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttributes
  350.  *      upon success
  351.  *  NULL upon failure
  352.  */
  353. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttributes *
  354. nssPKIXBuiltInDomainDefinedAttributes_Duplicate
  355. (
  356.   NSSPKIXBuiltInDomainDefinedAttributes *biddas,
  357.   NSSArena *arenaOpt
  358. );
  359. #ifdef DEBUG
  360. /*
  361.  * nssPKIXBuiltInDomainDefinedAttributes_verifyPointer
  362.  *
  363.  * This method is only present in debug builds.
  364.  *
  365.  * If the specified pointer is a valid pointer to an NSSPKIXBuiltInDomainDefinedAttributes
  366.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  367.  * put an error on the error stack and return PR_FAILURE.
  368.  *
  369.  * The error may be one of the following values:
  370.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTES
  371.  *
  372.  * Return value:
  373.  *  PR_SUCCESS if the pointer is valid
  374.  *  PR_FAILURE if it isn't
  375.  */
  376. NSS_EXTERN PRStatus
  377. nssPKIXBuiltInDomainDefinedAttributes_verifyPointer
  378. (
  379.   NSSPKIXBuiltInDomainDefinedAttributes *p
  380. );
  381. #endif /* DEBUG */
  382. /*
  383.  * BuiltInDomainDefinedAttribute
  384.  *
  385.  * -- fgmr comments --
  386.  *
  387.  * From RFC 2459:
  388.  *
  389.  *  BuiltInDomainDefinedAttribute ::= SEQUENCE {
  390.  *     type PrintableString (SIZE
  391.  *                          (1..ub-domain-defined-attribute-type-length)),
  392.  *     value PrintableString (SIZE
  393.  *                          (1..ub-domain-defined-attribute-value-length))}
  394.  *
  395.  * The private calls for this type:
  396.  *
  397.  *  nssPKIXBuiltInDomainDefinedAttribute_Decode
  398.  *  nssPKIXBuiltInDomainDefinedAttribute_Create
  399.  *  nssPKIXBuiltInDomainDefinedAttribute_Destroy
  400.  *  nssPKIXBuiltInDomainDefinedAttribute_Encode
  401.  *  nssPKIXBuiltInDomainDefinedAttribute_GetType
  402.  *  nssPKIXBuiltInDomainDefinedAttribute_SetType
  403.  *  nssPKIXBuiltInDomainDefinedAttribute_GetValue
  404.  *  nssPKIXBuiltInDomainDefinedAttribute_SetValue
  405.  *  nssPKIXBuiltInDomainDefinedAttribute_Equal
  406.  *  nssPKIXBuiltInDomainDefinedAttribute_Duplicate
  407.  * 
  408.  * In debug builds, the following call is available:
  409.  *
  410.  *  nssPKIXBuiltInDomainDefinedAttribute_verifyPointer
  411.  *
  412.  */
  413. /*
  414.  * nssPKIXBuiltInDomainDefinedAttribute_Decode
  415.  *
  416.  * -- fgmr comments --
  417.  *
  418.  * The error may be one of the following values:
  419.  *  NSS_ERROR_INVALID_BER
  420.  *  NSS_ERROR_NO_MEMORY
  421.  *  NSS_ERROR_INVALID_ARENA
  422.  * 
  423.  * Return value:
  424.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttribute
  425.  *      upon success
  426.  *  NULL upon failure
  427.  */
  428. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttribute *
  429. nssPKIXBuiltInDomainDefinedAttribute_Decode
  430. (
  431.   NSSArena *arenaOpt,
  432.   NSSBER *ber
  433. );
  434. /*
  435.  * nssPKIXBuiltInDomainDefinedAttribute_Create
  436.  *
  437.  * -- fgmr comments --
  438.  *
  439.  * The error may be one of the following values:
  440.  *  NSS_ERROR_NO_MEMORY
  441.  *  NSS_ERROR_INVALID_ARENA
  442.  *  NSS_ERROR_INVALID_STRING
  443.  * 
  444.  * Return value:
  445.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttribute
  446.  *      upon success
  447.  *  NULL upon failure
  448.  */
  449. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttribute *
  450. nssPKIXBuiltInDomainDefinedAttribute_Create
  451. (
  452.   NSSArena *arenaOpt,
  453.   NSSUTF8 *type,
  454.   NSSUTF8 *value
  455. );
  456. /*
  457.  * nssPKIXBuiltInDomainDefinedAttribute_Destroy
  458.  *
  459.  * -- fgmr comments --
  460.  *
  461.  * The error may be one of the following values:
  462.  *  NSS_ERROR_INVALID_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  463.  * 
  464.  * Return value:
  465.  *  PR_SUCCESS upon success
  466.  *  PR_FAILURE upon failure
  467.  */
  468. NSS_EXTERN PRStatus
  469. nssPKIXBuiltInDomainDefinedAttribute_Destroy
  470. (
  471.   NSSPKIXBuiltInDomainDefinedAttribute *bidda
  472. );
  473. /*
  474.  * nssPKIXBuiltInDomainDefinedAttribute_Encode
  475.  *
  476.  * -- fgmr comments --
  477.  *
  478.  * The error may be one of the following values:
  479.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  480.  *  NSS_ERROR_INVALID_ARENA
  481.  *  NSS_ERROR_NO_MEMORY
  482.  * 
  483.  * Return value:
  484.  *  A valid NSSBER pointer upon success
  485.  *  NULL upon failure
  486.  */
  487. NSS_EXTERN NSSBER *
  488. nssPKIXBuiltInDomainDefinedAttribute_Encode
  489. (
  490.   NSSPKIXBuiltInDomainDefinedAttribute *bidda,
  491.   NSSASN1EncodingType encoding,
  492.   NSSBER *rvOpt,
  493.   NSSArena *arenaOpt
  494. );
  495. /*
  496.  * nssPKIXBuiltInDomainDefinedAttribute_GetType
  497.  *
  498.  * -- fgmr comments --
  499.  *
  500.  * The error may be one of the following values:
  501.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  502.  *  NSS_ERROR_INVALID_ARENA
  503.  *  NSS_ERROR_NO_MEMORY
  504.  * 
  505.  * Return value:
  506.  *  A valid NSSUTF8 pointer upon success
  507.  *  NULL upon failure
  508.  */
  509. NSS_EXTERN NSSUTF8 *
  510. nssPKIXBuiltInDomainDefinedAttribute_GetType
  511. (
  512.   NSSPKIXBuiltInDomainDefinedAttribute *bidda,
  513.   NSSArena *arenaOpt
  514. );
  515. /*
  516.  * nssPKIXBuiltInDomainDefinedAttribute_SetType
  517.  *
  518.  * -- fgmr comments --
  519.  *
  520.  * The error may be one of the following values:
  521.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  522.  *  NSS_ERROR_NO_MEMORY
  523.  * 
  524.  * Return value:
  525.  *  PR_SUCCESS upon success
  526.  *  PR_FAILURE upon failure
  527.  */
  528. NSS_EXTERN PRStatus
  529. nssPKIXBuiltInDomainDefinedAttribute_SetType
  530. (
  531.   NSSPKIXBuiltInDomainDefinedAttribute *bidda,
  532.   NSSUTF8 *type
  533. );
  534. /*
  535.  * nssPKIXBuiltInDomainDefinedAttribute_GetValue
  536.  *
  537.  * -- fgmr comments --
  538.  *
  539.  * The error may be one of the following values:
  540.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  541.  *  NSS_ERROR_INVALID_ARENA
  542.  *  NSS_ERROR_NO_MEMORY
  543.  * 
  544.  * Return value:
  545.  *  A valid NSSUTF8 pointer upon success
  546.  *  NULL upon failure
  547.  */
  548. NSS_EXTERN NSSUTF8 *
  549. nssPKIXBuiltInDomainDefinedAttribute_GetValue
  550. (
  551.   NSSPKIXBuiltInDomainDefinedAttribute *bidda,
  552.   NSSArena *arenaOpt
  553. );
  554. /*
  555.  * nssPKIXBuiltInDomainDefinedAttribute_SetValue
  556.  *
  557.  * -- fgmr comments --
  558.  *
  559.  * The error may be one of the following values:
  560.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  561.  *  NSS_ERROR_NO_MEMORY
  562.  * 
  563.  * Return value:
  564.  *  PR_SUCCESS upon success
  565.  *  PR_FAILURE upon failure
  566.  */
  567. NSS_EXTERN PRStatus
  568. nssPKIXBuiltInDomainDefinedAttribute_SetValue
  569. (
  570.   NSSPKIXBuiltInDomainDefinedAttribute *bidda,
  571.   NSSUTF8 *value
  572. );
  573. /*
  574.  * nssPKIXBuiltInDomainDefinedAttribute_Equal
  575.  *
  576.  * -- fgmr comments --
  577.  *
  578.  * The error may be one of the following values:
  579.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  580.  * 
  581.  * Return value:
  582.  *  PR_TRUE if the two objects have equal values
  583.  *  PR_FALSE otherwise
  584.  *  PR_FALSE upon error
  585.  */
  586. NSS_EXTERN PRBool
  587. nssPKIXBuiltInDomainDefinedAttribute_Equal
  588. (
  589.   NSSPKIXBuiltInDomainDefinedAttribute *bidda1,
  590.   NSSPKIXBuiltInDomainDefinedAttribute *bidda2,
  591.   PRStatus *statusOpt
  592. );
  593. /*
  594.  * nssPKIXBuiltInDomainDefinedAttribute_Duplicate
  595.  *
  596.  * -- fgmr comments --
  597.  *
  598.  * The error may be one of the following values:
  599.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  600.  *  NSS_ERROR_INVALID_ARENA
  601.  *  NSS_ERROR_NO_MEMORY
  602.  * 
  603.  * Return value:
  604.  *  A valid pointer to an NSSPKIXBuiltInDomainDefinedAttribute
  605.  *      upon success
  606.  *  NULL upon failure
  607.  */
  608. NSS_EXTERN NSSPKIXBuiltInDomainDefinedAttribute *
  609. nssPKIXBuiltInDomainDefinedAttribute_Duplicate
  610. (
  611.   NSSPKIXBuiltInDomainDefinedAttribute *bidda,
  612.   NSSArena *arenaOpt
  613. );
  614. #ifdef DEBUG
  615. /*
  616.  * nssPKIXBuiltInDomainDefinedAttribute_verifyPointer
  617.  *
  618.  * This method is only present in debug builds.
  619.  *
  620.  * If the specified pointer is a valid pointer to an NSSPKIXBuiltInDomainDefinedAttribute
  621.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  622.  * put an error on the error stack and return PR_FAILURE.
  623.  *
  624.  * The error may be one of the following values:
  625.  *  NSS_ERROR_INVALID_PKIX_BUILT_IN_DOMAIN_DEFINED_ATTRIBUTE
  626.  *
  627.  * Return value:
  628.  *  PR_SUCCESS if the pointer is valid
  629.  *  PR_FAILURE if it isn't
  630.  */
  631. NSS_EXTERN PRStatus
  632. nssPKIXBuiltInDomainDefinedAttribute_verifyPointer
  633. (
  634.   NSSPKIXBuiltInDomainDefinedAttribute *p
  635. );
  636. #endif /* DEBUG */
  637. /*
  638.  * ExtensionAttributes
  639.  *
  640.  * -- fgmr comments --
  641.  *
  642.  * From RFC 2459:
  643.  *
  644.  *  ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF
  645.  *                          ExtensionAttribute
  646.  *
  647.  * The private calls for this type:
  648.  *
  649.  *  nssPKIXExtensionAttributes_Decode
  650.  *  nssPKIXExtensionAttributes_Create
  651.  *  nssPKIXExtensionAttributes_Destroy
  652.  *  nssPKIXExtensionAttributes_Encode
  653.  *  nssPKIXExtensionAttributes_GetExtensionAttributeCount
  654.  *  nssPKIXExtensionAttributes_GetExtensionAttributes
  655.  *  nssPKIXExtensionAttributes_SetExtensionAttributes
  656.  *  nssPKIXExtensionAttributes_GetExtensionAttribute
  657.  *  nssPKIXExtensionAttributes_SetExtensionAttribute
  658.  *  nssPKIXExtensionAttributes_InsertExtensionAttribute
  659.  *  nssPKIXExtensionAttributes_AppendExtensionAttribute
  660.  *  nssPKIXExtensionAttributes_RemoveExtensionAttribute
  661.  *  nssPKIXExtensionAttributes_FindExtensionAttribute
  662.  *  nssPKIXExtensionAttributes_Equal
  663.  *  nssPKIXExtensionAttributes_Duplicate
  664.  * 
  665.  * In debug builds, the following call is available:
  666.  *
  667.  *  nssPKIXExtensionAttributes_verifyPointer
  668.  *
  669.  */
  670. /*
  671.  * nssPKIXExtensionAttributes_Decode
  672.  *
  673.  * -- fgmr comments --
  674.  *
  675.  * The error may be one of the following values:
  676.  *  NSS_ERROR_INVALID_BER
  677.  *  NSS_ERROR_NO_MEMORY
  678.  *  NSS_ERROR_INVALID_ARENA
  679.  * 
  680.  * Return value:
  681.  *  A valid pointer to an NSSPKIXExtensionAttributes upon success
  682.  *  NULL upon failure
  683.  */
  684. NSS_EXTERN NSSPKIXExtensionAttributes *
  685. nssPKIXExtensionAttributes_Decode
  686. (
  687.   NSSArena *arenaOpt,
  688.   NSSBER *ber
  689. );
  690. /*
  691.  * nssPKIXExtensionAttributes_Create
  692.  *
  693.  * -- fgmr comments --
  694.  *
  695.  * The error may be one of the following values:
  696.  *  NSS_ERROR_NO_MEMORY
  697.  *  NSS_ERROR_INVALID_ARENA
  698.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  699.  * 
  700.  * Return value:
  701.  *  A valid pointer to an NSSPKIXExtensionAttributes upon success
  702.  *  NULL upon failure
  703.  */
  704. NSS_EXTERN NSSPKIXExtensionAttributes *
  705. nssPKIXExtensionAttributes_Create
  706. (
  707.   NSSArena *arenaOpt,
  708.   NSSPKIXExtensionAttribute ea1,
  709.   ...
  710. );
  711. /*
  712.  * nssPKIXExtensionAttributes_Destroy
  713.  *
  714.  * -- fgmr comments --
  715.  *
  716.  * The error may be one of the following values:
  717.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  718.  * 
  719.  * Return value:
  720.  *  PR_SUCCESS upon success
  721.  *  PR_FAILURE upon failure
  722.  */
  723. NSS_EXTERN PRStatus
  724. nssPKIXExtensionAttributes_Destroy
  725. (
  726.   NSSPKIXExtensionAttributes *eas
  727. );
  728. /*
  729.  * nssPKIXExtensionAttributes_Encode
  730.  *
  731.  * -- fgmr comments --
  732.  *
  733.  * The error may be one of the following values:
  734.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  735.  *  NSS_ERROR_INVALID_ARENA
  736.  *  NSS_ERROR_NO_MEMORY
  737.  * 
  738.  * Return value:
  739.  *  A valid NSSBER pointer upon success
  740.  *  NULL upon failure
  741.  */
  742. NSS_EXTERN NSSBER *
  743. nssPKIXExtensionAttributes_Encode
  744. (
  745.   NSSPKIXExtensionAttributes *eas
  746.   NSSASN1EncodingType encoding,
  747.   NSSBER *rvOpt,
  748.   NSSArena *arenaOpt
  749. );
  750. /*
  751.  * nssPKIXExtensionAttributes_GetExtensionAttributeCount
  752.  *
  753.  * -- fgmr comments --
  754.  *
  755.  * The error may be one of the following values:
  756.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  757.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  758.  * 
  759.  * Return value:
  760.  *  Nonnegative integer upon success
  761.  *  -1 upon failure.
  762.  */
  763. NSS_EXTERN PRInt32
  764. nssPKIXExtensionAttributes_GetExtensionAttributeCount
  765. (
  766.   NSSPKIXExtensionAttributes *eas
  767. );
  768. /*
  769.  * nssPKIXExtensionAttributes_GetExtensionAttributes
  770.  *
  771.  * -- fgmr comments --
  772.  *
  773.  * The error may be one of the following values:
  774.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  775.  *  NSS_ERROR_INVALID_ARENA
  776.  *  NSS_ERROR_NO_MEMORY
  777.  *  NSS_ERROR_ARRAY_TOO_SMALL
  778.  * 
  779.  * Return value:
  780.  *  A valid pointer to an array of NSSPKIXExtensionAttribute pointers
  781.  *      upon success
  782.  *  NULL upon failure
  783.  */
  784. NSS_EXTERN NSSPKIXExtensionAttribute **
  785. nssPKIXExtensionAttributes_GetExtensionAttributes
  786. (
  787.   NSSPKIXExtensionAttributes *eas,
  788.   NSSPKIXExtensionAttribute *rvOpt[],
  789.   PRInt32 limit,
  790.   NSSArena *arenaOpt
  791. );
  792. /*
  793.  * nssPKIXExtensionAttributes_SetExtensionAttributes
  794.  *
  795.  * -- fgmr comments --
  796.  *
  797.  * The error may be one of the following values:
  798.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  799.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  800.  *  NSS_ERROR_INVALID_POINTER
  801.  * 
  802.  * Return value:
  803.  *  PR_SUCCESS upon success
  804.  *  PR_FAILURE upon failure
  805.  */
  806. NSS_EXTERN PRStatus
  807. nssPKIXExtensionAttributes_SetExtensionAttributes
  808. (
  809.   NSSPKIXExtensionAttributes *eas,
  810.   NSSPKIXExtensionAttribute *ea[],
  811.   PRInt32 count
  812. );
  813. /*
  814.  * nssPKIXExtensionAttributes_GetExtensionAttribute
  815.  *
  816.  * -- fgmr comments --
  817.  *
  818.  * The error may be one of the following values:
  819.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  820.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  821.  *  NSS_ERROR_NO_MEMORY
  822.  *  NSS_ERROR_INVALID_ARENA
  823.  * 
  824.  * Return value:
  825.  *  A valid pointer to an NSSPKIXExtensionAttribute upon success
  826.  *  NULL upon failure
  827.  */
  828. NSS_EXTERN NSSPKIXExtensionAttribute *
  829. nssPKIXExtensionAttributes_GetExtensionAttribute
  830. (
  831.   NSSPKIXExtensionAttributes *eas,
  832.   PRInt32 i,
  833.   NSSArena *arenaOpt
  834. );
  835. /*
  836.  * nssPKIXExtensionAttributes_SetExtensionAttribute
  837.  *
  838.  * -- fgmr comments --
  839.  *
  840.  * The error may be one of the following values:
  841.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  842.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  843.  * 
  844.  * Return value:
  845.  *  PR_SUCCESS upon success
  846.  *  PR_FAILURE upon failure
  847.  */
  848. NSS_EXTERN PRStatus
  849. nssPKIXExtensionAttributes_SetExtensionAttribute
  850. (
  851.   NSSPKIXExtensionAttributes *eas,
  852.   PRInt32 i,
  853.   NSSPKIXExtensionAttribute *ea
  854. );
  855. /*
  856.  * nssPKIXExtensionAttributes_InsertExtensionAttribute
  857.  *
  858.  * -- fgmr comments --
  859.  *
  860.  * The error may be one of the following values:
  861.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  862.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  863.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  864.  *  NSS_ERROR_NO_MEMORY
  865.  * 
  866.  * Return value:
  867.  *  PR_SUCCESS upon success
  868.  *  PR_FAILURE upon failure
  869.  */
  870. NSS_EXTERN PRStatus
  871. nssPKIXExtensionAttributes_InsertExtensionAttribute
  872. (
  873.   NSSPKIXExtensionAttributes *eas,
  874.   PRInt32 i,
  875.   NSSPKIXExtensionAttribute *ea
  876. );
  877. /*
  878.  * nssPKIXExtensionAttributes_AppendExtensionAttribute
  879.  *
  880.  * -- fgmr comments --
  881.  *
  882.  * The error may be one of the following values:
  883.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  884.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  885.  *  NSS_ERROR_NO_MEMORY
  886.  * 
  887.  * Return value:
  888.  *  PR_SUCCESS upon success
  889.  *  PR_FAILURE upon failure
  890.  */
  891. NSS_EXTERN PRStatus
  892. nssPKIXExtensionAttributes_AppendExtensionAttribute
  893. (
  894.   NSSPKIXExtensionAttributes *eas,
  895.   NSSPKIXExtensionAttribute *ea
  896. );
  897. /*
  898.  * nssPKIXExtensionAttributes_RemoveExtensionAttribute
  899.  *
  900.  * -- fgmr comments --
  901.  *
  902.  * The error may be one of the following values:
  903.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  904.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  905.  * 
  906.  * Return value:
  907.  *  PR_SUCCESS upon success
  908.  *  PR_FAILURE upon failure
  909.  */
  910. NSS_EXTERN PRStatus
  911. nssPKIXExtensionAttributes_RemoveExtensionAttribute
  912. (
  913.   NSSPKIXExtensionAttributes *eas,
  914.   PRInt32 i,
  915. );
  916. /*
  917.  * nssPKIXExtensionAttributes_FindExtensionAttribute
  918.  *
  919.  * -- fgmr comments --
  920.  *
  921.  * The error may be one of the following values:
  922.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  923.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  924.  * 
  925.  * Return value:
  926.  *  A nonnegative integer upon success
  927.  *  -1 upon failure.
  928.  */
  929. NSS_EXTERN PRInt32
  930. nssPKIXExtensionAttributes_FindExtensionAttribute
  931. (
  932.   NSSPKIXExtensionAttributes *eas,
  933.   NSSPKIXExtensionAttribute *ea
  934. );
  935. /*
  936.  * nssPKIXExtensionAttributes_Equal
  937.  *
  938.  * -- fgmr comments --
  939.  *
  940.  * The error may be one of the following values:
  941.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  942.  * 
  943.  * Return value:
  944.  *  PR_TRUE if the two objects have equal values
  945.  *  PR_FALSE otherwise
  946.  *  PR_FALSE upon error
  947.  */
  948. NSS_EXTERN PRBool
  949. nssPKIXExtensionAttributes_Equal
  950. (
  951.   NSSPKIXExtensionAttributes *eas1,
  952.   NSSPKIXExtensionAttributes *eas2,
  953.   PRStatus *statusOpt
  954. );
  955. /*
  956.  * nssPKIXExtensionAttributes_Duplicate
  957.  *
  958.  * -- fgmr comments --
  959.  *
  960.  * The error may be one of the following values:
  961.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  962.  * 
  963.  * Return value:
  964.  *  A valid pointer to an NSSPKIXExtensionAttributes upon success
  965.  *  NULL upon failure
  966.  */
  967. NSS_EXTERN NSSPKIXExtensionAttributes *
  968. nssPKIXExtensionAttributes_Duplicate
  969. (
  970.   NSSPKIXExtensionAttributes *eas,
  971.   NSSArena *arenaOpt
  972. );
  973. /*
  974.  * fgmr
  975.  * There should be accessors to search the ExtensionAttributes and
  976.  * return the value for a specific value, etc.
  977.  */
  978. #ifdef DEBUG
  979. /*
  980.  * nssPKIXExtensionAttributes_verifyPointer
  981.  *
  982.  * This method is only present in debug builds.
  983.  *
  984.  * If the specified pointer is a valid pointer to an NSSPKIXExtensionAttributes
  985.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  986.  * put an error on the error stack and return PR_FAILURE.
  987.  *
  988.  * The error may be one of the following values:
  989.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTES
  990.  *
  991.  * Return value:
  992.  *  PR_SUCCESS if the pointer is valid
  993.  *  PR_FAILURE if it isn't
  994.  */
  995. NSS_EXTERN PRStatus
  996. nssPKIXExtensionAttributes_verifyPointer
  997. (
  998.   NSSPKIXExtensionAttributes *p
  999. );
  1000. #endif /* DEBUG */
  1001. /*
  1002.  * ExtensionAttribute
  1003.  *
  1004.  * -- fgmr comments --
  1005.  *
  1006.  * From RFC 2459:
  1007.  *
  1008.  *  ExtensionAttribute ::=  SEQUENCE {
  1009.  *     extension-attribute-type [0] INTEGER (0..ub-extension-attributes),
  1010.  *     extension-attribute-value [1]
  1011.  *                          ANY DEFINED BY extension-attribute-type }
  1012.  *
  1013.  * The private calls for this type:
  1014.  *
  1015.  *  nssPKIXExtensionAttribute_Decode
  1016.  *  nssPKIXExtensionAttribute_Create
  1017.  *  nssPKIXExtensionAttribute_Destroy
  1018.  *  nssPKIXExtensionAttribute_Encode
  1019.  *  nssPKIXExtensionAttribute_GetExtensionsAttributeType
  1020.  *  nssPKIXExtensionAttribute_SetExtensionsAttributeType
  1021.  *  nssPKIXExtensionAttribute_GetExtensionsAttributeValue
  1022.  *  nssPKIXExtensionAttribute_SetExtensionsAttributeValue
  1023.  *  nssPKIXExtensionAttribute_Equal
  1024.  *  nssPKIXExtensionAttribute_Duplicate
  1025.  * 
  1026.  * In debug builds, the following call is available:
  1027.  *
  1028.  *  nssPKIXExtensionAttribute_verifyPointer
  1029.  *
  1030.  */
  1031. /*
  1032.  * nssPKIXExtensionAttribute_Decode
  1033.  *
  1034.  * -- fgmr comments --
  1035.  *
  1036.  * The error may be one of the following values:
  1037.  *  NSS_ERROR_INVALID_BER
  1038.  *  NSS_ERROR_NO_MEMORY
  1039.  *  NSS_ERROR_INVALID_ARENA
  1040.  * 
  1041.  * Return value:
  1042.  *  A valid pointer to an NSSPKIXExtensionAttribute upon success
  1043.  *  NULL upon failure
  1044.  */
  1045. NSS_EXTERN NSSPKIXExtensionAttribute *
  1046. nssPKIXExtensionAttribute_Decode
  1047. (
  1048.   NSSArena *arenaOpt,
  1049.   NSSBER *ber
  1050. );
  1051. /*
  1052.  * nssPKIXExtensionAttribute_Create
  1053.  *
  1054.  * -- fgmr comments --
  1055.  *
  1056.  * The error may be one of the following values:
  1057.  *  NSS_ERROR_NO_MEMORY
  1058.  *  NSS_ERROR_INVALID_ARENA
  1059.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE_TYPE
  1060.  *  NSS_ERROR_INVALID_POINTER
  1061.  * 
  1062.  * Return value:
  1063.  *  A valid pointer to an NSSPKIXExtensionAttribute upon success
  1064.  *  NULL upon failure
  1065.  */
  1066. NSS_EXTERN NSSPKIXExtensionAttribute *
  1067. nssPKIXExtensionAttribute_Create
  1068. (
  1069.   NSSArena *arenaOpt,
  1070.   NSSPKIXExtensionAttributeType type,
  1071.   NSSItem *value
  1072. );
  1073. /*
  1074.  * nssPKIXExtensionAttribute_Destroy
  1075.  *
  1076.  * -- fgmr comments --
  1077.  *
  1078.  * The error may be one of the following values:
  1079.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1080.  * 
  1081.  * Return value:
  1082.  *  PR_SUCCESS upon success
  1083.  *  PR_FAILURE upon failure
  1084.  */
  1085. NSS_EXTERN PRStatus
  1086. nssPKIXExtensionAttribute_Destroy
  1087. (
  1088.   NSSPKIXExtensionAttribute *ea
  1089. );
  1090. /*
  1091.  * nssPKIXExtensionAttribute_Encode
  1092.  *
  1093.  * -- fgmr comments --
  1094.  *
  1095.  * The error may be one of the following values:
  1096.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1097.  *  NSS_ERROR_INVALID_ARENA
  1098.  *  NSS_ERROR_NO_MEMORY
  1099.  * 
  1100.  * Return value:
  1101.  *  A valid NSSBER pointer upon success
  1102.  *  NULL upon failure
  1103.  */
  1104. NSS_EXTERN NSSBER *
  1105. nssPKIXExtensionAttribute_Encode
  1106. (
  1107.   NSSPKIXExtensionAttribute *ea,
  1108.   NSSASN1EncodingType encoding,
  1109.   NSSBER *rvOpt,
  1110.   NSSArena *arenaOpt
  1111. );
  1112. /*
  1113.  * nssPKIXExtensionAttribute_GetExtensionsAttributeType
  1114.  *
  1115.  * -- fgmr comments --
  1116.  * {One of these objects created from BER generated by a program
  1117.  * adhering to a later version of the PKIX standards might have
  1118.  * a value not mentioned in the enumeration definition.  This isn't
  1119.  * a bug.}
  1120.  *
  1121.  * The error may be one of the following values:
  1122.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1123.  * 
  1124.  * Return value:
  1125.  *  A member of the NSSPKIXExtensionAttributeType enumeration
  1126.  *      upon success
  1127.  *  NSSPKIXExtensionAttributeType_NSSinvalid upon failure
  1128.  */
  1129. NSS_EXTERN NSSPKIXExtensionAttributeType
  1130. nssPKIXExtensionAttribute_GetExtensionsAttributeType
  1131. (
  1132.   NSSPKIXExtensionAttribute *ea
  1133. );
  1134. /*
  1135.  * nssPKIXExtensionAttribute_SetExtensionsAttributeType
  1136.  *
  1137.  * -- fgmr comments --
  1138.  *
  1139.  * The error may be one of the following values:
  1140.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1141.  * 
  1142.  * Return value:
  1143.  *  PR_SUCCESS upon success
  1144.  *  PR_FAILURE upon failure
  1145.  */
  1146. NSS_EXTERN PRStatus
  1147. nssPKIXExtensionAttribute_SetExtensionsAttributeType
  1148. (
  1149.   NSSPKIXExtensionAttribute *ea,
  1150.   NSSPKIXExtensionAttributeType type
  1151. );
  1152. /*
  1153.  * nssPKIXExtensionAttribute_GetExtensionsAttributeValue
  1154.  *
  1155.  * -- fgmr comments --
  1156.  *
  1157.  * The error may be one of the following values:
  1158.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1159.  *  NSS_ERROR_INVALID_ARENA
  1160.  *  NSS_ERROR_NO_MEMORY
  1161.  * 
  1162.  * Return value:
  1163.  *  A valid pointer to an NSSItem upon success
  1164.  *  NULL upon failure
  1165.  */
  1166. NSS_EXTERN NSSItem *
  1167. nssPKIXExtensionAttribute_GetExtensionsAttributeValue
  1168. (
  1169.   NSSPKIXExtensionAttribute *ea,
  1170.   NSSItem *rvOpt,
  1171.   NSSArena *arenaOpt
  1172. );
  1173. /*
  1174.  * nssPKIXExtensionAttribute_SetExtensionsAttributeValue
  1175.  *
  1176.  * -- fgmr comments --
  1177.  *
  1178.  * The error may be one of the following values:
  1179.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1180.  * 
  1181.  * Return value:
  1182.  *  PR_SUCCESS upon success
  1183.  *  PR_FAILURE upon failure
  1184.  */
  1185. NSS_EXTERN PRStatus
  1186. nssPKIXExtensionAttribute_SetExtensionsAttributeValue
  1187. (
  1188.   NSSPKIXExtensionAttribute *ea,
  1189.   NSSItem *value
  1190. );
  1191. /*
  1192.  * nssPKIXExtensionAttribute_Equal
  1193.  *
  1194.  * -- fgmr comments --
  1195.  *
  1196.  * The error may be one of the following values:
  1197.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1198.  * 
  1199.  * Return value:
  1200.  *  PR_TRUE if the two objects have equal values
  1201.  *  PR_FALSE otherwise
  1202.  *  PR_FALSE upon error
  1203.  */
  1204. NSS_EXTERN PRBool
  1205. nssPKIXExtensionAttribute_Equal
  1206. (
  1207.   NSSPKIXExtensionAttribute *ea1,
  1208.   NSSPKIXExtensionAttribute *ea2,
  1209.   PRStatus *statusOpt
  1210. );
  1211. /*
  1212.  * nssPKIXExtensionAttribute_Duplicate
  1213.  *
  1214.  * -- fgmr comments --
  1215.  *
  1216.  * The error may be one of the following values:
  1217.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1218.  *  NSS_ERROR_NO_MEMORY
  1219.  *  NSS_ERROR_INVALID_ARENA
  1220.  * 
  1221.  * Return value:
  1222.  *  A valid pointer to an NSSPKIXExtensionAttribute upon success
  1223.  *  NULL upon failure
  1224.  */
  1225. NSS_EXTERN NSSPKIXExtensionAttribute *
  1226. nssPKIXExtensionAttribute_Duplicate
  1227. (
  1228.   NSSPKIXExtensionAttribute *ea,
  1229.   NSSArena *arenaOpt
  1230. );
  1231. #ifdef DEBUG
  1232. /*
  1233.  * nssPKIXExtensionAttribute_verifyPointer
  1234.  *
  1235.  * This method is only present in debug builds.
  1236.  *
  1237.  * If the specified pointer is a valid pointer to an NSSPKIXExtensionAttribute
  1238.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  1239.  * put an error on the error stack and return PR_FAILURE.
  1240.  *
  1241.  * The error may be one of the following values:
  1242.  *  NSS_ERROR_INVALID_PKIX_EXTENSION_ATTRIBUTE
  1243.  *
  1244.  * Return value:
  1245.  *  PR_SUCCESS if the pointer is valid
  1246.  *  PR_FAILURE if it isn't
  1247.  */
  1248. NSS_EXTERN PRStatus
  1249. nssPKIXExtensionAttribute_verifyPointer
  1250. (
  1251.   NSSPKIXExtensionAttribute *p
  1252. );
  1253. #endif /* DEBUG */
  1254. /*
  1255.  * CommonName
  1256.  *
  1257.  * -- fgmr comments --
  1258.  *
  1259.  * From RFC 2459:
  1260.  *
  1261.  *  CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
  1262.  *
  1263.  * The private calls for this type:
  1264.  *
  1265.  *  nssPKIXCommonName_Decode
  1266.  *  nssPKIXCommonName_CreateFromUTF8
  1267.  *  nssPKIXCommonName_Encode
  1268.  *
  1269.  */
  1270. /*
  1271.  * nssPKIXCommonName_Decode
  1272.  *
  1273.  * -- fgmr comments --
  1274.  *
  1275.  * The error may be one of the following values:
  1276.  *  NSS_ERROR_INVALID_BER
  1277.  *  NSS_ERROR_NO_MEMORY
  1278.  *  NSS_ERROR_INVALID_ARENA
  1279.  * 
  1280.  * Return value:
  1281.  *  A valid pointer to an NSSPKIXCommonName upon success
  1282.  *  NULL upon failure
  1283.  */
  1284. NSS_EXTERN NSSPKIXCommonName *
  1285. nssPKIXCommonName_Decode
  1286. (
  1287.   NSSArena *arenaOpt,
  1288.   NSSBER *ber
  1289. );
  1290. /*
  1291.  * nssPKIXCommonName_CreateFromUTF8
  1292.  *
  1293.  * { basically just enforces the length limit }
  1294.  *
  1295.  * The error may be one of the following values:
  1296.  *  NSS_ERROR_INVALID_BER
  1297.  *  NSS_ERROR_NO_MEMORY
  1298.  *  NSS_ERROR_INVALID_ARENA
  1299.  * 
  1300.  * Return value:
  1301.  *  A valid pointer to an NSSPKIXCommonName upon success
  1302.  *  NULL upon failure
  1303.  */
  1304. NSS_EXTERN NSSPKIXCommonName *
  1305. nssPKIXCommonName_CreateFromUTF8
  1306. (
  1307.   NSSArena *arenaOpt,
  1308.   NSSUTF8 *utf8
  1309. );
  1310. /*
  1311.  * nssPKIXCommonName_Encode
  1312.  *
  1313.  *
  1314.  *
  1315.  * The error may be one of the following values:
  1316.  *  NSS_ERROR_INVALID_PKIX_COMMON_NAME
  1317.  *  NSS_ERROR_NO_MEMORY
  1318.  *
  1319.  * Return value:
  1320.  *  A valid NSSBER pointer upon success
  1321.  *  NULL upon failure
  1322.  */
  1323. NSS_EXTERN NSSBER *
  1324. nssPKIXCommonName_Encode
  1325. (
  1326.   NSSPKIXCommonName *name,
  1327.   NSSASN1EncodingType encoding,
  1328.   NSSBER *rvOpt,
  1329.   NSSArena *arenaOpt
  1330. );
  1331. /*
  1332.  * TeletexCommonName
  1333.  *
  1334.  * -- fgmr comments --
  1335.  *
  1336.  * From RFC 2459:
  1337.  *
  1338.  *  TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
  1339.  *
  1340.  * The private calls for this type:
  1341.  *
  1342.  *  nssPKIXTeletexCommonName_Decode
  1343.  *  nssPKIXTeletexCommonName_CreateFromUTF8
  1344.  *  nssPKIXTeletexCommonName_Encode
  1345.  *
  1346.  */
  1347. /*
  1348.  * nssPKIXTeletexCommonName_Decode
  1349.  *
  1350.  * -- fgmr comments --
  1351.  *
  1352.  * The error may be one of the following values:
  1353.  *  NSS_ERROR_INVALID_BER
  1354.  *  NSS_ERROR_NO_MEMORY
  1355.  *  NSS_ERROR_INVALID_ARENA
  1356.  * 
  1357.  * Return value:
  1358.  *  A valid pointer to an NSSPKIXTeletexCommonName upon success
  1359.  *  NULL upon failure
  1360.  */
  1361. NSS_EXTERN NSSPKIXTeletexCommonName *
  1362. nssPKIXTeletexCommonName_Decode
  1363. (
  1364.   NSSArena *arenaOpt,
  1365.   NSSBER *ber
  1366. );
  1367. /*
  1368.  * nssPKIXTeletexCommonName_CreateFromUTF8
  1369.  *
  1370.  * { basically just enforces the length limit }
  1371.  *
  1372.  * The error may be one of the following values:
  1373.  *  NSS_ERROR_INVALID_BER
  1374.  *  NSS_ERROR_NO_MEMORY
  1375.  *  NSS_ERROR_INVALID_ARENA
  1376.  * 
  1377.  * Return value:
  1378.  *  A valid pointer to an NSSPKIXTeletexCommonName upon success
  1379.  *  NULL upon failure
  1380.  */
  1381. NSS_EXTERN NSSPKIXTeletexCommonName *
  1382. nssPKIXTeletexCommonName_CreateFromUTF8
  1383. (
  1384.   NSSArena *arenaOpt,
  1385.   NSSUTF8 *utf8
  1386. );
  1387. /*
  1388.  * nssPKIXTeletexCommonName_Encode
  1389.  *
  1390.  *
  1391.  *
  1392.  * The error may be one of the following values:
  1393.  *  NSS_ERROR_INVALID_PKIX_TELETEX_COMMON_NAME
  1394.  *  NSS_ERROR_NO_MEMORY
  1395.  *
  1396.  * Return value:
  1397.  *  A valid NSSBER pointer upon success
  1398.  *  NULL upon failure
  1399.  */
  1400. NSS_EXTERN NSSBER *
  1401. nssPKIXTeletexCommonName_Encode
  1402. (
  1403.   NSSPKIXTeletexCommonName *name,
  1404.   NSSASN1EncodingType encoding,
  1405.   NSSBER *rvOpt,
  1406.   NSSArena *arenaOpt
  1407. );
  1408. /*
  1409.  * TeletexOrganizationName
  1410.  *
  1411.  * -- fgmr comments --
  1412.  *
  1413.  * From RFC 2459:
  1414.  *
  1415.  *  TeletexOrganizationName ::=
  1416.  *                  TeletexString (SIZE (1..ub-organization-name-length))
  1417.  *
  1418.  * The private calls for this type:
  1419.  *
  1420.  *  nssPKIXTeletexOrganizationName_Decode
  1421.  *  nssPKIXTeletexOrganizationName_CreateFromUTF8
  1422.  *  nssPKIXTeletexOrganizationName_Encode
  1423.  *
  1424.  */
  1425. /*
  1426.  * nssPKIXTeletexOrganizationName_Decode
  1427.  *
  1428.  * -- fgmr comments --
  1429.  *
  1430.  * The error may be one of the following values:
  1431.  *  NSS_ERROR_INVALID_BER
  1432.  *  NSS_ERROR_NO_MEMORY
  1433.  *  NSS_ERROR_INVALID_ARENA
  1434.  * 
  1435.  * Return value:
  1436.  *  A valid pointer to an NSSPKIXTeletexOrganizationName upon success
  1437.  *  NULL upon failure
  1438.  */
  1439. NSS_EXTERN NSSPKIXTeletexOrganizationName *
  1440. nssPKIXTeletexOrganizationName_Decode
  1441. (
  1442.   NSSArena *arenaOpt,
  1443.   NSSBER *ber
  1444. );
  1445. /*
  1446.  * nssPKIXTeletexOrganizationName_CreateFromUTF8
  1447.  *
  1448.  * { basically just enforces the length limit }
  1449.  *
  1450.  * The error may be one of the following values:
  1451.  *  NSS_ERROR_INVALID_BER
  1452.  *  NSS_ERROR_NO_MEMORY
  1453.  *  NSS_ERROR_INVALID_ARENA
  1454.  * 
  1455.  * Return value:
  1456.  *  A valid pointer to an NSSPKIXTeletexOrganizationName upon success
  1457.  *  NULL upon failure
  1458.  */
  1459. NSS_EXTERN NSSPKIXTeletexOrganizationName *
  1460. nssPKIXTeletexOrganizationName_CreateFromUTF8
  1461. (
  1462.   NSSArena *arenaOpt,
  1463.   NSSUTF8 *utf8
  1464. );
  1465. /*
  1466.  * nssPKIXTeletexOrganizationName_Encode
  1467.  *
  1468.  *
  1469.  *
  1470.  * The error may be one of the following values:
  1471.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATION_NAME
  1472.  *  NSS_ERROR_NO_MEMORY
  1473.  *
  1474.  * Return value:
  1475.  *  A valid NSSBER pointer upon success
  1476.  *  NULL upon failure
  1477.  */
  1478. NSS_EXTERN NSSBER *
  1479. nssPKIXTeletexOrganizationName_Encode
  1480. (
  1481.   NSSPKIXTeletexOrganizationName *name,
  1482.   NSSASN1EncodingType encoding,
  1483.   NSSBER *rvOpt,
  1484.   NSSArena *arenaOpt
  1485. );
  1486. /*
  1487.  * TeletexPersonalName
  1488.  *
  1489.  * -- fgmr comments --
  1490.  *
  1491.  * From RFC 2459:
  1492.  *
  1493.  *  TeletexPersonalName ::= SET {
  1494.  *     surname [0] TeletexString (SIZE (1..ub-surname-length)),
  1495.  *     given-name [1] TeletexString
  1496.  *                  (SIZE (1..ub-given-name-length)) OPTIONAL,
  1497.  *     initials [2] TeletexString (SIZE (1..ub-initials-length)) OPTIONAL,
  1498.  *     generation-qualifier [3] TeletexString (SIZE
  1499.  *                  (1..ub-generation-qualifier-length)) OPTIONAL }
  1500.  *
  1501.  * The private calls for this type:
  1502.  *
  1503.  *  nssPKIXTeletexPersonalName_Decode
  1504.  *  nssPKIXTeletexPersonalName_Create
  1505.  *  nssPKIXTeletexPersonalName_Destroy
  1506.  *  nssPKIXTeletexPersonalName_Encode
  1507.  *  nssPKIXTeletexPersonalName_GetSurname
  1508.  *  nssPKIXTeletexPersonalName_SetSurname
  1509.  *  nssPKIXTeletexPersonalName_HasGivenName
  1510.  *  nssPKIXTeletexPersonalName_GetGivenName
  1511.  *  nssPKIXTeletexPersonalName_SetGivenName
  1512.  *  nssPKIXTeletexPersonalName_RemoveGivenName
  1513.  *  nssPKIXTeletexPersonalName_HasInitials
  1514.  *  nssPKIXTeletexPersonalName_GetInitials
  1515.  *  nssPKIXTeletexPersonalName_SetInitials
  1516.  *  nssPKIXTeletexPersonalName_RemoveInitials
  1517.  *  nssPKIXTeletexPersonalName_HasGenerationQualifier
  1518.  *  nssPKIXTeletexPersonalName_GetGenerationQualifier
  1519.  *  nssPKIXTeletexPersonalName_SetGenerationQualifier
  1520.  *  nssPKIXTeletexPersonalName_RemoveGenerationQualifier
  1521.  *  nssPKIXTeletexPersonalName_Equal
  1522.  *  nssPKIXTeletexPersonalName_Duplicate
  1523.  * 
  1524.  * In debug builds, the following call is available:
  1525.  *
  1526.  *  nssPKIXTeletexPersonalName_verifyPointer
  1527.  *
  1528.  */
  1529. /*
  1530.  * nssPKIXTeletexPersonalName_Decode
  1531.  *
  1532.  * -- fgmr comments --
  1533.  *
  1534.  * The error may be one of the following values:
  1535.  *  NSS_ERROR_INVALID_BER
  1536.  *  NSS_ERROR_NO_MEMORY
  1537.  *  NSS_ERROR_INVALID_ARENA
  1538.  *
  1539.  * Return value:
  1540.  *  A valid pointer to an NSSPKIXTeletexPersonalName upon success
  1541.  *  NULL upon failure
  1542.  */
  1543. NSS_EXTERN NSSPKIXTeletexPersonalName *
  1544. nssPKIXTeletexPersonalName_Decode
  1545. (
  1546.   NSSArena *arenaOpt,
  1547.   NSSBER *ber
  1548. );
  1549. /*
  1550.  * nssPKIXTeletexPersonalName_Create
  1551.  *
  1552.  * -- fgmr comments --
  1553.  *
  1554.  * The error may be one of the following values:
  1555.  *  NSS_ERROR_NO_MEMORY
  1556.  *  NSS_ERROR_INVALID_ARENA
  1557.  *  NSS_ERROR_INVALID_STRING
  1558.  *
  1559.  * Return value:
  1560.  *  A valid pointer to an NSSPKIXTeletexPersonalName upon success
  1561.  *  NULL upon failure
  1562.  */
  1563. NSS_EXTERN NSSPKIXTeletexPersonalName *
  1564. nssPKIXTeletexPersonalName_Create
  1565. (
  1566.   NSSArena *arenaOpt,
  1567.   NSSUTF8 *surname,
  1568.   NSSUTF8 *givenNameOpt,
  1569.   NSSUTF8 *initialsOpt,
  1570.   NSSUTF8 *generationQualifierOpt
  1571. );
  1572. /*
  1573.  * nssPKIXTeletexPersonalName_Destroy
  1574.  *
  1575.  * -- fgmr comments --
  1576.  *
  1577.  * The error may be one of the following values:
  1578.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1579.  *
  1580.  * Return value:
  1581.  *  PR_SUCCESS upon success
  1582.  *  PR_FAILURE upon failure
  1583.  */
  1584. NSS_EXTERN PRStatus
  1585. nssPKIXTeletexPersonalName_Destroy
  1586. (
  1587.   NSSPKIXTeletexPersonalName *personalName
  1588. );
  1589. /*
  1590.  * nssPKIXTeletexPersonalName_Encode
  1591.  *
  1592.  * -- fgmr comments --
  1593.  *
  1594.  * The error may be one of the following values:
  1595.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1596.  *  NSS_ERROR_INVALID_ARENA
  1597.  *  NSS_ERROR_NO_MEMORY
  1598.  *
  1599.  * Return value:
  1600.  *  A valid NSSBER pointer upon success
  1601.  *  NULL upon failure
  1602.  */
  1603. NSS_EXTERN NSSBER *
  1604. nssPKIXTeletexPersonalName_Encode
  1605. (
  1606.   NSSPKIXTeletexPersonalName *personalName,
  1607.   NSSASN1EncodingType encoding,
  1608.   NSSBER *rvOpt,
  1609.   NSSArena *arenaOpt
  1610. );
  1611. /*
  1612.  * nssPKIXTeletexPersonalName_GetSurname
  1613.  *
  1614.  * -- fgmr comments --
  1615.  *
  1616.  * The error may be one of the following values:
  1617.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1618.  *  NSS_ERROR_INVALID_ARENA
  1619.  *  NSS_ERROR_NO_MEMORY
  1620.  *
  1621.  * Return value:
  1622.  *  A valid pointer to an NSSUTF8 upon success
  1623.  *  NULL upon failure
  1624.  */
  1625. NSS_EXTERN NSSUTF8 *
  1626. nssPKIXTeletexPersonalName_GetSurname
  1627. (
  1628.   NSSPKIXTeletexPersonalName *personalName,
  1629.   NSSArena *arenaOpt
  1630. );
  1631. /*
  1632.  * nssPKIXTeletexPersonalName_SetSurname
  1633.  *
  1634.  * -- fgmr comments --
  1635.  *
  1636.  * The error may be one of the following values:
  1637.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1638.  *  NSS_ERROR_INVALID_STRING
  1639.  *
  1640.  * Return value:
  1641.  *  PR_SUCCESS upon success
  1642.  *  PR_FAILURE upon failure
  1643.  */
  1644. NSS_EXTERN PRStatus
  1645. nssPKIXTeletexPersonalName_SetSurname
  1646. (
  1647.   NSSPKIXTeletexPersonalName *personalName,
  1648.   NSSUTF8 *surname
  1649. );
  1650. /*
  1651.  * nssPKIXTeletexPersonalName_HasGivenName
  1652.  *
  1653.  * -- fgmr comments --
  1654.  *
  1655.  * The error may be one of the following values:
  1656.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1657.  *
  1658.  * Return value:
  1659.  *  PR_TRUE if it has one
  1660.  *  PR_FALSE if it doesn't
  1661.  *  PR_FALSE upon failure
  1662.  */
  1663. NSS_EXTERN PRBool
  1664. nssPKIXTeletexPersonalName_HasGivenName
  1665. (
  1666.   NSSPKIXTeletexPersonalName *personalName,
  1667.   PRStatus *statusOpt
  1668. );
  1669. /*
  1670.  * nssPKIXTeletexPersonalName_GetGivenName
  1671.  *
  1672.  * -- fgmr comments --
  1673.  *
  1674.  * The error may be one of the following values:
  1675.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1676.  *
  1677.  * Return value:
  1678.  *  A valid pointer to an NSSUTF8 upon success
  1679.  *  NULL upon failure
  1680.  */
  1681. NSS_EXTERN NSSUTF8 *
  1682. nssPKIXTeletexPersonalName_GetGivenName
  1683. (
  1684.   NSSPKIXTeletexPersonalName *personalName,
  1685.   NSSArena *arenaOpt
  1686. );
  1687. /*
  1688.  * nssPKIXTeletexPersonalName_SetGivenName
  1689.  *
  1690.  * -- fgmr comments --
  1691.  *
  1692.  * The error may be one of the following values:
  1693.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1694.  *  NSS_ERROR_INVALID_STRING
  1695.  *
  1696.  * Return value:
  1697.  *  PR_SUCCESS upon success
  1698.  *  PR_FAILURE upon failure
  1699.  */
  1700. NSS_EXTERN PRStatus
  1701. nssPKIXTeletexPersonalName_SetGivenName
  1702. (
  1703.   NSSPKIXTeletexPersonalName *personalName,
  1704.   NSSUTF8 *givenName
  1705. );
  1706. /*
  1707.  * nssPKIXTeletexPersonalName_RemoveGivenName
  1708.  *
  1709.  * -- fgmr comments --
  1710.  *
  1711.  * The error may be one of the following values:
  1712.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1713.  *
  1714.  * Return value:
  1715.  *  PR_SUCCESS upon success
  1716.  *  PR_FAILURE upon failure
  1717.  */
  1718. NSS_EXTERN PRStatus
  1719. nssPKIXTeletexPersonalName_RemoveGivenName
  1720. (
  1721.   NSSPKIXTeletexPersonalName *personalName
  1722. );
  1723. /*
  1724.  * nssPKIXTeletexPersonalName_HasInitials
  1725.  *
  1726.  * -- fgmr comments --
  1727.  *
  1728.  * The error may be one of the following values:
  1729.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1730.  *
  1731.  * Return value:
  1732.  *  PR_TRUE if it has one
  1733.  *  PR_FALSE if it doesn't
  1734.  *  PR_FALSE upon failure
  1735.  */
  1736. NSS_EXTERN PRBool
  1737. nssPKIXTeletexPersonalName_HasInitials
  1738. (
  1739.   NSSPKIXTeletexPersonalName *personalName,
  1740.   PRStatus *statusOpt
  1741. );
  1742. /*
  1743.  * nssPKIXTeletexPersonalName_GetInitials
  1744.  *
  1745.  * -- fgmr comments --
  1746.  *
  1747.  * The error may be one of the following values:
  1748.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1749.  *  NSS_ERROR_INVALID_ARENA
  1750.  *  NSS_ERROR_NO_MEMORY
  1751.  *
  1752.  * Return value:
  1753.  *  A valid pointer to an NSSUTF8 upon success
  1754.  *  NULL upon failure
  1755.  */
  1756. NSS_EXTERN NSSUTF8 *
  1757. nssPKIXTeletexPersonalName_GetInitials
  1758. (
  1759.   NSSPKIXTeletexPersonalName *personalName,
  1760.   NSSArena *arenaOpt
  1761. );
  1762. /*
  1763.  * nssPKIXTeletexPersonalName_SetInitials
  1764.  *
  1765.  * -- fgmr comments --
  1766.  *
  1767.  * The error may be one of the following values:
  1768.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1769.  *  NSS_ERROR_INVALID_STRING
  1770.  *
  1771.  * Return value:
  1772.  *  PR_SUCCESS upon success
  1773.  *  PR_FAILURE upon failure
  1774.  */
  1775. NSS_EXTERN PRStatus
  1776. nssPKIXTeletexPersonalName_SetInitials
  1777. (
  1778.   NSSPKIXTeletexPersonalName *personalName,
  1779.   NSSUTF8 *initials
  1780. );
  1781. /*
  1782.  * nssPKIXTeletexPersonalName_RemoveInitials
  1783.  *
  1784.  * -- fgmr comments --
  1785.  *
  1786.  * The error may be one of the following values:
  1787.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1788.  *
  1789.  * Return value:
  1790.  *  PR_SUCCESS upon success
  1791.  *  PR_FAILURE upon failure
  1792.  */
  1793. NSS_EXTERN PRStatus
  1794. nssPKIXTeletexPersonalName_RemoveInitials
  1795. (
  1796.   NSSPKIXTeletexPersonalName *personalName
  1797. );
  1798. /*
  1799.  * nssPKIXTeletexPersonalName_HasGenerationQualifier
  1800.  *
  1801.  * -- fgmr comments --
  1802.  *
  1803.  * The error may be one of the following values:
  1804.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1805.  *
  1806.  * Return value:
  1807.  *  PR_TRUE if it has one
  1808.  *  PR_FALSE if it doesn't
  1809.  *  PR_FALSE upon failure
  1810.  */
  1811. NSS_EXTERN PRBool
  1812. nssPKIXTeletexPersonalName_HasGenerationQualifier
  1813. (
  1814.   NSSPKIXTeletexPersonalName *personalName,
  1815.   PRStatus *statusOpt
  1816. );
  1817. /*
  1818.  * nssPKIXTeletexPersonalName_GetGenerationQualifier
  1819.  *
  1820.  * -- fgmr comments --
  1821.  *
  1822.  * The error may be one of the following values:
  1823.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1824.  *
  1825.  * Return value:
  1826.  *  A valid pointer to an NSSUTF8 upon success
  1827.  *  NULL upon failure
  1828.  */
  1829. NSS_EXTERN NSSUTF8 *
  1830. nssPKIXTeletexPersonalName_GetGenerationQualifier
  1831. (
  1832.   NSSPKIXTeletexPersonalName *personalName,
  1833.   NSSArena *arenaOpt
  1834. );
  1835. /*
  1836.  * nssPKIXTeletexPersonalName_SetGenerationQualifier
  1837.  *
  1838.  * -- fgmr comments --
  1839.  *
  1840.  * The error may be one of the following values:
  1841.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1842.  *  NSS_ERROR_INVALID_STRING
  1843.  *
  1844.  * Return value:
  1845.  *  PR_SUCCESS upon success
  1846.  *  PR_FAILURE upon failure
  1847.  */
  1848. NSS_EXTERN PRStatus
  1849. nssPKIXTeletexPersonalName_SetGenerationQualifier
  1850. (
  1851.   NSSPKIXTeletexPersonalName *personalName,
  1852.   NSSUTF8 *generationQualifier
  1853. );
  1854. /*
  1855.  * nssPKIXTeletexPersonalName_RemoveGenerationQualifier
  1856.  *
  1857.  * -- fgmr comments --
  1858.  *
  1859.  * The error may be one of the following values:
  1860.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1861.  *
  1862.  * Return value:
  1863.  *  PR_SUCCESS upon success
  1864.  *  PR_FAILURE upon failure
  1865.  */
  1866. NSS_EXTERN PRStatus
  1867. nssPKIXTeletexPersonalName_RemoveGenerationQualifier
  1868. (
  1869.   NSSPKIXTeletexPersonalName *personalName
  1870. );
  1871. /*
  1872.  * nssPKIXTeletexPersonalName_Equal
  1873.  *
  1874.  * -- fgmr comments --
  1875.  *
  1876.  * The error may be one of the following values:
  1877.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1878.  *
  1879.  * Return value:
  1880.  *  PR_TRUE if the two objects have equal values
  1881.  *  PR_FALSE otherwise
  1882.  *  PR_FALSE upon error
  1883.  */
  1884. NSS_EXTERN PRBool
  1885. nssPKIXTeletexPersonalName_Equal
  1886. (
  1887.   NSSPKIXTeletexPersonalName *personalName1,
  1888.   NSSPKIXTeletexPersonalName *personalName2,
  1889.   PRStatus *statusOpt
  1890. );
  1891. /*
  1892.  * nssPKIXTeletexPersonalName_Duplicate
  1893.  *
  1894.  * -- fgmr comments --
  1895.  *
  1896.  * The error may be one of the following values:
  1897.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1898.  *
  1899.  * Return value:
  1900.  *  A valid pointer to an NSSPKIXTeletexPersonalName upon success
  1901.  *  NULL upon failure
  1902.  */
  1903. NSS_EXTERN NSSPKIXTeletexPersonalName *
  1904. nssPKIXTeletexPersonalName_Duplicate
  1905. (
  1906.   NSSPKIXTeletexPersonalName *personalName,
  1907.   NSSArena *arenaOpt
  1908. );
  1909. #ifdef DEBUG
  1910. /*
  1911.  * nssPKIXTeletexPersonalName_verifyPointer
  1912.  *
  1913.  * This method is only present in debug builds.
  1914.  *
  1915.  * If the specified pointer is a valid pointer to an NSSPKIXTeletexPersonalName
  1916.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  1917.  * put an error on the error stack and return PR_FAILURE.
  1918.  *
  1919.  * The error may be one of the following values:
  1920.  *  NSS_ERROR_INVALID_PKIX_TELETEX_PERSONAL_NAME
  1921.  *
  1922.  * Return value:
  1923.  *  PR_SUCCESS if the pointer is valid
  1924.  *  PR_FAILURE if it isn't
  1925.  */
  1926. NSS_EXTERN PRStatus
  1927. nssPKIXTeletexPersonalName_verifyPointer
  1928. (
  1929.   NSSPKIXTeletexPersonalName *p
  1930. );
  1931. #endif /* DEBUG */
  1932. /*
  1933.  * TeletexOrganizationalUnitNames
  1934.  *
  1935.  * -- fgmr comments --
  1936.  *
  1937.  * From RFC 2459:
  1938.  *
  1939.  *  TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
  1940.  *          (1..ub-organizational-units) OF TeletexOrganizationalUnitName
  1941.  *
  1942.  * The private calls for the type:
  1943.  *
  1944.  *  nssPKIXTeletexOrganizationalUnitNames_Decode
  1945.  *  nssPKIXTeletexOrganizationalUnitNames_Create
  1946.  *  nssPKIXTeletexOrganizationalUnitNames_Destroy
  1947.  *  nssPKIXTeletexOrganizationalUnitNames_Encode
  1948.  *  nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitNameCount
  1949.  *  nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitNames
  1950.  *  nssPKIXTeletexOrganizationalUnitNames_SetTeletexOrganizationalUnitNames
  1951.  *  nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitName
  1952.  *  nssPKIXTeletexOrganizationalUnitNames_SetTeletexOrganizationalUnitName
  1953.  *  nssPKIXTeletexOrganizationalUnitNames_InsertTeletexOrganizationalUnitName
  1954.  *  nssPKIXTeletexOrganizationalUnitNames_AppendTeletexOrganizationalUnitName
  1955.  *  nssPKIXTeletexOrganizationalUnitNames_RemoveTeletexOrganizationalUnitName
  1956.  *  nssPKIXTeletexOrganizationalUnitNames_FindTeletexOrganizationalUnitName
  1957.  *  nssPKIXTeletexOrganizationalUnitNames_Equal
  1958.  *  nssPKIXTeletexOrganizationalUnitNames_Duplicate
  1959.  * 
  1960.  * In debug builds, the following call is available:
  1961.  *
  1962.  *  nssPKIXTeletexOrganizationalUnitNames_verifyPointer
  1963.  *
  1964.  */
  1965. /*
  1966.  * nssPKIXTeletexOrganizationalUnitNames_Decode
  1967.  *
  1968.  * -- fgmr comments --
  1969.  *
  1970.  * The error may be one of the following values:
  1971.  *  NSS_ERROR_INVALID_BER
  1972.  *  NSS_ERROR_NO_MEMORY
  1973.  *  NSS_ERROR_INVALID_ARENA
  1974.  *
  1975.  * Return value:
  1976.  *  A valid pointer to an NSSPKIXTeletexOrganizationalUnitNames upon success
  1977.  *  NULL upon failure
  1978.  */
  1979. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitNames *
  1980. nssPKIXTeletexOrganizationalUnitNames_Decode
  1981. (
  1982.   NSSArena *arenaOpt,
  1983.   NSSBER *ber
  1984. );
  1985. /*
  1986.  * nssPKIXTeletexOrganizationalUnitNames_Create
  1987.  *
  1988.  * -- fgmr comments --
  1989.  *
  1990.  * The error may be one of the following values:
  1991.  *  NSS_ERROR_NO_MEMORY
  1992.  *  NSS_ERROR_INVALID_ARENA
  1993.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  1994.  *
  1995.  * Return value:
  1996.  *  A valid pointer to an NSSPKIXTeletexOrganizationalUnitNames upon success
  1997.  *  NULL upon failure
  1998.  */
  1999. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitNames *
  2000. nssPKIXTeletexOrganizationalUnitNames_Create
  2001. (
  2002.   NSSArena *arenaOpt,
  2003.   NSSPKIXTeletexOrganizationalUnitName *ou1,
  2004.   ...
  2005. );
  2006. /*
  2007.  * nssPKIXTeletexOrganizationalUnitNames_Destroy
  2008.  *
  2009.  * -- fgmr comments --
  2010.  *
  2011.  * The error may be one of the following values:
  2012.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2013.  *
  2014.  * Return value:
  2015.  *  PR_SUCCESS upon success
  2016.  *  PR_FAILURE upon failure
  2017.  */
  2018. NSS_EXTERN PRStatus
  2019. nssPKIXTeletexOrganizationalUnitNames_Destroy
  2020. (
  2021.   NSSPKIXTeletexOrganizationalUnitNames *ous
  2022. );
  2023. /*
  2024.  * nssPKIXTeletexOrganizationalUnitNames_Encode
  2025.  *
  2026.  * -- fgmr comments --
  2027.  *
  2028.  * The error may be one of the following values:
  2029.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2030.  *  NSS_ERROR_INVALID_ARENA
  2031.  *  NSS_ERROR_NO_MEMORY
  2032.  *
  2033.  * Return value:
  2034.  *  A valid NSSBER pointer upon success
  2035.  *  NULL upon failure
  2036.  */
  2037. NSS_EXTERN NSSBER *
  2038. nssPKIXTeletexOrganizationalUnitNames_Encode
  2039. (
  2040.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2041.   NSSASN1EncodingType encoding,
  2042.   NSSBER *rvOpt,
  2043.   NSSArena *arenaOpt
  2044. );
  2045. /*
  2046.  * nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitNameCount
  2047.  *
  2048.  * -- fgmr comments --
  2049.  *
  2050.  * The error may be one of the following values:
  2051.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2052.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2053.  *
  2054.  * Return value:
  2055.  *  Nonnegative integer upon success
  2056.  *  -1 upon failure.
  2057.  */
  2058. NSS_EXTERN PRInt32
  2059. nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitNameCount
  2060. (
  2061.   NSSPKIXTeletexOrganizationalUnitNames *ous
  2062. );
  2063. /*
  2064.  * nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitNames
  2065.  *
  2066.  * -- fgmr comments --
  2067.  *
  2068.  * The error may be one of the following values:
  2069.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2070.  *  NSS_ERROR_INVALID_ARENA
  2071.  *  NSS_ERROR_NO_MEMORY
  2072.  *  NSS_ERROR_ARRAY_TOO_SMALL
  2073.  *
  2074.  * Return value:
  2075.  *  A valid pointer to an array of NSSPKIXTeletexOrganizationalUnitName
  2076.  *      pointers upon success
  2077.  *  NULL upon failure
  2078.  */
  2079. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitName **
  2080. nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitNames
  2081. (
  2082.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2083.   NSSPKIXTeletexOrganizationalUnitName *rvOpt[],
  2084.   PRInt32 limit,
  2085.   NSSArena *arenaOpt
  2086. );
  2087. /*
  2088.  * nssPKIXTeletexOrganizationalUnitNames_SetTeletexOrganizationalUnitNames
  2089.  *
  2090.  * -- fgmr comments --
  2091.  *
  2092.  * The error may be one of the following values:
  2093.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2094.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2095.  *  NSS_ERROR_NO_MEMORY
  2096.  *
  2097.  * Return value:
  2098.  *  PR_SUCCESS upon success
  2099.  *  PR_FAILURE upon failure
  2100.  */
  2101. NSS_EXTERN PRStatus
  2102. nssPKIXTeletexOrganizationalUnitNames_SetTeletexOrganizationalUnitNames
  2103. (
  2104.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2105.   NSSPKIXTeletexOrganizationalUnitName *ou[],
  2106.   PRInt32 count
  2107. );
  2108. /*
  2109.  * nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitName
  2110.  *
  2111.  * -- fgmr comments --
  2112.  *
  2113.  * The error may be one of the following values:
  2114.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2115.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2116.  *  NSS_ERROR_NO_MEMORY
  2117.  *  NSS_ERROR_INVALID_ARENA
  2118.  *
  2119.  * Return value:
  2120.  *  A valid pointer to an NSSPKIXTeletexOrganizationalUnitName upon success
  2121.  *  NULL upon failure
  2122.  */
  2123. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitName *
  2124. nssPKIXTeletexOrganizationalUnitNames_GetTeletexOrganizationalUnitName
  2125. (
  2126.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2127.   PRInt32 i,
  2128.   NSSArena *arenaOpt
  2129. );
  2130. /*
  2131.  * nssPKIXTeletexOrganizationalUnitNames_SetTeletexOrganizationalUnitName
  2132.  *
  2133.  * -- fgmr comments --
  2134.  *
  2135.  * The error may be one of the following values:
  2136.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2137.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2138.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2139.  *  NSS_ERROR_NO_MEMORY
  2140.  *
  2141.  * Return value:
  2142.  *  PR_SUCCESS upon success
  2143.  *  PR_FAILURE upon failure
  2144.  */
  2145. NSS_EXTERN PRStatus
  2146. nssPKIXTeletexOrganizationalUnitNames_SetTeletexOrganizationalUnitName
  2147. (
  2148.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2149.   PRInt32 i,
  2150.   NSSPKIXTeletexOrganizationalUnitName *ou
  2151. );
  2152. /*
  2153.  * nssPKIXTeletexOrganizationalUnitNames_InsertTeletexOrganizationalUnitName
  2154.  *
  2155.  * -- fgmr comments --
  2156.  *
  2157.  * The error may be one of the following values:
  2158.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2159.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2160.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2161.  *  NSS_ERROR_NO_MEMORY
  2162.  *
  2163.  * Return value:
  2164.  *  PR_SUCCESS upon success
  2165.  *  PR_FAILURE upon failure
  2166.  */
  2167. NSS_EXTERN PRStatus
  2168. nssPKIXTeletexOrganizationalUnitNames_InsertTeletexOrganizationalUnitName
  2169. (
  2170.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2171.   PRInt32 i,
  2172.   NSSPKIXTeletexOrganizationalUnitName *ou
  2173. );
  2174. /*
  2175.  * nssPKIXTeletexOrganizationalUnitNames_AppendTeletexOrganizationalUnitName
  2176.  *
  2177.  * -- fgmr comments --
  2178.  *
  2179.  * The error may be one of the following values:
  2180.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2181.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2182.  *  NSS_ERROR_NO_MEMORY
  2183.  *
  2184.  * Return value:
  2185.  *  PR_SUCCESS upon success
  2186.  *  PR_FAILURE upon failure
  2187.  */
  2188. NSS_EXTERN PRStatus
  2189. nssPKIXTeletexOrganizationalUnitNames_AppendTeletexOrganizationalUnitName
  2190. (
  2191.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2192.   NSSPKIXTeletexOrganizationalUnitName *ou
  2193. );
  2194. /*
  2195.  * nssPKIXTeletexOrganizationalUnitNames_RemoveTeletexOrganizationalUnitName
  2196.  *
  2197.  * -- fgmr comments --
  2198.  *
  2199.  * The error may be one of the following values:
  2200.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2201.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2202.  *
  2203.  * Return value:
  2204.  *  PR_SUCCESS upon success
  2205.  *  PR_FAILURE upon failure
  2206.  */
  2207. NSS_EXTERN PRStatus
  2208. nssPKIXTeletexOrganizationalUnitNames_RemoveTeletexOrganizationalUnitName
  2209. (
  2210.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2211.   PRInt32 i
  2212. );
  2213. /*
  2214.  * nssPKIXTeletexOrganizationalUnitNames_FindTeletexOrganizationalUnitName
  2215.  *
  2216.  * -- fgmr comments --
  2217.  *
  2218.  * The error may be one of the following values:
  2219.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2220.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2221.  *
  2222.  * Return value:
  2223.  *  The index of the specified revoked certificate upon success
  2224.  *  -1 upon failure
  2225.  */
  2226. NSS_EXTERN PRInt32
  2227. nssPKIXTeletexOrganizationalUnitNames_FindTeletexOrganizationalUnitName
  2228. (
  2229.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2230.   NSSPKIXTeletexOrganizationalUnitName *ou
  2231. );
  2232. /*
  2233.  * nssPKIXTeletexOrganizationalUnitNames_Equal
  2234.  *
  2235.  * -- fgmr comments --
  2236.  *
  2237.  * The error may be one of the following values:
  2238.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2239.  *
  2240.  * Return value:
  2241.  *  PR_TRUE if the two objects have equal values
  2242.  *  PR_FALSE otherwise
  2243.  *  PR_FALSE upon error
  2244.  */
  2245. NSS_EXTERN PRBool
  2246. nssPKIXTeletexOrganizationalUnitNames_Equal
  2247. (
  2248.   NSSPKIXTeletexOrganizationalUnitNames *ous1,
  2249.   NSSPKIXTeletexOrganizationalUnitNames *ous2,
  2250.   PRStatus *statusOpt
  2251. );
  2252. /*
  2253.  * nssPKIXTeletexOrganizationalUnitNames_Duplicate
  2254.  *
  2255.  * -- fgmr comments --
  2256.  *
  2257.  * The error may be one of the following values:
  2258.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAMES
  2259.  *  NSS_ERROR_INVALID_ARENA
  2260.  *  NSS_ERROR_NO_MEMORY
  2261.  *
  2262.  * Return value:
  2263.  *  A valid pointer to an NSSPKIXTeletexOrganizationalUnitNames upon success
  2264.  *  NULL upon failure
  2265.  */
  2266. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitNames *
  2267. nssPKIXTeletexOrganizationalUnitNames_Duplicate
  2268. (
  2269.   NSSPKIXTeletexOrganizationalUnitNames *ous,
  2270.   NSSArena *arenaOpt
  2271. );
  2272. #ifdef DEBUG
  2273. /*
  2274.  * nssPKIXTeletexOrganizationalUnitNames_verifyPointer
  2275.  *
  2276.  * This method is only present in debug builds.
  2277.  *
  2278.  * If the specified pointer is a valid pointer to an NSSPKIXTeletexOrganizationalUnitNames
  2279.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  2280.  * put an error on the error stack and return PR_FAILURE.
  2281.  *
  2282.  * The error may be one of the following values:
  2283.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2284.  *
  2285.  * Return value:
  2286.  *  PR_SUCCESS if the pointer is valid
  2287.  *  PR_FAILURE if it isn't
  2288.  */
  2289. NSS_EXTERN PRStatus
  2290. nssPKIXTeletexOrganizationalUnitNames_verifyPointer
  2291. (
  2292.   NSSPKIXTeletexOrganizationalUnitNames *p
  2293. );
  2294. #endif /* DEBUG */
  2295. /*
  2296.  * TeletexOrganizationalUnitName
  2297.  *
  2298.  * -- fgmr comments --
  2299.  *
  2300.  * From RFC 2459:
  2301.  *
  2302.  *  TeletexOrganizationalUnitName ::= TeletexString
  2303.  *                          (SIZE (1..ub-organizational-unit-name-length))
  2304.  *  
  2305.  * The private calls for this type:
  2306.  *
  2307.  *  nssPKIXTeletexOrganizationalUnitName_Decode
  2308.  *  nssPKIXTeletexOrganizationalUnitName_CreateFromUTF8
  2309.  *  nssPKIXTeletexOrganizationalUnitName_Encode
  2310.  *
  2311.  */
  2312. /*
  2313.  * nssPKIXTeletexOrganizationalUnitName_Decode
  2314.  *
  2315.  * -- fgmr comments --
  2316.  *
  2317.  * The error may be one of the following values:
  2318.  *  NSS_ERROR_INVALID_BER
  2319.  *  NSS_ERROR_NO_MEMORY
  2320.  *  NSS_ERROR_INVALID_ARENA
  2321.  * 
  2322.  * Return value:
  2323.  *  A valid pointer to an NSSPKIXTeletexOrganizationalUnitName upon success
  2324.  *  NULL upon failure
  2325.  */
  2326. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitName *
  2327. nssPKIXTeletexOrganizationalUnitName_Decode
  2328. (
  2329.   NSSArena *arenaOpt,
  2330.   NSSBER *ber
  2331. );
  2332. /*
  2333.  * nssPKIXTeletexOrganizationalUnitName_CreateFromUTF8
  2334.  *
  2335.  * { basically just enforces the length limit }
  2336.  *
  2337.  * The error may be one of the following values:
  2338.  *  NSS_ERROR_INVALID_BER
  2339.  *  NSS_ERROR_NO_MEMORY
  2340.  *  NSS_ERROR_INVALID_ARENA
  2341.  * 
  2342.  * Return value:
  2343.  *  A valid pointer to an NSSPKIXTeletexOrganizationalUnitName upon success
  2344.  *  NULL upon failure
  2345.  */
  2346. NSS_EXTERN NSSPKIXTeletexOrganizationalUnitName *
  2347. nssPKIXTeletexOrganizationalUnitName_CreateFromUTF8
  2348. (
  2349.   NSSArena *arenaOpt,
  2350.   NSSUTF8 *utf8
  2351. );
  2352. /*
  2353.  * nssPKIXTeletexOrganizationalUnitName_Encode
  2354.  *
  2355.  *
  2356.  *
  2357.  * The error may be one of the following values:
  2358.  *  NSS_ERROR_INVALID_PKIX_TELETEX_ORGANIZATIONAL_UNIT_NAME
  2359.  *  NSS_ERROR_NO_MEMORY
  2360.  *
  2361.  * Return value:
  2362.  *  A valid NSSBER pointer upon success
  2363.  *  NULL upon failure
  2364.  */
  2365. NSS_EXTERN NSSBER *
  2366. nssPKIXTeletexOrganizationalUnitName_Encode
  2367. (
  2368.   NSSPKIXTeletexOrganizationalUnitName *name,
  2369.   NSSASN1EncodingType encoding,
  2370.   NSSBER *rvOpt,
  2371.   NSSArena *arenaOpt
  2372. );
  2373. /*
  2374.  * PDSName
  2375.  *
  2376.  * -- fgmr comments --
  2377.  *
  2378.  * From RFC 2459:
  2379.  *
  2380.  *  PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
  2381.  *
  2382.  * The private calls for this type:
  2383.  *
  2384.  *  nssPKIXPDSName_Decode
  2385.  *  nssPKIXPDSName_CreateFromUTF8
  2386.  *  nssPKIXPDSName_Encode
  2387.  *
  2388.  */
  2389. /*
  2390.  * nssPKIXPDSName_Decode
  2391.  *
  2392.  * -- fgmr comments --
  2393.  *
  2394.  * The error may be one of the following values:
  2395.  *  NSS_ERROR_INVALID_BER
  2396.  *  NSS_ERROR_NO_MEMORY
  2397.  *  NSS_ERROR_INVALID_ARENA
  2398.  * 
  2399.  * Return value:
  2400.  *  A valid pointer to an NSSPKIXPDSName upon success
  2401.  *  NULL upon failure
  2402.  */
  2403. NSS_EXTERN NSSPKIXPDSName *
  2404. nssPKIXPDSName_Decode
  2405. (
  2406.   NSSArena *arenaOpt,
  2407.   NSSBER *ber
  2408. );
  2409. /*
  2410.  * nssPKIXPDSName_CreateFromUTF8
  2411.  *
  2412.  * { basically just enforces the length limit }
  2413.  *
  2414.  * The error may be one of the following values:
  2415.  *  NSS_ERROR_INVALID_BER
  2416.  *  NSS_ERROR_NO_MEMORY
  2417.  *  NSS_ERROR_INVALID_ARENA
  2418.  * 
  2419.  * Return value:
  2420.  *  A valid pointer to an NSSPKIXPDSName upon success
  2421.  *  NULL upon failure
  2422.  */
  2423. NSS_EXTERN NSSPKIXPDSName *
  2424. nssPKIXPDSName_CreateFromUTF8
  2425. (
  2426.   NSSArena *arenaOpt,
  2427.   NSSUTF8 *utf8
  2428. );
  2429. /*
  2430.  * nssPKIXPDSName_Encode
  2431.  *
  2432.  *
  2433.  *
  2434.  * The error may be one of the following values:
  2435.  *  NSS_ERROR_INVALID_PKIX_PDS_NAME
  2436.  *  NSS_ERROR_NO_MEMORY
  2437.  *
  2438.  * Return value:
  2439.  *  A valid NSSBER pointer upon success
  2440.  *  NULL upon failure
  2441.  */
  2442. NSS_EXTERN NSSBER *
  2443. nssPKIXPDSName_Encode
  2444. (
  2445.   NSSPKIXPDSName *name,
  2446.   NSSASN1EncodingType encoding,
  2447.   NSSBER *rvOpt,
  2448.   NSSArena *arenaOpt
  2449. );
  2450. /*
  2451.  * PhysicalDeliveryCountryName
  2452.  *
  2453.  * -- fgmr comments --
  2454.  *
  2455.  * From RFC 2459:
  2456.  *
  2457.  *  PhysicalDeliveryCountryName ::= CHOICE {
  2458.  *     x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)),
  2459.  *     iso-3166-alpha2-code PrintableString
  2460.  *                          (SIZE (ub-country-name-alpha-length)) }
  2461.  *
  2462.  * The private calls for this type:
  2463.  *
  2464.  *  nssPKIXPhysicalDeliveryCountryName_Decode
  2465.  *  nssPKIXPhysicalDeliveryCountryName_CreateFromUTF8
  2466.  *  nssPKIXPhysicalDeliveryCountryName_Encode
  2467.  *
  2468.  */
  2469. /*
  2470.  * nssPKIXPhysicalDeliveryCountryName_Decode
  2471.  *
  2472.  * -- fgmr comments --
  2473.  *
  2474.  * The error may be one of the following values:
  2475.  *  NSS_ERROR_INVALID_BER
  2476.  *  NSS_ERROR_NO_MEMORY
  2477.  *  NSS_ERROR_INVALID_ARENA
  2478.  * 
  2479.  * Return value:
  2480.  *  A valid pointer to an NSSPKIXPhysicalDeliveryCountryName upon success
  2481.  *  NULL upon failure
  2482.  */
  2483. NSS_EXTERN NSSPKIXPhysicalDeliveryCountryName *
  2484. nssPKIXPhysicalDeliveryCountryName_Decode
  2485. (
  2486.   NSSArena *arenaOpt,
  2487.   NSSBER *ber
  2488. );
  2489. /*
  2490.  * nssPKIXPhysicalDeliveryCountryName_CreateFromUTF8
  2491.  *
  2492.  * { basically just enforces the length limit }
  2493.  *
  2494.  * The error may be one of the following values:
  2495.  *  NSS_ERROR_INVALID_BER
  2496.  *  NSS_ERROR_NO_MEMORY
  2497.  *  NSS_ERROR_INVALID_ARENA
  2498.  * 
  2499.  * Return value:
  2500.  *  A valid pointer to an NSSPKIXPhysicalDeliveryCountryName upon success
  2501.  *  NULL upon failure
  2502.  */
  2503. NSS_EXTERN NSSPKIXPhysicalDeliveryCountryName *
  2504. nssPKIXPhysicalDeliveryCountryName_CreateFromUTF8
  2505. (
  2506.   NSSArena *arenaOpt,
  2507.   NSSUTF8 *utf8
  2508. );
  2509. /*
  2510.  * nssPKIXPhysicalDeliveryCountryName_Encode
  2511.  *
  2512.  *
  2513.  *
  2514.  * The error may be one of the following values:
  2515.  *  NSS_ERROR_INVALID_PKIX_PHYSICAL_DELIVERY_COUNTRY_NAME
  2516.  *  NSS_ERROR_NO_MEMORY
  2517.  *
  2518.  * Return value:
  2519.  *  A valid NSSBER pointer upon success
  2520.  *  NULL upon failure
  2521.  */
  2522. NSS_EXTERN NSSBER *
  2523. nssPKIXPhysicalDeliveryCountryName_Encode
  2524. (
  2525.   NSSPKIXPhysicalDeliveryCountryName *name,
  2526.   NSSASN1EncodingType encoding,
  2527.   NSSBER *rvOpt,
  2528.   NSSArena *arenaOpt
  2529. );
  2530. /*
  2531.  * PostalCode
  2532.  *
  2533.  * -- fgmr comments --
  2534.  *
  2535.  * From RFC 2459:
  2536.  *
  2537.  *  PostalCode ::= CHOICE {
  2538.  *     numeric-code NumericString (SIZE (1..ub-postal-code-length)),
  2539.  *     printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
  2540.  *
  2541.  * The private calls for this type:
  2542.  *
  2543.  *  nssPKIXPostalCode_Decode
  2544.  *  nssPKIXPostalCode_CreateFromUTF8
  2545.  *  nssPKIXPostalCode_Encode
  2546.  *
  2547.  */
  2548. /*
  2549.  * nssPKIXPostalCode_Decode
  2550.  *
  2551.  * -- fgmr comments --
  2552.  *
  2553.  * The error may be one of the following values:
  2554.  *  NSS_ERROR_INVALID_BER
  2555.  *  NSS_ERROR_NO_MEMORY
  2556.  *  NSS_ERROR_INVALID_ARENA
  2557.  * 
  2558.  * Return value:
  2559.  *  A valid pointer to an NSSPKIXPostalCode upon success
  2560.  *  NULL upon failure
  2561.  */
  2562. NSS_EXTERN NSSPKIXPostalCode *
  2563. nssPKIXPostalCode_Decode
  2564. (
  2565.   NSSArena *arenaOpt,
  2566.   NSSBER *ber
  2567. );
  2568. /*
  2569.  * nssPKIXPostalCode_CreateFromUTF8
  2570.  *
  2571.  * { basically just enforces the length limit }
  2572.  *
  2573.  * The error may be one of the following values:
  2574.  *  NSS_ERROR_INVALID_BER
  2575.  *  NSS_ERROR_NO_MEMORY
  2576.  *  NSS_ERROR_INVALID_ARENA
  2577.  * 
  2578.  * Return value:
  2579.  *  A valid pointer to an NSSPKIXPostalCode upon success
  2580.  *  NULL upon failure
  2581.  */
  2582. NSS_EXTERN NSSPKIXPostalCode *
  2583. nssPKIXPostalCode_CreateFromUTF8
  2584. (
  2585.   NSSArena *arenaOpt,
  2586.   NSSUTF8 *utf8
  2587. );
  2588. /*
  2589.  * nssPKIXPostalCode_Encode
  2590.  *
  2591.  *
  2592.  *
  2593.  * The error may be one of the following values:
  2594.  *  NSS_ERROR_INVALID_PKIX_POSTAL_CODE
  2595.  *  NSS_ERROR_NO_MEMORY
  2596.  *
  2597.  * Return value:
  2598.  *  A valid NSSBER pointer upon success
  2599.  *  NULL upon failure
  2600.  */
  2601. NSS_EXTERN NSSBER *
  2602. nssPKIXPostalCode_Encode
  2603. (
  2604.   NSSPKIXPostalCode *name,
  2605.   NSSASN1EncodingType encoding,
  2606.   NSSBER *rvOpt,
  2607.   NSSArena *arenaOpt
  2608. );
  2609. /*
  2610.  * PDSParameter
  2611.  *
  2612.  * -- fgmr comments --
  2613.  *
  2614.  * From RFC 2459:
  2615.  *
  2616.  *  PDSParameter ::= SET {
  2617.  *     printable-string PrintableString
  2618.  *                  (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
  2619.  *     teletex-string TeletexString
  2620.  *                  (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
  2621.  *
  2622.  * The private calls for this type:
  2623.  *
  2624.  *  nssPKIXPDSParameter_Decode
  2625.  *  nssPKIXPDSParameter_CreateFromUTF8
  2626.  *  nssPKIXPDSParameter_Create
  2627.  *  nssPKIXPDSParameter_Delete
  2628.  *  nssPKIXPDSParameter_Encode
  2629.  *  nssPKIXPDSParameter_GetUTF8Encoding
  2630.  *  nssPKIXPDSParameter_HasPrintableString
  2631.  *  nssPKIXPDSParameter_GetPrintableString
  2632.  *  nssPKIXPDSParameter_SetPrintableString
  2633.  *  nssPKIXPDSParameter_RemovePrintableString
  2634.  *  nssPKIXPDSParameter_HasTeletexString
  2635.  *  nssPKIXPDSParameter_GetTeletexString
  2636.  *  nssPKIXPDSParameter_SetTeletexString
  2637.  *  nssPKIXPDSParameter_RemoveTeletexString
  2638.  *  nssPKIXPDSParameter_Equal
  2639.  *  nssPKIXPDSParameter_Duplicate
  2640.  * 
  2641.  * In debug builds, the following call is available:
  2642.  *
  2643.  *  nssPKIXPDSParameter_verifyPointer
  2644.  */
  2645. /*
  2646.  * nssPKIXPDSParameter_Decode
  2647.  *
  2648.  * -- fgmr comments --
  2649.  *
  2650.  * The error may be one of the following values:
  2651.  *  NSS_ERROR_INVALID_BER
  2652.  *  NSS_ERROR_NO_MEMORY
  2653.  *  NSS_ERROR_INVALID_ARENA
  2654.  * 
  2655.  * Return value:
  2656.  *  A valid pointer to an NSSPKIXPDSParameter upon success
  2657.  *  NULL upon failure
  2658.  */
  2659. NSS_EXTERN NSSPKIXPDSParameter *
  2660. nssPKIXPDSParameter_Decode
  2661. (
  2662.   NSSArena *arenaOpt,
  2663.   NSSBER *ber
  2664. );
  2665. /*
  2666.  * nssPKIXPDSParameter_CreateFromUTF8
  2667.  *
  2668.  * -- fgmr comments --
  2669.  *
  2670.  * The error may be one of the following values:
  2671.  *  NSS_ERROR_INVALID_STRING
  2672.  *  NSS_ERROR_NO_MEMORY
  2673.  *  NSS_ERROR_INVALID_ARENA
  2674.  * 
  2675.  * Return value:
  2676.  *  A valid pointer to an NSSPKIXPDSParameter upon success
  2677.  *  NULL upon failure
  2678.  */
  2679. NSS_EXTERN NSSPKIXPDSParameter *
  2680. nssPKIXPDSParameter_CreateFromUTF8
  2681. (
  2682.   NSSArena *arenaOpt,
  2683.   NSSUTF8 *utf8
  2684. );
  2685. /*
  2686.  * nssPKIXPDSParameter_Create
  2687.  *
  2688.  * -- fgmr comments --
  2689.  *
  2690.  * The error may be one of the following values:
  2691.  *  NSS_ERROR_NO_MEMORY
  2692.  *  NSS_ERROR_INVALID_ARENA
  2693.  *  NSS_ERROR_INVALID_STRING
  2694.  * 
  2695.  * Return value:
  2696.  *  A valid pointer to an NSSPKIXPDSParameter upon success
  2697.  *  NULL upon failure
  2698.  */
  2699. NSS_EXTERN NSSPKIXPDSParameter *
  2700. nssPKIXPDSParameter_Create
  2701. (
  2702.   NSSArena *arenaOpt,
  2703.   NSSUTF8 *printableStringOpt,
  2704.   NSSUTF8 *teletexStringOpt
  2705. );
  2706. /*
  2707.  * nssPKIXPDSParameter_Destroy
  2708.  *
  2709.  * -- fgmr comments --
  2710.  *
  2711.  * The error may be one of the following values:
  2712.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2713.  * 
  2714.  * Return value:
  2715.  *  PR_SUCCESS upon success
  2716.  *  PR_FAILURE upon failure
  2717.  */
  2718. NSS_EXTERN PRStatus
  2719. nssPKIXPDSParameter_Destroy
  2720. (
  2721.   NSSPKIXPDSParameter *p
  2722. );
  2723. /*
  2724.  * nssPKIXPDSParameter_Encode
  2725.  *
  2726.  * -- fgmr comments --
  2727.  *
  2728.  * The error may be one of the following values:
  2729.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2730.  *  NSS_ERROR_INVALID_ARENA
  2731.  *  NSS_ERROR_NO_MEMORY
  2732.  * 
  2733.  * Return value:
  2734.  *  A valid NSSBER pointer upon success
  2735.  *  NULL upon failure
  2736.  */
  2737. NSS_EXTERN NSSBER *
  2738. nssPKIXPDSParameter_Encode
  2739. (
  2740.   NSSPKIXPDSParameter *p,
  2741.   NSSASN1EncodingType encoding,
  2742.   NSSBER *rvOpt,
  2743.   NSSArena *arenaOpt
  2744. );
  2745. /*
  2746.  * nssPKIXPDSParameter_GetUTF8Encoding
  2747.  *
  2748.  * -- fgmr comments --
  2749.  *
  2750.  * The error may be one of the following values:
  2751.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2752.  *  NSS_ERROR_INVALID_ARENA
  2753.  *  NSS_ERROR_NO_MEMORY
  2754.  * 
  2755.  * Return value:
  2756.  *  A valid NSSSUTF8 pointer upon success
  2757.  *  NULL upon failure
  2758.  */
  2759. NSS_EXTERN NSSUTF8 *
  2760. nssPKIXPDSParameter_GetUTF8Encoding
  2761. (
  2762.   NSSPKIXPDSParameter *p,
  2763.   NSSArena *arenaOpt
  2764. );
  2765. /*
  2766.  * nssPKIXPDSParameter_HasPrintableString
  2767.  *
  2768.  * -- fgmr comments --
  2769.  *
  2770.  * The error may be one of the following values:
  2771.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2772.  * 
  2773.  * Return value:
  2774.  *  PR_TRUE if it has one
  2775.  *  PR_FALSE if it doesn't
  2776.  *  PR_FALSE upon failure
  2777.  */
  2778. NSS_EXTERN PRBool
  2779. nssPKIXPDSParameter_HasPrintableString
  2780. (
  2781.   NSSPKIXPDSParameter *p,
  2782.   PRStatus *statusOpt
  2783. );
  2784. /*
  2785.  * nssPKIXPDSParameter_GetPrintableString
  2786.  *
  2787.  * -- fgmr comments --
  2788.  *
  2789.  * The error may be one of the following values:
  2790.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2791.  *  NSS_ERROR_INVALID_ARENA
  2792.  *  NSS_ERROR_NO_MEMORY
  2793.  * 
  2794.  * Return value:
  2795.  *  A valid pointer to an NSSUTF8 upon success
  2796.  *  NULL upon failure
  2797.  */
  2798. NSS_EXTERN NSSUTF8 *
  2799. nssPKIXPDSParameter_GetPrintableString
  2800. (
  2801.   NSSPKIXPDSParameter *p,
  2802.   NSSArena *arenaOpt
  2803. );
  2804. /*
  2805.  * nssPKIXPDSParameter_SetPrintableString
  2806.  *
  2807.  * -- fgmr comments --
  2808.  *
  2809.  * The error may be one of the following values:
  2810.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2811.  *  NSS_ERROR_INVALID_STRING
  2812.  *  NSS_ERROR_NO_MEMORY
  2813.  * 
  2814.  * Return value:
  2815.  *  PR_SUCCESS upon success
  2816.  *  PR_FAILURE upon failure
  2817.  */
  2818. NSS_EXTERN PRStatus
  2819. nssPKIXPDSParameter_SetPrintableString
  2820. (
  2821.   NSSPKIXPDSParameter *p,
  2822.   NSSUTF8 *printableString
  2823. );
  2824. /*
  2825.  * nssPKIXPDSParameter_RemovePrintableString
  2826.  *
  2827.  * -- fgmr comments --
  2828.  *
  2829.  * The error may be one of the following values:
  2830.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2831.  * 
  2832.  * Return value:
  2833.  *  PR_SUCCESS upon success
  2834.  *  PR_FAILURE upon failure
  2835.  */
  2836. NSS_EXTERN PRStatus
  2837. nssPKIXPDSParameter_RemovePrintableString
  2838. (
  2839.   NSSPKIXPDSParameter *p
  2840. );
  2841. /*
  2842.  * nssPKIXPDSParameter_HasTeletexString
  2843.  *
  2844.  * -- fgmr comments --
  2845.  *
  2846.  * The error may be one of the following values:
  2847.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2848.  * 
  2849.  * Return value:
  2850.  *  PR_TRUE if it has one
  2851.  *  PR_FALSE if it doesn't
  2852.  *  PR_FALSE upon failure
  2853.  */
  2854. NSS_EXTERN PRBool
  2855. nssPKIXPDSParameter_HasTeletexString
  2856. (
  2857.   NSSPKIXPDSParameter *p,
  2858.   PRStatus *statusOpt
  2859. );
  2860. /*
  2861.  * nssPKIXPDSParameter_GetTeletexString
  2862.  *
  2863.  * -- fgmr comments --
  2864.  *
  2865.  * The error may be one of the following values:
  2866.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2867.  *  NSS_ERROR_INVALID_ARENA
  2868.  *  NSS_ERROR_NO_MEMORY
  2869.  * 
  2870.  * Return value:
  2871.  *  A valid pointer to an NSSUTF8 upon success
  2872.  *  NULL upon failure
  2873.  */
  2874. NSS_EXTERN NSSUTF8 *
  2875. nssPKIXPDSParameter_GetTeletexString
  2876. (
  2877.   NSSPKIXPDSParameter *p,
  2878.   NSSArena *arenaOpt
  2879. );
  2880. /*
  2881.  * nssPKIXPDSParameter_SetTeletexString
  2882.  *
  2883.  * -- fgmr comments --
  2884.  *
  2885.  * The error may be one of the following values:
  2886.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2887.  *  NSS_ERROR_INVALID_STRING
  2888.  *  NSS_ERROR_NO_MEMORY
  2889.  * 
  2890.  * Return value:
  2891.  *  PR_SUCCESS upon success
  2892.  *  PR_FAILURE upon failure
  2893.  */
  2894. NSS_EXTERN PRStatus
  2895. nssPKIXPDSParameter_SetTeletexString
  2896. (
  2897.   NSSPKIXPDSParameter *p,
  2898.   NSSUTF8 *teletexString
  2899. );
  2900. /*
  2901.  * nssPKIXPDSParameter_RemoveTeletexString
  2902.  *
  2903.  * -- fgmr comments --
  2904.  *
  2905.  * The error may be one of the following values:
  2906.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2907.  * 
  2908.  * Return value:
  2909.  *  PR_SUCCESS upon success
  2910.  *  PR_FAILURE upon failure
  2911.  */
  2912. NSS_EXTERN PRStatus
  2913. nssPKIXPDSParameter_RemoveTeletexString
  2914. (
  2915.   NSSPKIXPDSParameter *p
  2916. );
  2917. /*
  2918.  * nssPKIXPDSParameter_Equal
  2919.  *
  2920.  * -- fgmr comments --
  2921.  *
  2922.  * The error may be one of the following values:
  2923.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2924.  * 
  2925.  * Return value:
  2926.  *  PR_TRUE if the two objects have equal values
  2927.  *  PR_FALSE otherwise
  2928.  *  PR_FALSE upon error
  2929.  */
  2930. NSS_EXTERN PRBool
  2931. nssPKIXPDSParameter_Equal
  2932. (
  2933.   NSSPKIXPDSParameter *p1,
  2934.   NSSPKIXPDSParameter *p2,
  2935.   PRStatus *statusOpt
  2936. );
  2937. /*
  2938.  * nssPKIXPDSParameter_Duplicate
  2939.  *
  2940.  * -- fgmr comments --
  2941.  *
  2942.  * The error may be one of the following values:
  2943.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2944.  *  NSS_ERROR_NO_MEMORY
  2945.  *  NSS_ERROR_INVALID_ARENA
  2946.  * 
  2947.  * Return value:
  2948.  *  A valid pointer to an NSSPKIXPDSParameter upon success
  2949.  *  NULL upon failure
  2950.  */
  2951. NSS_EXTERN NSSPKIXPDSParameter *
  2952. nssPKIXPDSParameter_Duplicate
  2953. (
  2954.   NSSPKIXPDSParameter *p,
  2955.   NSSArena *arenaOpt
  2956. );
  2957. #ifdef DEBUG
  2958. /*
  2959.  * nssPKIXPDSParameter_verifyPointer
  2960.  *
  2961.  * This method is only present in debug builds.
  2962.  *
  2963.  * If the specified pointer is a valid pointer to an NSSPKIXPDSParameter
  2964.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  2965.  * put an error on the error stack and return PR_FAILURE.
  2966.  *
  2967.  * The error may be one of the following values:
  2968.  *  NSS_ERROR_INVALID_PKIX_PDS_PARAMETER
  2969.  *
  2970.  * Return value:
  2971.  *  PR_SUCCESS if the pointer is valid
  2972.  *  PR_FAILURE if it isn't
  2973.  */
  2974. NSS_EXTERN PRStatus
  2975. nssPKIXPDSParameter_verifyPointer
  2976. (
  2977.   NSSPKIXPDSParameter *p
  2978. );
  2979. #endif /* DEBUG */
  2980. /*
  2981.  * fgmr: what about these PDS types?
  2982.  *
  2983.  * PhysicalDeliveryOfficeName
  2984.  *
  2985.  * PhysicalDeliveryOfficeNumber
  2986.  *
  2987.  * ExtensionORAddressComponents
  2988.  *
  2989.  * PhysicalDeliveryPersonalName
  2990.  *
  2991.  * PhysicalDeliveryOrganizationName
  2992.  *
  2993.  * ExtensionPhysicalDeliveryAddressComponents
  2994.  *
  2995.  * StreetAddress
  2996.  *
  2997.  * PostOfficeBoxAddress
  2998.  *
  2999.  * PosteRestanteAddress
  3000.  *
  3001.  * UniquePostalName
  3002.  *
  3003.  * LocalPostalAttributes
  3004.  *
  3005.  */
  3006. /*
  3007.  * UnformattedPostalAddress
  3008.  *
  3009.  * -- fgmr comments --
  3010.  *
  3011.  * From RFC 2459:
  3012.  *
  3013.  *  UnformattedPostalAddress ::= SET {
  3014.  *     printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
  3015.  *             PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL,
  3016.  *     teletex-string TeletexString
  3017.  *           (SIZE (1..ub-unformatted-address-length)) OPTIONAL }
  3018.  *
  3019.  * The private calls for the type:
  3020.  *
  3021.  *
  3022.  */
  3023. /*
  3024.  * ExtendedNetworkAddress
  3025.  *
  3026.  * -- fgmr comments --
  3027.  *
  3028.  * From RFC 2459:
  3029.  *
  3030.  *  ExtendedNetworkAddress ::= CHOICE {
  3031.  *     e163-4-address SEQUENCE {
  3032.  *          number [0] NumericString (SIZE (1..ub-e163-4-number-length)),
  3033.  *          sub-address [1] NumericString
  3034.  *                  (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL },
  3035.  *     psap-address [0] PresentationAddress }
  3036.  *
  3037.  * The private calls for the type:
  3038.  *
  3039.  *  nssPKIXExtendedNetworkAddress_Decode
  3040.  *  nssPKIXExtendedNetworkAddress_Create
  3041.  *  nssPKIXExtendedNetworkAddress_Encode
  3042.  *  nssPKIXExtendedNetworkAddress_Destroy
  3043.  *  nssPKIXExtendedNetworkAddress_GetChoice
  3044.  *  nssPKIXExtendedNetworkAddress_Get
  3045.  *  nssPKIXExtendedNetworkAddress_GetE1634Address
  3046.  *  nssPKIXExtendedNetworkAddress_GetPsapAddress
  3047.  *  nssPKIXExtendedNetworkAddress_Set
  3048.  *  nssPKIXExtendedNetworkAddress_SetE163Address
  3049.  *  nssPKIXExtendedNetworkAddress_SetPsapAddress
  3050.  *  nssPKIXExtendedNetworkAddress_Equal
  3051.  *  nssPKIXExtendedNetworkAddress_Duplicate
  3052.  * 
  3053.  * In debug builds, the following call is available:
  3054.  *
  3055.  *  nssPKIXExtendedNetworkAddress_verifyPointer
  3056.  *
  3057.  */
  3058. /*
  3059.  * nssPKIXExtendedNetworkAddress_Decode
  3060.  *
  3061.  * -- fgmr comments --
  3062.  *
  3063.  * The error may be one of the following values:
  3064.  *  NSS_ERROR_INVALID_BER
  3065.  *  NSS_ERROR_NO_MEMORY
  3066.  *  NSS_ERROR_INVALID_ARENA
  3067.  * 
  3068.  * Return value:
  3069.  *  A valid pointer to an NSSPKIXExtendedNetworkAddress upon success
  3070.  *  NULL upon failure
  3071.  */
  3072. NSS_EXTERN NSSPKIXExtendedNetworkAddress *
  3073. nssPKIXExtendedNetworkAddress_Decode
  3074. (
  3075.   NSSArena *arenaOpt,
  3076.   NSSBER *ber
  3077. );
  3078. /*
  3079.  * nssPKIXExtendedNetworkAddress_Create
  3080.  *
  3081.  * -- fgmr comments --
  3082.  *
  3083.  * The error may be one of the following values:
  3084.  *  NSS_ERROR_NO_MEMORY
  3085.  *  NSS_ERROR_INVALID_ARENA
  3086.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3087.  *  NSS_ERROR_INVALID_PKIX_PRESENTATION_ADDRESS
  3088.  * 
  3089.  * Return value:
  3090.  *  A valid pointer to an NSSPKIXExtendedNetworkAddress upon success
  3091.  *  NULL upon failure
  3092.  */
  3093. NSS_EXTERN NSSPKIXExtendedNetworkAddress *
  3094. nssPKIXExtendedNetworkAddress_Create
  3095. (
  3096.   NSSArena *arenaOpt,
  3097.   NSSPKIXExtendedNetworkAddressChoice choice,
  3098.   void *address
  3099. );
  3100. /*
  3101.  * nssPKIXExtendedNetworkAddress_CreateFromE1634Address
  3102.  *
  3103.  * -- fgmr comments --
  3104.  *
  3105.  * The error may be one of the following values:
  3106.  *  NSS_ERROR_NO_MEMORY
  3107.  *  NSS_ERROR_INVALID_ARENA
  3108.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3109.  * 
  3110.  * Return value:
  3111.  *  A valid pointer to an NSSPKIXExtendedNetworkAddress upon success
  3112.  *  NULL upon failure
  3113.  */
  3114. NSS_EXTERN NSSPKIXExtendedNetworkAddress *
  3115. nssPKIXExtendedNetworkAddress_CreateFromE1634Address
  3116. (
  3117.   NSSArena *arenaOpt,
  3118.   NSSPKIXe1634Address *e1634address
  3119. );
  3120. /*
  3121.  * nssPKIXExtendedNetworkAddress_CreateFromPresentationAddress
  3122.  *
  3123.  * -- fgmr comments --
  3124.  *
  3125.  * The error may be one of the following values:
  3126.  *  NSS_ERROR_NO_MEMORY
  3127.  *  NSS_ERROR_INVALID_ARENA
  3128.  *  NSS_ERROR_INVALID_PKIX_PRESENTATION_ADDRESS
  3129.  * 
  3130.  * Return value:
  3131.  *  A valid pointer to an NSSPKIXExtendedNetworkAddress upon success
  3132.  *  NULL upon failure
  3133.  */
  3134. NSS_EXTERN NSSPKIXExtendedNetworkAddress *
  3135. nssPKIXExtendedNetworkAddress_CreateFromPresentationAddress
  3136. (
  3137.   NSSArena *arenaOpt,
  3138.   NSSPKIXPresentationAddress *presentationAddress
  3139. );
  3140. /*
  3141.  * nssPKIXExtendedNetworkAddress_Destroy
  3142.  *
  3143.  * -- fgmr comments --
  3144.  *
  3145.  * The error may be one of the following values:
  3146.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3147.  * 
  3148.  * Return value:
  3149.  *  PR_SUCCESS upon success
  3150.  *  PR_FAILURE upon failure
  3151.  */
  3152. NSS_EXTERN PRStatus
  3153. nssPKIXExtendedNetworkAddress_Destroy
  3154. (
  3155.   NSSPKIXExtendedNetworkAddress *ena
  3156. );
  3157. /*
  3158.  * nssPKIXExtendedNetworkAddress_Encode
  3159.  *
  3160.  * -- fgmr comments --
  3161.  *
  3162.  * The error may be one of the following values:
  3163.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3164.  *  NSS_ERROR_INVALID_ARENA
  3165.  *  NSS_ERROR_NO_MEMORY
  3166.  * 
  3167.  * Return value:
  3168.  *  A valid NSSBER pointer upon success
  3169.  *  NULL upon failure
  3170.  */
  3171. NSS_EXTERN NSSBER *
  3172. nssPKIXExtendedNetworkAddress_Encode
  3173. (
  3174.   NSSPKIXExtendedNetworkAddress *ena,
  3175.   NSSASN1EncodingType encoding,
  3176.   NSSBER *rvOpt,
  3177.   NSSArena *arenaOpt
  3178. );
  3179. /*
  3180.  * nssPKIXExtendedNetworkAddress_GetChoice
  3181.  *
  3182.  * -- fgmr comments --
  3183.  *
  3184.  * The error may be one of the following values:
  3185.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3186.  * 
  3187.  * Return value:
  3188.  *  A valid element of the NSSPKIXExtendedNetworkAddressChoice upon
  3189.  *      success
  3190.  *  The value nssPKIXExtendedNetworkAddress_NSSinvalid upon failure
  3191.  */
  3192. NSS_EXTERN NSSPKIXExtendedNetworkAddressChoice
  3193. nssPKIXExtendedNetworkAddress_GetChoice
  3194. (
  3195.   NSSPKIXExtendedNetworkAddress *ena
  3196. );
  3197. /*
  3198.  * nssPKIXExtendedNetworkAddress_GetSpecifiedChoice
  3199.  *
  3200.  * -- fgmr comments --
  3201.  *
  3202.  * The error may be one of the following values:
  3203.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3204.  *  NSS_ERROR_INVALID_ARENA
  3205.  *  NSS_ERROR_NO_MEMORY
  3206.  *  NSS_ERROR_WRONG_CHOICE
  3207.  * 
  3208.  * Return value:
  3209.  *  A pointer...
  3210.  *  NULL upon failure
  3211.  */
  3212. NSS_EXTERN void *
  3213. nssPKIXExtendedNetworkAddress_GetSpecifiedChoice
  3214. (
  3215.   NSSPKIXExtendedNetworkAddress *ena,
  3216.   NSSPKIXExtendedNetworkAddressChoice which,
  3217.   NSSArena *arenaOpt
  3218. );
  3219. /*
  3220.  * nssPKIXExtendedNetworkAddress_GetE1634Address
  3221.  *
  3222.  * -- fgmr comments --
  3223.  *
  3224.  * The error may be one of the following values:
  3225.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3226.  *  NSS_ERROR_INVALID_ARENA
  3227.  *  NSS_ERROR_NO_MEMORY
  3228.  *  NSS_ERROR_WRONG_CHOICE
  3229.  * 
  3230.  * Return value:
  3231.  *  A valid pointer to an NSSPKIXe1643Address upon success
  3232.  *  NULL upon failure
  3233.  */
  3234. NSS_EXTERN NSSPKIXe1643Address *
  3235. nssPKIXExtendedNetworkAddress_GetE1634Address
  3236. (
  3237.   NSSPKIXExtendedNetworkAddress *ena,
  3238.   NSSArena *arenaOpt
  3239. );
  3240. /*
  3241.  * nssPKIXExtendedNetworkAddress_GetPresentationAddress
  3242.  *
  3243.  * -- fgmr comments --
  3244.  *
  3245.  * The error may be one of the following values:
  3246.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3247.  *  NSS_ERROR_INVALID_ARENA
  3248.  *  NSS_ERROR_NO_MEMORY
  3249.  *  NSS_ERROR_WRONG_CHOICE
  3250.  * 
  3251.  * Return value:
  3252.  *  A valid pointer to an NSSPKIXPresentationAddress upon success
  3253.  *  NULL upon failure
  3254.  */
  3255. NSS_EXTERN NSSPKIXPresentationAddress *
  3256. nssPKIXExtendedNetworkAddress_GetPresentationAddress
  3257. (
  3258.   NSSPKIXExtendedNetworkAddress *ena,
  3259.   NSSArena *arenaOpt
  3260. );
  3261. /*
  3262.  * nssPKIXExtendedNetworkAddress_SetSpecifiedChoice
  3263.  *
  3264.  * -- fgmr comments --
  3265.  *
  3266.  * The error may be one of the following values:
  3267.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3268.  *  NSS_ERROR_NO_MEMORY
  3269.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3270.  *  NSS_ERROR_INVALID_PKIX_PRESENTATION_ADDRESS
  3271.  * 
  3272.  * Return value:
  3273.  *  PR_SUCCESS upon success
  3274.  *  PR_FAILURE upon failure
  3275.  */
  3276. NSS_EXTERN PRStatus
  3277. nssPKIXExtendedNetworkAddress_SetSpecifiedChoice
  3278. (
  3279.   NSSPKIXExtendedNetworkAddress *ena,
  3280.   NSSPKIXExtendedNetworkAddressChoice which,
  3281.   void *address
  3282. );
  3283. /*
  3284.  * nssPKIXExtendedNetworkAddress_SetE163Address
  3285.  *
  3286.  * -- fgmr comments --
  3287.  *
  3288.  * The error may be one of the following values:
  3289.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3290.  *  NSS_ERROR_NO_MEMORY
  3291.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3292.  * 
  3293.  * Return value:
  3294.  *  PR_SUCCESS upon success
  3295.  *  PR_FAILURE upon failure
  3296.  */
  3297. NSS_EXTERN PRStatus
  3298. nssPKIXExtendedNetworkAddress_SetE163Address
  3299. (
  3300.   NSSPKIXExtendedNetworkAddress *ena,
  3301.   NSSPKIXe1634Address *e1634address
  3302. );
  3303. /*
  3304.  * nssPKIXExtendedNetworkAddress_SetPresentationAddress
  3305.  *
  3306.  * -- fgmr comments --
  3307.  *
  3308.  * The error may be one of the following values:
  3309.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3310.  *  NSS_ERROR_NO_MEMORY
  3311.  *  NSS_ERROR_INVALID_PKIX_PRESENTATION_ADDRESS
  3312.  * 
  3313.  * Return value:
  3314.  *  PR_SUCCESS upon success
  3315.  *  PR_FAILURE upon failure
  3316.  */
  3317. NSS_EXTERN PRStatus
  3318. nssPKIXExtendedNetworkAddress_SetPresentationAddress
  3319. (
  3320.   NSSPKIXExtendedNetworkAddress *ena,
  3321.   NSSPKIXPresentationAddress *presentationAddress
  3322. );
  3323. /*
  3324.  * nssPKIXExtendedNetworkAddress_Equal
  3325.  *
  3326.  * -- fgmr comments --
  3327.  *
  3328.  * The error may be one of the following values:
  3329.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3330.  * 
  3331.  * Return value:
  3332.  *  PR_TRUE if the two objects have equal values
  3333.  *  PR_FALSE otherwise
  3334.  *  PR_FALSE upon error
  3335.  */
  3336. NSS_EXTERN PRBool
  3337. nssPKIXExtendedNetworkAddress_Equal
  3338. (
  3339.   NSSPKIXExtendedNetworkAddress *ena1,
  3340.   NSSPKIXExtendedNetworkAddress *ena2,
  3341.   PRStatus *statusOpt
  3342. );
  3343. /*
  3344.  * nssPKIXExtendedNetworkAddress_Duplicate
  3345.  *
  3346.  * -- fgmr comments --
  3347.  *
  3348.  * The error may be one of the following values:
  3349.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3350.  *  NSS_ERROR_NO_MEMORY
  3351.  *  NSS_ERROR_INVALID_ARENA
  3352.  * 
  3353.  * Return value:
  3354.  *  A valid pointer to an NSSPKIXExtendedNetworkAddress upon success
  3355.  *  NULL upon failure
  3356.  */
  3357. NSS_EXTERN NSSPKIXExtendedNetworkAddress *
  3358. nssPKIXExtendedNetworkAddress_Duplicate
  3359. (
  3360.   NSSPKIXExtendedNetworkAddress *ena,
  3361.   NSSArena *arenaOpt
  3362. );
  3363. #ifdef DEBUG
  3364. /*
  3365.  * nssPKIXExtendedNetworkAddress_verifyPointer
  3366.  *
  3367.  * This method is only present in debug builds.
  3368.  *
  3369.  * If the specified pointer is a valid pointer to an NSSPKIXExtendedNetworkAddress
  3370.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  3371.  * put an error on the error stack and return PR_FAILURE.
  3372.  *
  3373.  * The error may be one of the following values:
  3374.  *  NSS_ERROR_INVALID_PKIX_EXTENDED_NETWORK_ADDRESS
  3375.  *
  3376.  * Return value:
  3377.  *  PR_SUCCESS if the pointer is valid
  3378.  *  PR_FAILURE if it isn't
  3379.  */
  3380. NSS_EXTERN PRStatus
  3381. nssPKIXExtendedNetworkAddress_verifyPointer
  3382. (
  3383.   NSSPKIXExtendedNetworkAddress *p
  3384. );
  3385. #endif /* DEBUG */
  3386. /*
  3387.  * e163-4-address
  3388.  *
  3389.  * Helper structure for ExtendedNetworkAddress.
  3390.  * -- fgmr comments --
  3391.  *
  3392.  * From RFC 2459:
  3393.  * 
  3394.  *     e163-4-address SEQUENCE {
  3395.  *          number [0] NumericString (SIZE (1..ub-e163-4-number-length)),
  3396.  *          sub-address [1] NumericString
  3397.  *                  (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL },
  3398.  * 
  3399.  * The private calls for the type:
  3400.  *
  3401.  *  nssPKIXe1634Address_Decode
  3402.  *  nssPKIXe1634Address_Create
  3403.  *  nssPKIXe1634Address_Destroy
  3404.  *  nssPKIXe1634Address_Encode
  3405.  *  nssPKIXe1634Address_GetNumber
  3406.  *  nssPKIXe1634Address_SetNumber
  3407.  *  nssPKIXe1634Address_HasSubAddress
  3408.  *  nssPKIXe1634Address_GetSubAddress
  3409.  *  nssPKIXe1634Address_SetSubAddress
  3410.  *  nssPKIXe1634Address_RemoveSubAddress
  3411.  *  nssPKIXe1634Address_Equal
  3412.  *  nssPKIXe1634Address_Duplicate
  3413.  * 
  3414.  * In debug builds, the following call is available:
  3415.  *
  3416.  *  nssPKIXe1634Address_verifyPointer
  3417.  *
  3418.  */
  3419. /*
  3420.  * nssPKIXe1634Address_Decode
  3421.  *
  3422.  * -- fgmr comments --
  3423.  *
  3424.  * The error may be one of the following values:
  3425.  *  NSS_ERROR_INVALID_BER
  3426.  *  NSS_ERROR_NO_MEMORY
  3427.  *  NSS_ERROR_INVALID_ARENA
  3428.  * 
  3429.  * Return value:
  3430.  *  A valid pointer to an NSSPKIXe1634Address upon success
  3431.  *  NULL upon failure
  3432.  */
  3433. NSS_EXTERN NSSPKIXe1634Address *
  3434. nssPKIXe1634Address_Decode
  3435. (
  3436.   NSSArena *arenaOpt,
  3437.   NSSBER *ber
  3438. );
  3439. /*
  3440.  * nssPKIXe1634Address_Create
  3441.  *
  3442.  * -- fgmr comments --
  3443.  *
  3444.  * The error may be one of the following values:
  3445.  *  NSS_ERROR_NO_MEMORY
  3446.  *  NSS_ERROR_INVALID_ARENA
  3447.  *  NSS_ERROR_INVALID_STRING
  3448.  * 
  3449.  * Return value:
  3450.  *  A valid pointer to an NSSPKIXe1634Address upon success
  3451.  *  NULL upon failure
  3452.  */
  3453. NSS_EXTERN NSSPKIXe1634Address *
  3454. nssPKIXe1634Address_Create
  3455. (
  3456.   NSSArena *arenaOpt,
  3457.   NSSUTF8 *number,
  3458.   NSSUTF8 *subAddressOpt
  3459. );
  3460. /*
  3461.  * nssPKIXe1634Address_Destroy
  3462.  *
  3463.  * -- fgmr comments --
  3464.  *
  3465.  * The error may be one of the following values:
  3466.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3467.  * 
  3468.  * Return value:
  3469.  *  PR_SUCCESS upon success
  3470.  *  PR_FAILURE upon failure
  3471.  */
  3472. NSS_EXTERN PRStatus
  3473. nssPKIXe1634Address_Destroy
  3474. (
  3475.   NSSPKIXe1634Address *e
  3476. );
  3477. /*
  3478.  * nssPKIXe1634Address_Encode
  3479.  *
  3480.  * -- fgmr comments --
  3481.  *
  3482.  * The error may be one of the following values:
  3483.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3484.  *  NSS_ERROR_INVALID_ARENA
  3485.  *  NSS_ERROR_NO_MEMORY
  3486.  * 
  3487.  * Return value:
  3488.  *  A valid NSSBER pointer upon success
  3489.  *  NULL upon failure
  3490.  */
  3491. NSS_EXTERN NSSBER *
  3492. nssPKIXe1634Address_Encode
  3493. (
  3494.   NSSPKIXe1634Address *e,
  3495.   NSSASN1EncodingType encoding,
  3496.   NSSBER *rvOpt,
  3497.   NSSArena *arenaOpt
  3498. );
  3499. /*
  3500.  * nssPKIXe1634Address_GetNumber
  3501.  *
  3502.  * -- fgmr comments --
  3503.  *
  3504.  * The error may be one of the following values:
  3505.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3506.  *  NSS_ERROR_INVALID_ARENA
  3507.  *  NSS_ERROR_NO_MEMORY
  3508.  * 
  3509.  * Return value:
  3510.  *  A valid pointer to an NSSUTF8 upon success
  3511.  *  NULL upon failure
  3512.  */
  3513. NSS_EXTERN NSSUTF8 *
  3514. nssPKIXe1634Address_GetNumber
  3515. (
  3516.   NSSPKIXe1634Address *e,
  3517.   NSSArena *arenaOpt
  3518. );
  3519. /*
  3520.  * nssPKIXe1634Address_SetNumber
  3521.  *
  3522.  * -- fgmr comments --
  3523.  *
  3524.  * The error may be one of the following values:
  3525.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3526.  *  NSS_ERROR_NO_MEMORY
  3527.  *  NSS_ERROR_INVALID_STRING
  3528.  * 
  3529.  * Return value:
  3530.  *  PR_SUCCESS upon success
  3531.  *  PR_FAILURE upon failure
  3532.  */
  3533. NSS_EXTERN PRStatus
  3534. nssPKIXe1634Address_SetNumber
  3535. (
  3536.   NSSPKIXe1634Address *e,
  3537.   NSSUTF8 *number
  3538. );
  3539. /*
  3540.  * nssPKIXe1634Address_HasSubAddress
  3541.  *
  3542.  * -- fgmr comments --
  3543.  *
  3544.  * The error may be one of the following values:
  3545.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3546.  * 
  3547.  * Return value:
  3548.  *  PR_TRUE if it has one
  3549.  *  PR_FALSE if it doesn't
  3550.  *  PR_FALSE upon failure
  3551.  */
  3552. NSS_EXTERN PRBool
  3553. nssPKIXe1634Address_HasSubAddress
  3554. (
  3555.   NSSPKIXe1634Address *e,
  3556.   PRStatus *statusOpt
  3557. );
  3558. /*
  3559.  * nssPKIXe1634Address_GetSubAddress
  3560.  *
  3561.  * -- fgmr comments --
  3562.  *
  3563.  * The error may be one of the following values:
  3564.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3565.  *  NSS_ERROR_INVALID_ARENA
  3566.  *  NSS_ERROR_NO_MEMORY
  3567.  * 
  3568.  * Return value:
  3569.  *  A valid pointer to an NSSUTF8 upon success
  3570.  *  NULL upon failure
  3571.  */
  3572. NSS_EXTERN NSSUTF8 *
  3573. nssPKIXe1634Address_GetSubAddress
  3574. (
  3575.   NSSPKIXe1634Address *e,
  3576.   NSSArena *arenaOpt
  3577. );
  3578. /*
  3579.  * nssPKIXe1634Address_SetSubAddress
  3580.  *
  3581.  * -- fgmr comments --
  3582.  *
  3583.  * The error may be one of the following values:
  3584.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3585.  *  NSS_ERROR_NO_MEMORY
  3586.  *  NSS_ERROR_INVALID_STRING
  3587.  * 
  3588.  * Return value:
  3589.  *  PR_SUCCESS upon success
  3590.  *  PR_FAILURE upon failure
  3591.  */
  3592. NSS_EXTERN PRStatus
  3593. nssPKIXe1634Address_SetSubAddress
  3594. (
  3595.   NSSPKIXe1634Address *e,
  3596.   NSSUTF8 *subAddress
  3597. );
  3598. /*
  3599.  * nssPKIXe1634Address_RemoveSubAddress
  3600.  *
  3601.  * -- fgmr comments --
  3602.  *
  3603.  * The error may be one of the following values:
  3604.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3605.  * 
  3606.  * Return value:
  3607.  *  PR_SUCCESS upon success
  3608.  *  PR_FAILURE upon failure
  3609.  */
  3610. NSS_EXTERN PRStatus
  3611. nssPKIXe1634Address_RemoveSubAddress
  3612. (
  3613.   NSSPKIXe1634Address *e
  3614. );
  3615. /*
  3616.  * nssPKIXe1634Address_Equal
  3617.  *
  3618.  * -- fgmr comments --
  3619.  *
  3620.  * The error may be one of the following values:
  3621.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3622.  * 
  3623.  * Return value:
  3624.  *  PR_TRUE if the two objects have equal values
  3625.  *  PR_FALSE otherwise
  3626.  *  PR_FALSE upon error
  3627.  */
  3628. NSS_EXTERN PRBool
  3629. nssPKIXe1634Address_Equal
  3630. (
  3631.   NSSPKIXe1634Address *e1,
  3632.   NSSPKIXe1634Address *e2,
  3633.   PRStatus *statusOpt
  3634. );
  3635. /*
  3636.  * nssPKIXe1634Address_Duplicate
  3637.  *
  3638.  * -- fgmr comments --
  3639.  *
  3640.  * The error may be one of the following values:
  3641.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3642.  *  NSS_ERROR_NO_MEMORY
  3643.  *  NSS_ERROR_INVALID_ARENA
  3644.  * 
  3645.  * Return value:
  3646.  *  A valid pointer to an NSSPKIXe1634Address upon success
  3647.  *  NULL upon failure
  3648.  */
  3649. NSS_EXTERN NSSPKIXe1634Address *
  3650. nssPKIXe1634Address_Duplicate
  3651. (
  3652.   NSSPKIXe1634Address *e,
  3653.   NSSArena *arenaOpt
  3654. );
  3655. #ifdef DEBUG
  3656. /*
  3657.  * nssPKIXe1634Address_verifyPointer
  3658.  *
  3659.  * This method is only present in debug builds.
  3660.  *
  3661.  * If the specified pointer is a valid pointer to an NSSPKIXe1634Address
  3662.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  3663.  * put an error on the error stack and return PR_FAILURE.
  3664.  *
  3665.  * The error may be one of the following values:
  3666.  *  NSS_ERROR_INVALID_PKIX_E163_4_ADDRESS
  3667.  *
  3668.  * Return value:
  3669.  *  PR_SUCCESS if the pointer is valid
  3670.  *  PR_FAILURE if it isn't
  3671.  */
  3672. NSS_EXTERN PRStatus
  3673. nssPKIXe1634Address_verifyPointer
  3674. (
  3675.   NSSPKIXe1634Address *p
  3676. );
  3677. #endif /* DEBUG */
  3678. /*
  3679.  * PresentationAddress
  3680.  *
  3681.  * -- fgmr comments --
  3682.  *
  3683.  * From RFC 2459:
  3684.  *
  3685.  *  PresentationAddress ::= SEQUENCE {
  3686.  *          pSelector       [0] EXPLICIT OCTET STRING OPTIONAL,
  3687.  *          sSelector       [1] EXPLICIT OCTET STRING OPTIONAL,
  3688.  *          tSelector       [2] EXPLICIT OCTET STRING OPTIONAL,
  3689.  *          nAddresses      [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING }
  3690.  *
  3691.  * The private calls for the type:
  3692.  *
  3693.  *  nssPKIXPresentationAddress_Decode
  3694.  *  nssPKIXPresentationAddress_Create
  3695.  *  nssPKIXPresentationAddress_Destroy
  3696.  *  nssPKIXPresentationAddress_Encode
  3697.  *  nssPKIXPresentationAddress_HasPSelector
  3698.  *  nssPKIXPresentationAddress_GetPSelector
  3699.  *  nssPKIXPresentationAddress_SetPSelector
  3700.  *  nssPKIXPresentationAddress_RemovePSelector
  3701.  *  nssPKIXPresentationAddress_HasSSelector
  3702.  *  nssPKIXPresentationAddress_GetSSelector
  3703.  *  nssPKIXPresentationAddress_SetSSelector
  3704.  *  nssPKIXPresentationAddress_RemoveSSelector
  3705.  *  nssPKIXPresentationAddress_HasTSelector
  3706.  *  nssPKIXPresentationAddress_GetTSelector
  3707.  *  nssPKIXPresentationAddress_SetTSelector
  3708.  *  nssPKIXPresentationAddress_RemoveTSelector
  3709.  *  nssPKIXPresentationAddress_HasNAddresses
  3710.  *  nssPKIXPresentationAddress_GetNAddresses
  3711.  *  nssPKIXPresentationAddress_SetNAddresses
  3712.  *  nssPKIXPresentationAddress_RemoveNAddresses
  3713.  *{NAddresses must be more complex than that}
  3714.  *  nssPKIXPresentationAddress_Compare
  3715.  *  nssPKIXPresentationAddress_Duplicate
  3716.  * 
  3717.  * In debug builds, the following call is available:
  3718.  *
  3719.  *  _verifyPointer
  3720.  *
  3721.  */
  3722. /*
  3723.  * TeletexDomainDefinedAttributes
  3724.  *
  3725.  * -- fgmr comments --
  3726.  *
  3727.  * From RFC 2459:
  3728.  *
  3729.  *  TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
  3730.  *     (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
  3731.  * 
  3732.  * The private calls for the type:
  3733.  *
  3734.  *  nssPKIXTeletexDomainDefinedAttributes_Decode
  3735.  *  nssPKIXTeletexDomainDefinedAttributes_Create
  3736.  *  nssPKIXTeletexDomainDefinedAttributes_Destroy
  3737.  *  nssPKIXTeletexDomainDefinedAttributes_Encode
  3738.  *  nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttributeCount
  3739.  *  nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttributes
  3740.  *  nssPKIXTeletexDomainDefinedAttributes_SetTeletexDomainDefinedAttributes
  3741.  *  nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttribute
  3742.  *  nssPKIXTeletexDomainDefinedAttributes_SetTeletexDomainDefinedAttribute
  3743.  *  nssPKIXTeletexDomainDefinedAttributes_InsertTeletexDomainDefinedAttribute
  3744.  *  nssPKIXTeletexDomainDefinedAttributes_AppendTeletexDomainDefinedAttribute
  3745.  *  nssPKIXTeletexDomainDefinedAttributes_RemoveTeletexDomainDefinedAttribute
  3746.  *  nssPKIXTeletexDomainDefinedAttributes_FindTeletexDomainDefinedAttribute
  3747.  *  nssPKIXTeletexDomainDefinedAttributes_Equal
  3748.  *  nssPKIXTeletexDomainDefinedAttributes_Duplicate
  3749.  * 
  3750.  * In debug builds, the following call is available:
  3751.  *
  3752.  *  nssPKIXTeletexDomainDefinedAttributes_verifyPointer
  3753.  *
  3754.  */
  3755. /*
  3756.  * nssPKIXTeletexDomainDefinedAttributes_Decode
  3757.  *
  3758.  * -- fgmr comments --
  3759.  *
  3760.  * The error may be one of the following values:
  3761.  *  NSS_ERROR_INVALID_BER
  3762.  *  NSS_ERROR_NO_MEMORY
  3763.  *  NSS_ERROR_INVALID_ARENA
  3764.  * 
  3765.  * Return value:
  3766.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttributes
  3767.  *      upon success
  3768.  *  NULL upon failure
  3769.  */
  3770. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttributes *
  3771. nssPKIXTeletexDomainDefinedAttributes_Decode
  3772. (
  3773.   NSSArena *arenaOpt,
  3774.   NSSBER *ber
  3775. );
  3776. /*
  3777.  * nssPKIXTeletexDomainDefinedAttributes_Create
  3778.  *
  3779.  * -- fgmr comments --
  3780.  *
  3781.  * The error may be one of the following values:
  3782.  *  NSS_ERROR_NO_MEMORY
  3783.  *  NSS_ERROR_INVALID_ARENA
  3784.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  3785.  *
  3786.  * Return value:
  3787.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttributes
  3788.  *      upon success
  3789.  *  NULL upon failure
  3790.  */
  3791. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttributes *
  3792. nssPKIXTeletexDomainDefinedAttributes_Create
  3793. (
  3794.   NSSArena *arenaOpt,
  3795.   NSSPKIXTeletexDomainDefinedAttribute *tdda1,
  3796.   ...
  3797. );
  3798. /*
  3799.  * nssPKIXTeletexDomainDefinedAttributes_Destroy
  3800.  *
  3801.  * -- fgmr comments --
  3802.  *
  3803.  * The error may be one of the following values:
  3804.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3805.  * 
  3806.  * Return value:
  3807.  *  PR_SUCCESS upon success
  3808.  *  PR_FAILURE upon failure
  3809.  */
  3810. NSS_EXTERN PRStatus
  3811. nssPKIXTeletexDomainDefinedAttributes_Destroy
  3812. (
  3813.   NSSPKIXTeletexDomainDefinedAttributes *tddas
  3814. );
  3815. /*
  3816.  * nssPKIXTeletexDomainDefinedAttributes_Encode
  3817.  *
  3818.  * -- fgmr comments --
  3819.  *
  3820.  * The error may be one of the following values:
  3821.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3822.  *  NSS_ERROR_INVALID_ARENA
  3823.  *  NSS_ERROR_NO_MEMORY
  3824.  * 
  3825.  * Return value:
  3826.  *  A valid NSSBER pointer upon success
  3827.  *  NULL upon failure
  3828.  */
  3829. NSS_EXTERN NSSBER *
  3830. nssPKIXTeletexDomainDefinedAttributes_Encode
  3831. (
  3832.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3833.   NSSASN1EncodingType encoding,
  3834.   NSSBER *rvOpt,
  3835.   NSSArena *arenaOpt
  3836. );
  3837. /*
  3838.  * nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttributeCount
  3839.  *
  3840.  * -- fgmr comments --
  3841.  *
  3842.  * The error may be one of the following values:
  3843.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3844.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3845.  * 
  3846.  * Return value:
  3847.  *  Nonnegative integer upon success
  3848.  *  -1 upon failure.
  3849.  */
  3850. NSS_EXTERN PRInt32
  3851. nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttributeCount
  3852. (
  3853.   NSSPKIXTeletexDomainDefinedAttributes *tddas
  3854. );
  3855. /*
  3856.  * nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttributes
  3857.  *
  3858.  * -- fgmr comments --
  3859.  *
  3860.  * The error may be one of the following values:
  3861.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3862.  *  NSS_ERROR_INVALID_ARENA
  3863.  *  NSS_ERROR_NO_MEMORY
  3864.  *  NSS_ERROR_ARRAY_TOO_SMALL
  3865.  * 
  3866.  * Return value:
  3867.  *  A valid pointer to an array of NSSPKIXTeletexDomainDefinedAttribute
  3868.  *      pointers upon success
  3869.  *  NULL upon failure
  3870.  */
  3871. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttribute **
  3872. nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttributes
  3873. (
  3874.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3875.   NSSPKIXTeletexDomainDefinedAttribute *rvOpt[],
  3876.   PRInt32 limit,
  3877.   NSSArena *arenaOpt
  3878. );
  3879. /*
  3880.  * nssPKIXTeletexDomainDefinedAttributes_SetTeletexDomainDefinedAttributes
  3881.  *
  3882.  * -- fgmr comments --
  3883.  *
  3884.  * The error may be one of the following values:
  3885.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3886.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  3887.  *  NSS_ERROR_NO_MEMORY
  3888.  * 
  3889.  * Return value:
  3890.  *  PR_SUCCESS upon success
  3891.  *  PR_FAILURE upon failure
  3892.  */
  3893. NSS_EXTERN PRStatus
  3894. nssPKIXTeletexDomainDefinedAttributes_SetTeletexDomainDefinedAttributes
  3895. (
  3896.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3897.   NSSPKIXTeletexDomainDefinedAttribute *tdda[],
  3898.   PRInt32 count
  3899. );
  3900. /*
  3901.  * nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttribute
  3902.  *
  3903.  * -- fgmr comments --
  3904.  *
  3905.  * The error may be one of the following values:
  3906.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3907.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3908.  *  NSS_ERROR_NO_MEMORY
  3909.  *  NSS_ERROR_INVALID_ARENA
  3910.  * 
  3911.  * Return value:
  3912.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttribute upon
  3913.  *      success
  3914.  *  NULL upon failure
  3915.  */
  3916. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttribute *
  3917. nssPKIXTeletexDomainDefinedAttributes_GetTeletexDomainDefinedAttribute
  3918. (
  3919.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3920.   PRInt32 i,
  3921.   NSSArena *arenaOpt
  3922. );
  3923. /*
  3924.  * nssPKIXTeletexDomainDefinedAttributes_SetTeletexDomainDefinedAttribute
  3925.  *
  3926.  * -- fgmr comments --
  3927.  *
  3928.  * The error may be one of the following values:
  3929.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3930.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  3931.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3932.  *  NSS_ERROR_NO_MEMORY
  3933.  * 
  3934.  * Return value:
  3935.  *  PR_SUCCESS upon success
  3936.  *  PR_FAILURE upon failure
  3937.  */
  3938. NSS_EXTERN PRStatus
  3939. nssPKIXTeletexDomainDefinedAttributes_SetTeletexDomainDefinedAttribute
  3940. (
  3941.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3942.   PRInt32 i,
  3943.   NSSPKIXTeletexDomainDefinedAttribute *tdda
  3944. );
  3945. /*
  3946.  * nssPKIXTeletexDomainDefinedAttributes_InsertTeletexDomainDefinedAttribute
  3947.  *
  3948.  * -- fgmr comments --
  3949.  *
  3950.  * The error may be one of the following values:
  3951.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3952.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  3953.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3954.  *  NSS_ERROR_NO_MEMORY
  3955.  * 
  3956.  * Return value:
  3957.  *  PR_SUCCESS upon success
  3958.  *  PR_FAILURE upon failure
  3959.  */
  3960. NSS_EXTERN PRStatus
  3961. nssPKIXTeletexDomainDefinedAttributes_InsertTeletexDomainDefinedAttribute
  3962. (
  3963.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3964.   PRInt32 i,
  3965.   NSSPKIXTeletexDomainDefinedAttribute *tdda
  3966. );
  3967. /*
  3968.  * nssPKIXTeletexDomainDefinedAttributes_AppendTeletexDomainDefinedAttribute
  3969.  *
  3970.  * -- fgmr comments --
  3971.  *
  3972.  * The error may be one of the following values:
  3973.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3974.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  3975.  *  NSS_ERROR_NO_MEMORY
  3976.  * 
  3977.  * Return value:
  3978.  *  PR_SUCCESS upon success
  3979.  *  PR_FAILURE upon failure
  3980.  */
  3981. NSS_EXTERN PRStatus
  3982. nssPKIXTeletexDomainDefinedAttributes_AppendTeletexDomainDefinedAttribute
  3983. (
  3984.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  3985.   NSSPKIXTeletexDomainDefinedAttribute *tdda
  3986. );
  3987. /*
  3988.  * nssPKIXTeletexDomainDefinedAttributes_RemoveTeletexDomainDefinedAttribute
  3989.  *
  3990.  * -- fgmr comments --
  3991.  *
  3992.  * The error may be one of the following values:
  3993.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  3994.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3995.  * 
  3996.  * Return value:
  3997.  *  PR_SUCCESS upon success
  3998.  *  PR_FAILURE upon failure
  3999.  */
  4000. NSS_EXTERN PRStatus
  4001. nssPKIXTeletexDomainDefinedAttributes_RemoveTeletexDomainDefinedAttribute
  4002. (
  4003.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  4004.   PRInt32 i
  4005. );
  4006. /*
  4007.  * nssPKIXTeletexDomainDefinedAttributes_FindTeletexDomainDefinedAttribute
  4008.  *
  4009.  * -- fgmr comments --
  4010.  *
  4011.  * The error may be one of the following values:
  4012.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  4013.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4014.  * 
  4015.  * Return value:
  4016.  *  The nonnegative integer upon success
  4017.  *  -1 upon failure
  4018.  */
  4019. NSS_EXTERN PRInt32
  4020. nssPKIXTeletexDomainDefinedAttributes_FindTeletexDomainDefinedAttribute
  4021. (
  4022.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  4023.   NSSPKIXTeletexDomainDefinedAttribute *tdda
  4024. );
  4025. /*
  4026.  * nssPKIXTeletexDomainDefinedAttributes_Equal
  4027.  *
  4028.  * -- fgmr comments --
  4029.  *
  4030.  * The error may be one of the following values:
  4031.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  4032.  * 
  4033.  * Return value:
  4034.  *  PR_TRUE if the two objects have equal values
  4035.  *  PR_FALSE otherwise
  4036.  *  PR_FALSE upon error
  4037.  */
  4038. NSS_EXTERN PRBool
  4039. nssPKIXTeletexDomainDefinedAttributes_Equal
  4040. (
  4041.   NSSPKIXTeletexDomainDefinedAttributes *tddas1,
  4042.   NSSPKIXTeletexDomainDefinedAttributes *tddas2,
  4043.   PRStatus *statusOpt
  4044. );
  4045. /*
  4046.  * nssPKIXTeletexDomainDefinedAttributes_Duplicate
  4047.  *
  4048.  * -- fgmr comments --
  4049.  *
  4050.  * The error may be one of the following values:
  4051.  *  NSS_ERROR_INVALID_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  4052.  *  NSS_ERROR_NO_MEMORY
  4053.  *  NSS_ERROR_INVALID_ARENA
  4054.  * 
  4055.  * Return value:
  4056.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttributes
  4057.  *      upon success
  4058.  *  NULL upon failure
  4059.  */
  4060. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttributes *
  4061. nssPKIXTeletexDomainDefinedAttributes_Duplicate
  4062. (
  4063.   NSSPKIXTeletexDomainDefinedAttributes *tddas,
  4064.   NSSArena *arenaOpt
  4065. );
  4066. #ifdef DEBUG
  4067. /*
  4068.  * nssPKIXTeletexDomainDefinedAttributes_verifyPointer
  4069.  *
  4070.  * This method is only present in debug builds.
  4071.  *
  4072.  * If the specified pointer is a valid pointer to an NSSPKIXTeletexDomainDefinedAttributes
  4073.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  4074.  * put an error on the error stack and return PR_FAILURE.
  4075.  *
  4076.  * The error may be one of the following values:
  4077.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTES
  4078.  *
  4079.  * Return value:
  4080.  *  PR_SUCCESS if the pointer is valid
  4081.  *  PR_FAILURE if it isn't
  4082.  */
  4083. NSS_EXTERN PRStatus
  4084. nssPKIXTeletexDomainDefinedAttributes_verifyPointer
  4085. (
  4086.   NSSPKIXTeletexDomainDefinedAttributes *p
  4087. );
  4088. #endif /* DEBUG */
  4089. /*
  4090.  * TeletexDomainDefinedAttribute
  4091.  *
  4092.  * -- fgmr comments --
  4093.  *
  4094.  * From RFC 2459:
  4095.  *
  4096.  *  TeletexDomainDefinedAttribute ::= SEQUENCE {
  4097.  *          type TeletexString
  4098.  *                 (SIZE (1..ub-domain-defined-attribute-type-length)),
  4099.  *          value TeletexString
  4100.  *                 (SIZE (1..ub-domain-defined-attribute-value-length)) }
  4101.  * 
  4102.  * The private calls for the type:
  4103.  *
  4104.  *  nssPKIXTeletexDomainDefinedAttribute_Decode
  4105.  *  nssPKIXTeletexDomainDefinedAttribute_CreateFromUTF8
  4106.  *  nssPKIXTeletexDomainDefinedAttribute_Create
  4107.  *  nssPKIXTeletexDomainDefinedAttribute_Destroy
  4108.  *  nssPKIXTeletexDomainDefinedAttribute_Encode
  4109.  *  nssPKIXTeletexDomainDefinedAttribute_GetUTF8Encoding
  4110.  *  nssPKIXTeletexDomainDefinedAttribute_GetType
  4111.  *  nssPKIXTeletexDomainDefinedAttribute_SetType
  4112.  *  nssPKIXTeletexDomainDefinedAttribute_GetValue
  4113.  *  nssPKIXTeletexDomainDefinedAttribute_GetValue
  4114.  *  nssPKIXTeletexDomainDefinedAttribute_Equal
  4115.  *  nssPKIXTeletexDomainDefinedAttribute_Duplicate
  4116.  * 
  4117.  * In debug builds, the following call is available:
  4118.  *
  4119.  *  nssPKIXTeletexDomainDefinedAttribute_verifyPointer
  4120.  *
  4121.  */
  4122. /*
  4123.  * nssPKIXTeletexDomainDefinedAttribute_Decode
  4124.  *
  4125.  * -- fgmr comments --
  4126.  *
  4127.  * The error may be one of the following values:
  4128.  *  NSS_ERROR_INVALID_BER
  4129.  *  NSS_ERROR_NO_MEMORY
  4130.  *  NSS_ERROR_INVALID_ARENA
  4131.  *
  4132.  * Return value:
  4133.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttribute
  4134.  *      upon success
  4135.  *  NULL upon failure
  4136.  */
  4137. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttribute *
  4138. nssPKIXTeletexDomainDefinedAttribute_Decode
  4139. (
  4140.   NSSArena *arenaOpt,
  4141.   NSSBER *ber
  4142. );
  4143. /*
  4144.  * nssPKIXTeletexDomainDefinedAttribute_CreateFromUTF8
  4145.  *
  4146.  * -- fgmr comments --
  4147.  *
  4148.  * The error may be one of the following values:
  4149.  *  NSS_ERROR_INVALID_STRING
  4150.  *  NSS_ERROR_NO_MEMORY
  4151.  *  NSS_ERROR_INVALID_ARENA
  4152.  *
  4153.  * Return value:
  4154.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttribute
  4155.  *      upon success
  4156.  *  NULL upon failure
  4157.  */
  4158. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttribute *
  4159. nssPKIXTeletexDomainDefinedAttribute_CreateFromUTF8
  4160. (
  4161.   NSSArena *arenaOpt,
  4162.   NSSUTF8 *utf8
  4163. );
  4164. /*
  4165.  * nssPKIXTeletexDomainDefinedAttribute_Create
  4166.  *
  4167.  * -- fgmr comments --
  4168.  *
  4169.  * The error may be one of the following values:
  4170.  *  NSS_ERROR_NO_MEMORY
  4171.  *  NSS_ERROR_INVALID_ARENA
  4172.  *  NSS_ERROR_INVALID_STRING
  4173.  *
  4174.  * Return value:
  4175.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttribute
  4176.  *      upon success
  4177.  *  NULL upon failure
  4178.  */
  4179. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttribute *
  4180. nssPKIXTeletexDomainDefinedAttribute_Create
  4181. (
  4182.   NSSArena *arenaOpt,
  4183.   NSSUTF8 *type,
  4184.   NSSUTF8 *value
  4185. );
  4186. /*
  4187.  * nssPKIXTeletexDomainDefinedAttribute_Destroy
  4188.  *
  4189.  * -- fgmr comments --
  4190.  *
  4191.  * The error may be one of the following values:
  4192.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4193.  *
  4194.  * Return value:
  4195.  *  PR_SUCCESS upon success
  4196.  *  PR_FAILURE upon failure
  4197.  */
  4198. NSS_EXTERN PRStatus
  4199. nssPKIXTeletexDomainDefinedAttribute_Destroy
  4200. (
  4201.   NSSPKIXTeletexDomainDefinedAttribute *tdda
  4202. );
  4203. /*
  4204.  * nssPKIXTeletexDomainDefinedAttribute_Encode
  4205.  *
  4206.  * -- fgmr comments --
  4207.  *
  4208.  * The error may be one of the following values:
  4209.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4210.  *  NSS_ERROR_INVALID_ARENA
  4211.  *  NSS_ERROR_NO_MEMORY
  4212.  *
  4213.  * Return value:
  4214.  *  A valid NSSBER pointer upon success
  4215.  *  NULL upon failure
  4216.  */
  4217. NSS_EXTERN NSSBER *
  4218. nssPKIXTeletexDomainDefinedAttribute_Encode
  4219. (
  4220.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4221.   NSSASN1EncodingType encoding,
  4222.   NSSBER *rvOpt,
  4223.   NSSArena *arenaOpt
  4224. );
  4225. /*
  4226.  * nssPKIXTeletexDomainDefinedAttribute_GetUTF8Encoding
  4227.  *
  4228.  * -- fgmr comments --
  4229.  *
  4230.  * The error may be one of the following values:
  4231.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4232.  *  NSS_ERROR_INVALID_ARENA
  4233.  *  NSS_ERROR_NO_MEMORY
  4234.  *
  4235.  * Return value:
  4236.  *  A valid NSSSUTF8 pointer upon success
  4237.  *  NULL upon failure
  4238.  */
  4239. NSS_EXTERN NSSUTF8 *
  4240. nssPKIXTeletexDomainDefinedAttribute_GetUTF8Encoding
  4241. (
  4242.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4243.   NSSArena *arenaOpt
  4244. );
  4245. /*
  4246.  * nssPKIXTeletexDomainDefinedAttribute_GetType
  4247.  *
  4248.  * -- fgmr comments --
  4249.  *
  4250.  * The error may be one of the following values:
  4251.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4252.  *  NSS_ERROR_INVALID_ARENA
  4253.  *  NSS_ERROR_NO_MEMORY
  4254.  *
  4255.  * Return value:
  4256.  *  A valid NSSSUTF8 pointer upon success
  4257.  *  NULL upon failure
  4258.  */
  4259. NSS_EXTERN NSSUTF8 *
  4260. nssPKIXTeletexDomainDefinedAttribute_GetType
  4261. (
  4262.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4263.   NSSArena *arenaOpt
  4264. );
  4265. /*
  4266.  * nssPKIXTeletexDomainDefinedAttribute_SetType
  4267.  *
  4268.  * -- fgmr comments --
  4269.  *
  4270.  * The error may be one of the following values:
  4271.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4272.  *  NSS_ERROR_NO_MEMORY
  4273.  *  NSS_ERROR_INVALID_STRING
  4274.  *
  4275.  * Return value:
  4276.  *  PR_SUCCESS upon success
  4277.  *  PR_FAILURE upon failure
  4278.  */
  4279. NSS_EXTERN PRStatus
  4280. nssPKIXTeletexDomainDefinedAttribute_SetType
  4281. (
  4282.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4283.   NSSUTF8 *type
  4284. );
  4285. /*
  4286.  * nssPKIXTeletexDomainDefinedAttribute_GetValue
  4287.  *
  4288.  * -- fgmr comments --
  4289.  *
  4290.  * The error may be one of the following values:
  4291.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4292.  *  NSS_ERROR_INVALID_ARENA
  4293.  *  NSS_ERROR_NO_MEMORY
  4294.  *
  4295.  * Return value:
  4296.  *  A valid NSSSUTF8 pointer upon success
  4297.  *  NULL upon failure
  4298.  */
  4299. NSS_EXTERN NSSUTF8 *
  4300. nssPKIXTeletexDomainDefinedAttribute_GetValue
  4301. (
  4302.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4303.   NSSArena *arenaOpt
  4304. );
  4305. /*
  4306.  * nssPKIXTeletexDomainDefinedAttribute_SetValue
  4307.  *
  4308.  * -- fgmr comments --
  4309.  *
  4310.  * The error may be one of the following values:
  4311.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4312.  *  NSS_ERROR_NO_MEMORY
  4313.  *  NSS_ERROR_INVALID_STRING
  4314.  *
  4315.  * Return value:
  4316.  *  PR_SUCCESS upon success
  4317.  *  PR_FAILURE upon failure
  4318.  */
  4319. NSS_EXTERN PRStatus
  4320. nssPKIXTeletexDomainDefinedAttribute_SetValue
  4321. (
  4322.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4323.   NSSUTF8 *value
  4324. );
  4325. /*
  4326.  * nssPKIXTeletexDomainDefinedAttribute_Equal
  4327.  *
  4328.  * -- fgmr comments --
  4329.  *
  4330.  * The error may be one of the following values:
  4331.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4332.  *
  4333.  * Return value:
  4334.  *  PR_TRUE if the two objects have equal values
  4335.  *  PR_FALSE otherwise
  4336.  *  PR_FALSE upon error
  4337.  */
  4338. NSS_EXTERN PRBool
  4339. nssPKIXTeletexDomainDefinedAttribute_Equal
  4340. (
  4341.   NSSPKIXTeletexDomainDefinedAttribute *tdda1,
  4342.   NSSPKIXTeletexDomainDefinedAttribute *tdda2,
  4343.   PRStatus *statusOpt
  4344. );
  4345. /*
  4346.  * nssPKIXTeletexDomainDefinedAttribute_Duplicate
  4347.  *
  4348.  * -- fgmr comments --
  4349.  *
  4350.  * The error may be one of the following values:
  4351.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4352.  *  NSS_ERROR_NO_MEMORY
  4353.  *  NSS_ERROR_INVALID_ARENA
  4354.  *
  4355.  * Return value:
  4356.  *  A valid pointer to an NSSPKIXTeletexDomainDefinedAttribute
  4357.  *      upon success
  4358.  *  NULL upon failure
  4359.  */
  4360. NSS_EXTERN NSSPKIXTeletexDomainDefinedAttribute *
  4361. nssPKIXTeletexDomainDefinedAttribute_Duplicate
  4362. (
  4363.   NSSPKIXTeletexDomainDefinedAttribute *tdda,
  4364.   NSSArena *arenaOpt
  4365. );
  4366. #ifdef DEBUG
  4367. /*
  4368.  * nssPKIXTeletexDomainDefinedAttribute_verifyPointer
  4369.  *
  4370.  * This method is only present in debug builds.
  4371.  *
  4372.  * If the specified pointer is a valid pointer to an NSSPKIXTeletexDomainDefinedAttribute
  4373.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  4374.  * put an error on the error stack and return PR_FAILURE.
  4375.  *
  4376.  * The error may be one of the following values:
  4377.  *  NSS_ERROR_INVALID_PKIX_TELETEX_DOMAIN_DEFINED_ATTRIBUTE
  4378.  *
  4379.  * Return value:
  4380.  *  PR_SUCCESS if the pointer is valid
  4381.  *  PR_FAILURE if it isn't
  4382.  */
  4383. NSS_EXTERN PRStatus
  4384. nssPKIXTeletexDomainDefinedAttribute_verifyPointer
  4385. (
  4386.   NSSPKIXTeletexDomainDefinedAttribute *p
  4387. );
  4388. #endif /* DEBUG */
  4389. /*
  4390.  * AuthorityKeyIdentifier
  4391.  *
  4392.  * -- fgmr comments --
  4393.  *
  4394.  * From RFC 2459:
  4395.  *
  4396.  *  AuthorityKeyIdentifier ::= SEQUENCE {
  4397.  *        keyIdentifier             [0] KeyIdentifier            OPTIONAL,
  4398.  *        authorityCertIssuer       [1] GeneralNames             OPTIONAL,
  4399.  *        authorityCertSerialNumber [2] CertificateSerialNumber  OPTIONAL }
  4400.  *      -- authorityCertIssuer and authorityCertSerialNumber shall both
  4401.  *      -- be present or both be absent
  4402.  *
  4403.  * The private calls for the type:
  4404.  *
  4405.  *  nssPKIXAuthorityKeyIdentifier_Decode
  4406.  *  nssPKIXAuthorityKeyIdentifier_Create
  4407.  *  nssPKIXAuthorityKeyIdentifier_Destroy
  4408.  *  nssPKIXAuthorityKeyIdentifier_Encode
  4409.  *  nssPKIXAuthorityKeyIdentifier_HasKeyIdentifier
  4410.  *  nssPKIXAuthorityKeyIdentifier_GetKeyIdentifier
  4411.  *  nssPKIXAuthorityKeyIdentifier_SetKeyIdentifier
  4412.  *  nssPKIXAuthorityKeyIdentifier_RemoveKeyIdentifier
  4413.  *  nssPKIXAuthorityKeyIdentifier_HasAuthorityCertIssuerAndSerialNumber
  4414.  *  nssPKIXAuthorityKeyIdentifier_RemoveAuthorityCertIssuerAndSerialNumber
  4415.  *  nssPKIXAuthorityKeyIdentifier_GetAuthorityCertIssuer
  4416.  *  nssPKIXAuthorityKeyIdentifier_GetAuthorityCertSerialNumber
  4417.  *  nssPKIXAuthorityKeyIdentifier_SetAuthorityCertIssuerAndSerialNumber
  4418.  *  nssPKIXAuthorityKeyIdentifier_Equal
  4419.  *  nssPKIXAuthorityKeyIdentifier_Duplicate
  4420.  * 
  4421.  * In debug builds, the following call is available:
  4422.  *
  4423.  *  nssPKIXAuthorityKeyIdentifier_verifyPointer
  4424.  *
  4425.  */
  4426. /*
  4427.  * nssPKIXAuthorityKeyIdentifier_Decode
  4428.  *
  4429.  * -- fgmr comments --
  4430.  *
  4431.  * The error may be one of the following values:
  4432.  *  NSS_ERROR_INVALID_BER
  4433.  *  NSS_ERROR_NO_MEMORY
  4434.  *  NSS_ERROR_INVALID_ARENA
  4435.  *
  4436.  * Return value:
  4437.  *  A valid pointer to an NSSPKIXAuthorityKeyIdentifier upon success
  4438.  *  NULL upon failure
  4439.  */
  4440. NSS_EXTERN NSSPKIXAuthorityKeyIdentifier *
  4441. nssPKIXAuthorityKeyIdentifier_Decode
  4442. (
  4443.   NSSArena *arenaOpt,
  4444.   NSSBER *ber
  4445. );
  4446. /*
  4447.  * nssPKIXAuthorityKeyIdentifier_Create
  4448.  *
  4449.  * -- fgmr comments --
  4450.  *
  4451.  * The error may be one of the following values:
  4452.  *  NSS_ERROR_NO_MEMORY
  4453.  *  NSS_ERROR_INVALID_ARENA
  4454.  *  NSS_ERROR_INVALID_ITEM
  4455.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  4456.  *  NSS_ERROR_INVALID_ARGUMENTS
  4457.  *
  4458.  * Return value:
  4459.  *  A valid pointer to an NSSPKIXAuthorityKeyIdentifier upon success
  4460.  *  NULL upon failure
  4461.  */
  4462. NSS_EXTERN NSSPKIXAuthorityKeyIdentifier *
  4463. nssPKIXAuthorityKeyIdentifier_Create
  4464. (
  4465.   NSSArena *arenaOpt,
  4466.   NSSPKIXKeyIdentifier *keyIdentifierOpt,
  4467.   NSSPKIXGeneralNames *authorityCertIssuerOpt,
  4468.   NSSPKIXCertificateSerialNumber *authorityCertSerialNumberOpt
  4469. );
  4470. /*
  4471.  * nssPKIXAuthorityKeyIdentifier_Destroy
  4472.  *
  4473.  * -- fgmr comments --
  4474.  *
  4475.  * The error may be one of the following values:
  4476.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4477.  *
  4478.  * Return value:
  4479.  *  PR_SUCCESS upon success
  4480.  *  PR_FAILURE upon failure
  4481.  */
  4482. NSS_EXTERN PRStatus
  4483. nssPKIXAuthorityKeyIdentifier_Destroy
  4484. (
  4485.   NSSPKIXAuthorityKeyIdentifier *aki
  4486. );
  4487. /*
  4488.  * nssPKIXAuthorityKeyIdentifier_Encode
  4489.  *
  4490.  * -- fgmr comments --
  4491.  *
  4492.  * The error may be one of the following values:
  4493.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4494.  *  NSS_ERROR_INVALID_ARENA
  4495.  *  NSS_ERROR_NO_MEMORY
  4496.  *
  4497.  * Return value:
  4498.  *  A valid NSSBER pointer upon success
  4499.  *  NULL upon failure
  4500.  */
  4501. NSS_EXTERN NSSBER *
  4502. nssPKIXAuthorityKeyIdentifier_Encode
  4503. (
  4504.   NSSPKIXAuthorityKeyIdentifier *aki,
  4505.   NSSASN1EncodingType encoding,
  4506.   NSSBER *rvOpt,
  4507.   NSSArena *arenaOpt
  4508. );
  4509. /*
  4510.  * nssPKIXAuthorityKeyIdentifier_HasKeyIdentifier
  4511.  *
  4512.  * -- fgmr comments --
  4513.  *
  4514.  * The error may be one of the following values:
  4515.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4516.  *
  4517.  * Return value:
  4518.  *  PR_TRUE if it has one
  4519.  *  PR_FALSE if it doesn't
  4520.  *  PR_FALSE upon failure
  4521.  */
  4522. NSS_EXTERN PRBool
  4523. nssPKIXAuthorityKeyIdentifier_HasKeyIdentifier
  4524. (
  4525.   NSSPKIXAuthorityKeyIdentifier *aki,
  4526.   PRStatus *statusOpt
  4527. );
  4528. /*
  4529.  * nssPKIXAuthorityKeyIdentifier_GetKeyIdentifier
  4530.  *
  4531.  * -- fgmr comments --
  4532.  *
  4533.  * The error may be one of the following values:
  4534.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4535.  *  NSS_ERROR_INVALID_ARENA
  4536.  *  NSS_ERROR_NO_MEMORY
  4537.  *  NSS_ERROR_HAS_NO_KEY_IDENTIFIER
  4538.  *
  4539.  * Return value:
  4540.  *  A valid pointer to an NSSPKIXKeyIdentifier upon success
  4541.  *  NULL upon failure
  4542.  */
  4543. NSS_EXTERN NSSPKIXKeyIdentifier *
  4544. nssPKIXAuthorityKeyIdentifier_GetKeyIdentifier
  4545. (
  4546.   NSSPKIXAuthorityKeyIdentifier *aki,
  4547.   NSSPKIXKeyIdentifier *rvOpt,
  4548.   NSSArena *arenaOpt
  4549. );
  4550. /*
  4551.  * nssPKIXAuthorityKeyIdentifier_SetKeyIdentifier
  4552.  *
  4553.  * -- fgmr comments --
  4554.  *
  4555.  * The error may be one of the following values:
  4556.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4557.  *  NSS_ERROR_NO_MEMORY
  4558.  *  NSS_ERROR_INVALID_ITEM
  4559.  *
  4560.  * Return value:
  4561.  *  PR_SUCCESS upon success
  4562.  *  PR_FAILURE upon failure
  4563.  */
  4564. NSS_EXTERN PRStatus
  4565. nssPKIXAuthorityKeyIdentifier_SetKeyIdentifier
  4566. (
  4567.   NSSPKIXAuthorityKeyIdentifier *aki,
  4568.   NSSPKIXKeyIdentifier *keyIdentifier
  4569. );
  4570. /*
  4571.  * nssPKIXAuthorityKeyIdentifier_RemoveKeyIdentifier
  4572.  *
  4573.  * -- fgmr comments --
  4574.  *
  4575.  * The error may be one of the following values:
  4576.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4577.  *  NSS_ERROR_HAS_NO_KEY_IDENTIFIER
  4578.  *
  4579.  * Return value:
  4580.  *  PR_SUCCESS upon success
  4581.  *  PR_FAILURE upon failure
  4582.  */
  4583. NSS_EXTERN PRStatus
  4584. nssPKIXAuthorityKeyIdentifier_RemoveKeyIdentifier
  4585. (
  4586.   NSSPKIXAuthorityKeyIdentifier *aki
  4587. );
  4588. /*
  4589.  * nssPKIXAuthorityKeyIdentifier_HasAuthorityCertIssuerAndSerialNumber
  4590.  *
  4591.  * -- fgmr comments --
  4592.  *
  4593.  * The error may be one of the following values:
  4594.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4595.  *
  4596.  * Return value:
  4597.  *  PR_TRUE if it has them
  4598.  *  PR_FALSE if it doesn't
  4599.  *  PR_FALSE upon failure
  4600.  */
  4601. NSS_EXTERN PRBool
  4602. nssPKIXAuthorityKeyIdentifier_HasAuthorityCertIssuerAndSerialNumber
  4603. (
  4604.   NSSPKIXAuthorityKeyIdentifier *aki,
  4605.   PRStatus *statusOpt
  4606. );
  4607. /*
  4608.  * nssPKIXAuthorityKeyIdentifier_RemoveAuthorityCertIssuerAndSerialNumber
  4609.  *
  4610.  * -- fgmr comments --
  4611.  *
  4612.  * The error may be one of the following values:
  4613.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4614.  *  NSS_ERROR_HAS_NO_AUTHORITY_CERT_ISSUER_AND_SERIAL_NUMBER
  4615.  *
  4616.  * Return value:
  4617.  *  PR_SUCCESS upon success
  4618.  *  PR_FAILURE upon failure
  4619.  */
  4620. NSS_EXTERN PRStatus
  4621. nssPKIXAuthorityKeyIdentifier_RemoveAuthorityCertIssuerAndSerialNumber
  4622. (
  4623.   NSSPKIXAuthorityKeyIdentifier *aki
  4624. );
  4625. /*
  4626.  * nssPKIXAuthorityKeyIdentifier_GetAuthorityCertIssuer
  4627.  *
  4628.  * -- fgmr comments --
  4629.  *
  4630.  * The error may be one of the following values:
  4631.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4632.  *  NSS_ERROR_INVALID_ARENA
  4633.  *  NSS_ERROR_NO_MEMORY
  4634.  *  NSS_ERROR_HAS_NO_AUTHORITY_CERT_ISSUER_AND_SERIAL_NUMBER
  4635.  *
  4636.  * Return value:
  4637.  *  A valid pointer to an NSSPKIXGeneralNames upon success
  4638.  *  NULL upon failure
  4639.  */
  4640. NSS_EXTERN NSSPKIXGeneralNames *
  4641. nssPKIXAuthorityKeyIdentifier_GetAuthorityCertIssuer
  4642. (
  4643.   NSSPKIXAuthorityKeyIdentifier *aki,
  4644.   NSSArena *arenaOpt
  4645. );
  4646. /*
  4647.  * nssPKIXAuthorityKeyIdentifier_GetAuthorityCertSerialNumber
  4648.  *
  4649.  * -- fgmr comments --
  4650.  *
  4651.  * The error may be one of the following values:
  4652.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4653.  *  NSS_ERROR_INVALID_ARENA
  4654.  *  NSS_ERROR_NO_MEMORY
  4655.  *  NSS_ERROR_HAS_NO_AUTHORITY_CERT_ISSUER_AND_SERIAL_NUMBER
  4656.  *
  4657.  * Return value:
  4658.  *  A valid pointer to an NSSPKIXCertificateSerialNumber upon success
  4659.  *  NULL upon failure
  4660.  */
  4661. NSS_EXTERN NSSPKIXCertificateSerialNumber *
  4662. nssPKIXAuthorityKeyIdentifier_GetAuthorityCertSerialNumber
  4663. (
  4664.   NSSPKIXAuthorityKeyIdentifier *aki,
  4665.   NSSPKIXCertificateSerialNumber *rvOpt,
  4666.   NSSArena *arenaOpt
  4667. );
  4668. /*
  4669.  * nssPKIXAuthorityKeyIdentifier_SetAuthorityCertIssuerAndSerialNumber
  4670.  *
  4671.  * -- fgmr comments --
  4672.  *
  4673.  * The error may be one of the following values:
  4674.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4675.  *  NSS_ERROR_NO_MEMORY
  4676.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  4677.  *  NSS_ERROR_INVALID_ITEM
  4678.  *
  4679.  * Return value:
  4680.  *  PR_SUCCESS upon success
  4681.  *  PR_FAILURE upon failure
  4682.  */
  4683. NSS_EXTERN PRStatus
  4684. nssPKIXAuthorityKeyIdentifier_SetAuthorityCertIssuerAndSerialNumber
  4685. (
  4686.   NSSPKIXAuthorityKeyIdentifier *aki,
  4687.   NSSPKIXGeneralNames *issuer,
  4688.   NSSPKIXCertificateSerialNumber *serialNumber
  4689. );
  4690. /*
  4691.  * nssPKIXAuthorityKeyIdentifier_Equal
  4692.  *
  4693.  * -- fgmr comments --
  4694.  *
  4695.  * The error may be one of the following values:
  4696.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4697.  *
  4698.  * Return value:
  4699.  *  PR_TRUE if the two objects have equal values
  4700.  *  PR_FALSE otherwise
  4701.  *  PR_FALSE upon error
  4702.  */
  4703. NSS_EXTERN PRBool
  4704. nssPKIXAuthorityKeyIdentifier_Equal
  4705. (
  4706.   NSSPKIXAuthorityKeyIdentifier *aki1,
  4707.   NSSPKIXAuthorityKeyIdentifier *aki2,
  4708.   PRStatus *statusOpt
  4709. );
  4710. /*
  4711.  * nssPKIXAuthorityKeyIdentifier_Duplicate
  4712.  *
  4713.  * -- fgmr comments --
  4714.  *
  4715.  * The error may be one of the following values:
  4716.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4717.  *  NSS_ERROR_NO_MEMORY
  4718.  *  NSS_ERROR_INVALID_ARENA
  4719.  *
  4720.  * Return value:
  4721.  *  A valid pointer to an NSSPKIXAuthorityKeyIdentifier upon success
  4722.  *  NULL upon failure
  4723.  */
  4724. NSS_EXTERN NSSPKIXAuthorityKeyIdentifier *
  4725. nssPKIXAuthorityKeyIdentifier_Duplicate
  4726. (
  4727.   NSSPKIXAuthorityKeyIdentifier *aki,
  4728.   NSSArena *arenaOpt
  4729. );
  4730. #ifdef DEBUG
  4731. /*
  4732.  * nssPKIXAuthorityKeyIdentifier_verifyPointer
  4733.  *
  4734.  * This method is only present in debug builds.
  4735.  *
  4736.  * If the specified pointer is a valid pointer to an NSSPKIXAuthorityKeyIdentifier
  4737.  * object, this routine will return PR_SUCCESS.  Otherwise, it will 
  4738.  * put an error on the error stack and return PR_FAILURE.
  4739.  *
  4740.  * The error may be one of the following values:
  4741.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4742.  *
  4743.  * Return value:
  4744.  *  PR_SUCCESS if the pointer is valid
  4745.  *  PR_FAILURE if it isn't
  4746.  */
  4747. NSS_EXTERN PRStatus
  4748. nssPKIXAuthorityKeyIdentifier_verifyPointer
  4749. (
  4750.   NSSPKIXAuthorityKeyIdentifier *p
  4751. );
  4752. #endif /* DEBUG */
  4753. /*
  4754.  * KeyUsage
  4755.  *
  4756.  * -- fgmr comments --
  4757.  *
  4758.  * From RFC 2459:
  4759.  *
  4760.  *  KeyUsage ::= BIT STRING {
  4761.  *       digitalSignature        (0),
  4762.  *       nonRepudiation          (1),
  4763.  *       keyEncipherment         (2),
  4764.  *       dataEncipherment        (3),
  4765.  *       keyAgreement            (4),
  4766.  *       keyCertSign             (5),
  4767.  *       cRLSign                 (6),
  4768.  *       encipherOnly            (7),
  4769.  *       decipherOnly            (8) }
  4770.  *
  4771.  * The private calls for the type:
  4772.  *
  4773.  *  nssPKIXKeyUsage_Decode
  4774.  *  nssPKIXKeyUsage_CreateFromUTF8
  4775.  *  nssPKIXKeyUsage_CreateFromValue
  4776.  *  nssPKIXKeyUsage_Destroy
  4777.  *  nssPKIXKeyUsage_Encode
  4778.  *  nssPKIXKeyUsage_GetUTF8Encoding
  4779.  *  nssPKIXKeyUsage_GetValue
  4780.  *  nssPKIXKeyUsage_SetValue
  4781.  *    { bitwise accessors? }
  4782.  *  nssPKIXKeyUsage_Equal
  4783.  *  nssPKIXKeyUsage_Duplicate
  4784.  * 
  4785.  * In debug builds, the following call is available:
  4786.  *
  4787.  *  nssPKIXKeyUsage_verifyPointer