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

CA认证

开发平台:

WINDOWS

  1.  *
  2.  * The error may be one of the following values:
  3.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  4.  *  NSS_ERROR_NO_MEMORY
  5.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  6.  *  NSS_ERROR_INVALID_ITEM
  7.  *
  8.  * Return value:
  9.  *  PR_SUCCESS upon success
  10.  *  PR_FAILURE upon failure
  11.  */
  12. NSS_EXTERN PRStatus
  13. NSSPKIXAuthorityKeyIdentifier_SetAuthorityCertIssuerAndSerialNumber
  14. (
  15.   NSSPKIXAuthorityKeyIdentifier *aki,
  16.   NSSPKIXGeneralNames *issuer,
  17.   NSSPKIXCertificateSerialNumber *serialNumber
  18. );
  19. /*
  20.  * NSSPKIXAuthorityKeyIdentifier_Equal
  21.  *
  22.  * -- fgmr comments --
  23.  *
  24.  * The error may be one of the following values:
  25.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  26.  *
  27.  * Return value:
  28.  *  PR_TRUE if the two objects have equal values
  29.  *  PR_FALSE otherwise
  30.  *  PR_FALSE upon error
  31.  */
  32. NSS_EXTERN PRBool
  33. NSSPKIXAuthorityKeyIdentifier_Equal
  34. (
  35.   NSSPKIXAuthorityKeyIdentifier *aki1,
  36.   NSSPKIXAuthorityKeyIdentifier *aki2,
  37.   PRStatus *statusOpt
  38. );
  39. /*
  40.  * NSSPKIXAuthorityKeyIdentifier_Duplicate
  41.  *
  42.  * -- fgmr comments --
  43.  *
  44.  * The error may be one of the following values:
  45.  *  NSS_ERROR_INVALID_PKIX_AUTHORITY_KEY_IDENTIFIER
  46.  *  NSS_ERROR_NO_MEMORY
  47.  *  NSS_ERROR_INVALID_ARENA
  48.  *
  49.  * Return value:
  50.  *  A valid pointer to an NSSPKIXAuthorityKeyIdentifier upon success
  51.  *  NULL upon failure
  52.  */
  53. NSS_EXTERN NSSPKIXAuthorityKeyIdentifier *
  54. NSSPKIXAuthorityKeyIdentifier_Duplicate
  55. (
  56.   NSSPKIXAuthorityKeyIdentifier *aki,
  57.   NSSArena *arenaOpt
  58. );
  59. /*
  60.  * KeyUsage
  61.  *
  62.  * -- fgmr comments --
  63.  *
  64.  * From RFC 2459:
  65.  *
  66.  *  KeyUsage ::= BIT STRING {
  67.  *       digitalSignature        (0),
  68.  *       nonRepudiation          (1),
  69.  *       keyEncipherment         (2),
  70.  *       dataEncipherment        (3),
  71.  *       keyAgreement            (4),
  72.  *       keyCertSign             (5),
  73.  *       cRLSign                 (6),
  74.  *       encipherOnly            (7),
  75.  *       decipherOnly            (8) }
  76.  *
  77.  * The public calls for the type:
  78.  *
  79.  *  NSSPKIXKeyUsage_Decode
  80.  *  NSSPKIXKeyUsage_CreateFromUTF8
  81.  *  NSSPKIXKeyUsage_CreateFromValue
  82.  *  NSSPKIXKeyUsage_Destroy
  83.  *  NSSPKIXKeyUsage_Encode
  84.  *  NSSPKIXKeyUsage_GetUTF8Encoding
  85.  *  NSSPKIXKeyUsage_GetValue
  86.  *  NSSPKIXKeyUsage_SetValue
  87.  *    { bitwise accessors? }
  88.  *  NSSPKIXKeyUsage_Equal
  89.  *  NSSPKIXKeyUsage_Duplicate
  90.  *
  91.  */
  92. /*
  93.  * NSSPKIXKeyUsage_Decode
  94.  *
  95.  * -- fgmr comments --
  96.  *
  97.  * The error may be one of the following values:
  98.  *  NSS_ERROR_INVALID_BER
  99.  *  NSS_ERROR_NO_MEMORY
  100.  *  NSS_ERROR_INVALID_ARENA
  101.  *
  102.  * Return value:
  103.  *  A valid pointer to an NSSPKIXKeyUsage upon success
  104.  *  NULL upon failure
  105.  */
  106. NSS_EXTERN NSSPKIXKeyUsage *
  107. NSSPKIXKeyUsage_Decode
  108. (
  109.   NSSArena *arenaOpt,
  110.   NSSBER *ber
  111. );
  112. /*
  113.  * NSSPKIXKeyUsage_CreateFromUTF8
  114.  *
  115.  * -- fgmr comments --
  116.  *
  117.  * The error may be one of the following values:
  118.  *  NSS_ERROR_INVALID_STRING
  119.  *  NSS_ERROR_NO_MEMORY
  120.  *  NSS_ERROR_INVALID_ARENA
  121.  *
  122.  * Return value:
  123.  *  A valid pointer to an NSSPKIXKeyUsage upon success
  124.  *  NULL upon failure
  125.  */
  126. NSS_EXTERN NSSPKIXKeyUsage *
  127. NSSPKIXKeyUsage_CreateFromUTF8
  128. (
  129.   NSSArena *arenaOpt,
  130.   NSSUTF8 *utf8
  131. );
  132. /*
  133.  * NSSPKIXKeyUsage_CreateFromValue
  134.  *
  135.  * -- fgmr comments --
  136.  *
  137.  * The error may be one of the following values:
  138.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE_VALUE
  139.  *  NSS_ERROR_NO_MEMORY
  140.  *  NSS_ERROR_INVALID_ARENA
  141.  *
  142.  * Return value:
  143.  *  A valid pointer to an NSSPKIXKeyUsage upon success
  144.  *  NULL upon failure
  145.  */
  146. NSS_EXTERN NSSPKIXKeyUsage *
  147. NSSPKIXKeyUsage_CreateFromValue
  148. (
  149.   NSSArena *arenaOpt,
  150.   NSSPKIXKeyUsageValue value
  151. );
  152. /*
  153.  * NSSPKIXKeyUsage_Destroy
  154.  *
  155.  * -- fgmr comments --
  156.  *
  157.  * The error may be one of the following values:
  158.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  159.  *
  160.  * Return value:
  161.  *  PR_SUCCESS upon success
  162.  *  PR_FAILURE upon failure
  163.  */
  164. NSS_EXTERN PRStatus
  165. NSSPKIXKeyUsage_Destroy
  166. (
  167.   NSSPKIXKeyUsage *keyUsage
  168. );
  169. /*
  170.  * NSSPKIXKeyUsage_Encode
  171.  *
  172.  * -- fgmr comments --
  173.  *
  174.  * The error may be one of the following values:
  175.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  176.  *  NSS_ERROR_INVALID_ARENA
  177.  *  NSS_ERROR_NO_MEMORY
  178.  *
  179.  * Return value:
  180.  *  A valid NSSBER pointer upon success
  181.  *  NULL upon failure
  182.  */
  183. NSS_EXTERN NSSBER *
  184. NSSPKIXKeyUsage_Encode
  185. (
  186.   NSSPKIXKeyUsage *keyUsage,
  187.   NSSASN1EncodingType encoding,
  188.   NSSBER *rvOpt,
  189.   NSSArena *arenaOpt
  190. );
  191. /*
  192.  * NSSPKIXKeyUsage_GetUTF8Encoding
  193.  *
  194.  * -- fgmr comments --
  195.  *
  196.  * The error may be one of the following values:
  197.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  198.  *  NSS_ERROR_INVALID_ARENA
  199.  *  NSS_ERROR_NO_MEMORY
  200.  *
  201.  * Return value:
  202.  *  A valid NSSUTF8 pointer upon success
  203.  *  NULL upon failure
  204.  */
  205. NSS_EXTERN NSSUTF8 *
  206. NSSPKIXKeyUsage_GetUTF8Encoding
  207. (
  208.   NSSPKIXKeyUsage *keyUsage,
  209.   NSSArena *arenaOpt
  210. );
  211. /*
  212.  * NSSPKIXKeyUsage_GetValue
  213.  *
  214.  * -- fgmr comments --
  215.  *
  216.  * The error may be one of the following values:
  217.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  218.  *
  219.  * Return value:
  220.  *  A set of NSSKeyUsageValue values OR-d together upon success
  221.  *  NSSKeyUsage_NSSinvalid upon failure
  222.  */
  223. NSS_EXTERN NSSKeyUsageValue
  224. NSSPKIXKeyUsage_GetValue
  225. (
  226.   NSSPKIXKeyUsage *keyUsage
  227. );
  228. /*
  229.  * NSSPKIXKeyUsage_SetValue
  230.  *
  231.  * -- fgmr comments --
  232.  *
  233.  * The error may be one of the following values:
  234.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  235.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE_VALUE
  236.  *
  237.  * Return value:
  238.  *  PR_SUCCESS upon success
  239.  *  PR_FAILURE upon failure
  240.  */
  241. NSS_EXTERN PRStatus
  242. NSSPKIXKeyUsage_SetValue
  243. (
  244.   NSSPKIXKeyUsage *keyUsage,
  245.   NSSPKIXKeyUsageValue value
  246. );
  247. /*
  248.  * NSSPKIXKeyUsage_Equal
  249.  *
  250.  * -- fgmr comments --
  251.  *
  252.  * The error may be one of the following values:
  253.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  254.  *
  255.  * Return value:
  256.  *  PR_TRUE if the two objects have equal values
  257.  *  PR_FALSE otherwise
  258.  *  PR_FALSE upon error
  259.  */
  260. NSS_EXTERN PRBool
  261. NSSPKIXKeyUsage_Equal
  262. (
  263.   NSSPKIXKeyUsage *keyUsage1,
  264.   NSSPKIXKeyUsage *keyUsage2,
  265.   PRStatus *statusOpt
  266. );
  267. /*
  268.  * NSSPKIXKeyUsage_Duplicate
  269.  *
  270.  * -- fgmr comments --
  271.  *
  272.  * The error may be one of the following values:
  273.  *  NSS_ERROR_INVALID_PKIX_KEY_USAGE
  274.  *  NSS_ERROR_NO_MEMORY
  275.  *  NSS_ERROR_INVALID_ARENA
  276.  *
  277.  * Return value:
  278.  *  A valid pointer to an NSSPKIXKeyUsage upon success
  279.  *  NULL upon failure
  280.  */
  281. NSS_EXTERN NSSPKIXKeyUsage *
  282. NSSPKIXKeyUsage_Duplicate
  283. (
  284.   NSSPKIXKeyUsage *keyUsage,
  285.   NSSArena *arenaOpt
  286. );
  287. /*
  288.  * PrivateKeyUsagePeriod
  289.  *
  290.  * -- fgmr comments --
  291.  *
  292.  * From RFC 2459:
  293.  *
  294.  *  PrivateKeyUsagePeriod ::= SEQUENCE {
  295.  *       notBefore       [0]     GeneralizedTime OPTIONAL,
  296.  *       notAfter        [1]     GeneralizedTime OPTIONAL }
  297.  *       -- either notBefore or notAfter shall be present
  298.  *
  299.  * The public calls for the type:
  300.  *
  301.  *  NSSPKIXPrivateKeyUsagePeriod_Decode
  302.  *  NSSPKIXPrivateKeyUsagePeriod_Create
  303.  *  NSSPKIXPrivateKeyUsagePeriod_Destroy
  304.  *  NSSPKIXPrivateKeyUsagePeriod_Encode
  305.  *  NSSPKIXPrivateKeyUsagePeriod_HasNotBefore
  306.  *  NSSPKIXPrivateKeyUsagePeriod_GetNotBefore
  307.  *  NSSPKIXPrivateKeyUsagePeriod_SetNotBefore
  308.  *  NSSPKIXPrivateKeyUsagePeriod_RemoveNotBefore
  309.  *  NSSPKIXPrivateKeyUsagePeriod_HasNotAfter
  310.  *  NSSPKIXPrivateKeyUsagePeriod_GetNotAfter
  311.  *  NSSPKIXPrivateKeyUsagePeriod_SetNotAfter
  312.  *  NSSPKIXPrivateKeyUsagePeriod_RemoveNotAfter
  313.  *  NSSPKIXPrivateKeyUsagePeriod_Equal
  314.  *  NSSPKIXPrivateKeyUsagePeriod_Duplicate
  315.  *
  316.  */
  317. /*
  318.  * NSSPKIXPrivateKeyUsagePeriod_Decode
  319.  *
  320.  * -- fgmr comments --
  321.  *
  322.  * The error may be one of the following values:
  323.  *  NSS_ERROR_INVALID_BER
  324.  *  NSS_ERROR_NO_MEMORY
  325.  *  NSS_ERROR_INVALID_ARENA
  326.  *
  327.  * Return value:
  328.  *  A valid pointer to an NSSPKIXPrivateKeyUsagePeriod upon success
  329.  *  NULL upon failure
  330.  */
  331. NSS_EXTERN NSSPKIXPrivateKeyUsagePeriod *
  332. NSSPKIXPrivateKeyUsagePeriod_Decode
  333. (
  334.   NSSArena *arenaOpt,
  335.   NSSBER *ber
  336. );
  337. /*
  338.  * NSSPKIXPrivateKeyUsagePeriod_Create
  339.  *
  340.  * -- fgmr comments --
  341.  *
  342.  * The error may be one of the following values:
  343.  *  NSS_ERROR_NO_MEMORY
  344.  *  NSS_ERROR_INVALID_ARENA
  345.  *  NSS_ERROR_INVALID_TIME
  346.  *  NSS_ERROR_INVALID_ARGUMENTS
  347.  *
  348.  * Return value:
  349.  *  A valid pointer to an NSSPKIXPrivateKeyUsagePeriod upon success
  350.  *  NULL upon failure
  351.  */
  352. NSS_EXTERN NSSPKIXPrivateKeyUsagePeriod *
  353. NSSPKIXPrivateKeyUsagePeriod_Create
  354. (
  355.   NSSArena *arenaOpt,
  356.   NSSTime *notBeforeOpt,
  357.   NSSTime *notAfterOpt
  358. );
  359. /*
  360.  * NSSPKIXPrivateKeyUsagePeriod_Destroy
  361.  *
  362.  * -- fgmr comments --
  363.  *
  364.  * The error may be one of the following values:
  365.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  366.  *
  367.  * Return value:
  368.  *  PR_SUCCESS upon success
  369.  *  PR_FAILURE upon failure
  370.  */
  371. NSS_EXTERN PRStatus
  372. NSSPKIXPrivateKeyUsagePeriod_Destroy
  373. (
  374.   NSSPKIXPrivateKeyUsagePeriod *period
  375. );
  376. /*
  377.  * NSSPKIXPrivateKeyUsagePeriod_Encode
  378.  *
  379.  * -- fgmr comments --
  380.  *
  381.  * The error may be one of the following values:
  382.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  383.  *  NSS_ERROR_INVALID_ARENA
  384.  *  NSS_ERROR_NO_MEMORY
  385.  *  NSS_ERROR_INVALID_DATA
  386.  *
  387.  * Return value:
  388.  *  A valid NSSBER pointer upon success
  389.  *  NULL upon failure
  390.  */
  391. NSS_EXTERN NSSBER *
  392. NSSPKIXPrivateKeyUsagePeriod_Encode
  393. (
  394.   NSSPKIXPrivateKeyUsagePeriod *period,
  395.   NSSASN1EncodingType encoding,
  396.   NSSBER *rvOpt,
  397.   NSSArena *arenaOpt
  398. );
  399. /*
  400.  * NSSPKIXPrivateKeyUsagePeriod_HasNotBefore
  401.  *
  402.  * -- fgmr comments --
  403.  *
  404.  * The error may be one of the following values:
  405.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  406.  *
  407.  * Return value:
  408.  *  PR_TRUE if it has one
  409.  *  PR_FALSE if it doesn't
  410.  *  PR_FALSE upon failure
  411.  */
  412. NSS_EXTERN PRBool
  413. NSSPKIXPrivateKeyUsagePeriod_HasNotBefore
  414. (
  415.   NSSPKIXPrivateKeyUsagePeriod *period,
  416.   PRStatus *statusOpt
  417. );
  418. /*
  419.  * NSSPKIXPrivateKeyUsagePeriod_GetNotBefore
  420.  *
  421.  * -- fgmr comments --
  422.  *
  423.  * The error may be one of the following values:
  424.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  425.  *  NSS_ERROR_INVALID_ARENA
  426.  *  NSS_ERROR_NO_MEMORY
  427.  *  NSS_ERROR_HAS_NO_NOT_BEFORE
  428.  *
  429.  * Return value:
  430.  *  NSSTime {fgmr!}
  431.  *  NULL upon failure
  432.  */
  433. NSS_EXTERN NSSTime *
  434. NSSPKIXPrivateKeyUsagePeriod_GetNotBefore
  435. (
  436.   NSSPKIXPrivateKeyUsagePeriod *period,
  437.   NSSArena *arenaOpt
  438. );
  439. /*
  440.  * NSSPKIXPrivateKeyUsagePeriod_SetNotBefore
  441.  *
  442.  * -- fgmr comments --
  443.  *
  444.  * The error may be one of the following values:
  445.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  446.  *  NSS_ERROR_INVALID_TIME
  447.  *  NSS_ERROR_NO_MEMORY
  448.  *
  449.  * Return value:
  450.  *  PR_SUCCESS upon success
  451.  *  PR_FAILURE upon failure
  452.  */
  453. NSS_EXTERN PRStatus
  454. NSSPKIXPrivateKeyUsagePeriod_SetNotBefore
  455. (
  456.   NSSPKIXPrivateKeyUsagePeriod *period,
  457.   NSSTime *notBefore
  458. );
  459. /*
  460.  * NSSPKIXPrivateKeyUsagePeriod_RemoveNotBefore
  461.  *
  462.  * -- fgmr comments --
  463.  *
  464.  * The error may be one of the following values:
  465.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  466.  *  NSS_ERROR_HAS_NO_NOT_BEFORE
  467.  *
  468.  * Return value:
  469.  *  PR_SUCCESS upon success
  470.  *  PR_FAILURE upon failure
  471.  */
  472. NSS_EXTERN PRStatus
  473. NSSPKIXPrivateKeyUsagePeriod_RemoveNotBefore
  474. (
  475.   NSSPKIXPrivateKeyUsagePeriod *period
  476. );
  477. /*
  478.  * NSSPKIXPrivateKeyUsagePeriod_HasNotAfter
  479.  *
  480.  * -- fgmr comments --
  481.  *
  482.  * The error may be one of the following values:
  483.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  484.  *
  485.  * Return value:
  486.  *  PR_TRUE if it has one
  487.  *  PR_FALSE if it doesn't
  488.  *  PR_FALSE upon failure
  489.  */
  490. NSS_EXTERN PRBool
  491. NSSPKIXPrivateKeyUsagePeriod_HasNotAfter
  492. (
  493.   NSSPKIXPrivateKeyUsagePeriod *period,
  494.   PRStatus *statusOpt
  495. );
  496. /*
  497.  * NSSPKIXPrivateKeyUsagePeriod_GetNotAfter
  498.  *
  499.  * -- fgmr comments --
  500.  *
  501.  * The error may be one of the following values:
  502.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  503.  *  NSS_ERROR_INVALID_ARENA
  504.  *  NSS_ERROR_NO_MEMORY
  505.  *  NSS_ERROR_HAS_NO_NOT_AFTER
  506.  *
  507.  * Return value:
  508.  *  NSSTime {fgmr!}
  509.  *  NULL upon failure
  510.  */
  511. NSS_EXTERN NSSTime *
  512. NSSPKIXPrivateKeyUsagePeriod_GetNotAfter
  513. (
  514.   NSSPKIXPrivateKeyUsagePeriod *period,
  515.   NSSArena *arenaOpt
  516. );
  517. /*
  518.  * NSSPKIXPrivateKeyUsagePeriod_SetNotAfter
  519.  *
  520.  * -- fgmr comments --
  521.  *
  522.  * The error may be one of the following values:
  523.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  524.  *  NSS_ERROR_INVALID_TIME
  525.  *  NSS_ERROR_NO_MEMORY
  526.  *
  527.  * Return value:
  528.  *  PR_SUCCESS upon success
  529.  *  PR_FAILURE upon failure
  530.  */
  531. NSS_EXTERN PRStatus
  532. NSSPKIXPrivateKeyUsagePeriod_SetNotAfter
  533. (
  534.   NSSPKIXPrivateKeyUsagePeriod *period,
  535.   NSSTime *notAfter
  536. );
  537. /*
  538.  * NSSPKIXPrivateKeyUsagePeriod_RemoveNotAfter
  539.  *
  540.  * -- fgmr comments --
  541.  *
  542.  * The error may be one of the following values:
  543.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  544.  *  NSS_ERROR_HAS_NO_NOT_AFTER
  545.  *
  546.  * Return value:
  547.  *  PR_SUCCESS upon success
  548.  *  PR_FAILURE upon failure
  549.  */
  550. NSS_EXTERN PRStatus
  551. NSSPKIXPrivateKeyUsagePeriod_RemoveNotAfter
  552. (
  553.   NSSPKIXPrivateKeyUsagePeriod *period
  554. );
  555. /*
  556.  * NSSPKIXPrivateKeyUsagePeriod_Equal
  557.  *
  558.  * -- fgmr comments --
  559.  *
  560.  * The error may be one of the following values:
  561.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  562.  *
  563.  * Return value:
  564.  *  PR_TRUE if the two objects have equal values
  565.  *  PR_FALSE otherwise
  566.  *  PR_FALSE upon error
  567.  */
  568. NSS_EXTERN PRBool
  569. NSSPKIXPrivateKeyUsagePeriod_Equal
  570. (
  571.   NSSPKIXPrivateKeyUsagePeriod *period1,
  572.   NSSPKIXPrivateKeyUsagePeriod *period2,
  573.   PRStatus *statusOpt
  574. );
  575. /*
  576.  * NSSPKIXPrivateKeyUsagePeriod_Duplicate
  577.  *
  578.  * -- fgmr comments --
  579.  *
  580.  * The error may be one of the following values:
  581.  *  NSS_ERROR_INVALID_PKIX_PRIVATE_KEY_USAGE_PERIOD
  582.  *  NSS_ERROR_NO_MEMORY
  583.  *  NSS_ERROR_INVALID_ARENA
  584.  *
  585.  * Return value:
  586.  *  A valid pointer to an NSSPKIXPrivateKeyUsagePeriod upon success
  587.  *  NULL upon failure
  588.  */
  589. NSS_EXTERN NSSPKIXPrivateKeyUsagePeriod *
  590. NSSPKIXPrivateKeyUsagePeriod_Duplicate
  591. (
  592.   NSSPKIXPrivateKeyUsagePeriod *period,
  593.   NSSArena *arenaOpt
  594. );
  595. /*
  596.  * CertificatePolicies
  597.  *
  598.  * -- fgmr comments --
  599.  *
  600.  * From RFC 2459:
  601.  *
  602.  *  CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
  603.  *
  604.  * The public calls for the type:
  605.  *
  606.  *  NSSPKIXCertificatePolicies_Decode
  607.  *  NSSPKIXCertificatePolicies_Create
  608.  *  NSSPKIXCertificatePolicies_Destroy
  609.  *  NSSPKIXCertificatePolicies_Encode
  610.  *  NSSPKIXCertificatePolicies_GetPolicyInformationCount
  611.  *  NSSPKIXCertificatePolicies_GetPolicyInformations
  612.  *  NSSPKIXCertificatePolicies_SetPolicyInformations
  613.  *  NSSPKIXCertificatePolicies_GetPolicyInformation
  614.  *  NSSPKIXCertificatePolicies_SetPolicyInformation
  615.  *  NSSPKIXCertificatePolicies_InsertPolicyInformation
  616.  *  NSSPKIXCertificatePolicies_AppendPolicyInformation
  617.  *  NSSPKIXCertificatePolicies_RemovePolicyInformation
  618.  *  NSSPKIXCertificatePolicies_FindPolicyInformation
  619.  *  NSSPKIXCertificatePolicies_Equal
  620.  *  NSSPKIXCertificatePolicies_Duplicate
  621.  *
  622.  */
  623. /*
  624.  * NSSPKIXCertificatePolicies_Decode
  625.  *
  626.  * -- fgmr comments --
  627.  *
  628.  * The error may be one of the following values:
  629.  *  NSS_ERROR_INVALID_BER
  630.  *  NSS_ERROR_NO_MEMORY
  631.  *  NSS_ERROR_INVALID_ARENA
  632.  *
  633.  * Return value:
  634.  *  A valid pointer to an NSSPKIXCertificatePolicies upon success
  635.  *  NULL upon failure
  636.  */
  637. NSS_EXTERN NSSPKIXCertificatePolicies *
  638. NSSPKIXCertificatePolicies_Decode
  639. (
  640.   NSSArena *arenaOpt,
  641.   NSSBER *ber
  642. );
  643. /*
  644.  * NSSPKIXCertificatePolicies_Create
  645.  *
  646.  * -- fgmr comments --
  647.  *
  648.  * The error may be one of the following values:
  649.  *  NSS_ERROR_NO_MEMORY
  650.  *  NSS_ERROR_INVALID_ARENA
  651.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  652.  *
  653.  * Return value:
  654.  *  A valid pointer to an NSSPKIXCertificatePolicies upon success
  655.  *  NULL upon failure
  656.  */
  657. NSS_EXTERN NSSPKIXCertificatePolicies *
  658. NSSPKIXCertificatePolicies_Create
  659. (
  660.   NSSArena *arenaOpt,
  661.   NSSPKIXPolicyInformation *pi1,
  662.   ...
  663. );
  664. /*
  665.  * NSSPKIXCertificatePolicies_Destroy
  666.  *
  667.  * -- fgmr comments --
  668.  *
  669.  * The error may be one of the following values:
  670.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  671.  *
  672.  * Return value:
  673.  *  PR_SUCCESS upon success
  674.  *  PR_FAILURE upon failure
  675.  */
  676. NSS_EXTERN PRStatus
  677. NSSPKIXCertificatePolicies_Destroy
  678. (
  679.   NSSPKIXCertificatePolicies *cp
  680. );
  681. /*
  682.  * NSSPKIXCertificatePolicies_Encode
  683.  *
  684.  * -- fgmr comments --
  685.  *
  686.  * The error may be one of the following values:
  687.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  688.  *  NSS_ERROR_INVALID_ARENA
  689.  *  NSS_ERROR_NO_MEMORY
  690.  *
  691.  * Return value:
  692.  *  A valid NSSBER pointer upon success
  693.  *  NULL upon failure
  694.  */
  695. NSS_EXTERN NSSBER *
  696. NSSPKIXCertificatePolicies_Encode
  697. (
  698.   NSSPKIXCertificatePolicies *cp,
  699.   NSSASN1EncodingType encoding,
  700.   NSSBER *rvOpt,
  701.   NSSArena *arenaOpt
  702. );
  703. /*
  704.  * NSSPKIXCertificatePolicies_GetPolicyInformationCount
  705.  *
  706.  * -- fgmr comments --
  707.  *
  708.  * The error may be one of the following values:
  709.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  710.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  711.  *
  712.  * Return value:
  713.  *  Nonnegative integer upon success
  714.  *  -1 upon failure.
  715.  */
  716. NSS_EXTERN PRInt32
  717. NSSPKIXCertificatePolicies_GetPolicyInformationCount
  718. (
  719.   NSSPKIXCertificatePolicies *cp
  720. );
  721. /*
  722.  * NSSPKIXCertificatePolicies_GetPolicyInformations
  723.  *
  724.  * We regret the function name.
  725.  *
  726.  * The error may be one of the following values:
  727.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  728.  *  NSS_ERROR_INVALID_ARENA
  729.  *  NSS_ERROR_NO_MEMORY
  730.  *  NSS_ERROR_ARRAY_TOO_SMALL
  731.  *
  732.  * Return value:
  733.  *  A valid pointer to an array of NSSPKIXPolicyInformation pointers
  734.  *      upon success
  735.  *  NULL upon failure
  736.  */
  737. NSS_EXTERN NSSPKIXPolicyInformation **
  738. NSSPKIXCertificatePolicies_GetPolicyInformations
  739. (
  740.   NSSPKIXCertificatePolicies *cp,
  741.   NSSPKIXPolicyInformation *rvOpt[],
  742.   PRInt32 limit,
  743.   NSSArena *arenaOpt
  744. );
  745. /*
  746.  * NSSPKIXCertificatePolicies_SetPolicyInformations
  747.  *
  748.  * -- fgmr comments --
  749.  *
  750.  * The error may be one of the following values:
  751.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  752.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  753.  *  NSS_ERROR_NO_MEMORY
  754.  *
  755.  * Return value:
  756.  *  PR_SUCCESS upon success
  757.  *  PR_FAILURE upon failure
  758.  */
  759. NSS_EXTERN PRStatus
  760. NSSPKIXCertificatePolicies_SetPolicyInformations
  761. (
  762.   NSSPKIXCertificatePolicies *cp,
  763.   NSSPKIXPolicyInformation *pi[],
  764.   PRInt32 count
  765. );
  766. /*
  767.  * NSSPKIXCertificatePolicies_GetPolicyInformation
  768.  *
  769.  * -- fgmr comments --
  770.  *
  771.  * The error may be one of the following values:
  772.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  773.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  774.  *  NSS_ERROR_NO_MEMORY
  775.  *  NSS_ERROR_INVALID_ARENA
  776.  *
  777.  * Return value:
  778.  *  A valid pointer to an NSSPKIXPolicyInformation upon success
  779.  *  NULL upon failure
  780.  */
  781. NSS_EXTERN NSSPKIXPolicyInformation *
  782. NSSPKIXCertificatePolicies_GetPolicyInformation
  783. (
  784.   NSSPKIXCertificatePolicies *cp,
  785.   PRInt32 i,
  786.   NSSArena *arenaOpt
  787. );
  788. /*
  789.  * NSSPKIXCertificatePolicies_SetPolicyInformation
  790.  *
  791.  * -- fgmr comments --
  792.  *
  793.  * The error may be one of the following values:
  794.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  795.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  796.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  797.  *  NSS_ERROR_NO_MEMORY
  798.  *
  799.  * Return value:
  800.  *  PR_SUCCESS upon success
  801.  *  PR_FAILURE upon failure
  802.  */
  803. NSS_EXTERN PRStatus
  804. NSSPKIXCertificatePolicies_SetPolicyInformation
  805. (
  806.   NSSPKIXCertificatePolicies *cp,
  807.   PRInt32 i,
  808.   NSSPKIXPolicyInformation *pi
  809. );
  810. /*
  811.  * NSSPKIXCertificatePolicies_InsertPolicyInformation
  812.  *
  813.  * -- fgmr comments --
  814.  *
  815.  * The error may be one of the following values:
  816.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  817.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  818.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  819.  *  NSS_ERROR_NO_MEMORY
  820.  *
  821.  * Return value:
  822.  *  PR_SUCCESS upon success
  823.  *  PR_FAILURE upon failure
  824.  */
  825. NSS_EXTERN PRStatus
  826. NSSPKIXCertificatePolicies_InsertPolicyInformation
  827. (
  828.   NSSPKIXCertificatePolicies *cp,
  829.   PRInt32 i,
  830.   NSSPKIXPolicyInformation *pi
  831. );
  832. /*
  833.  * NSSPKIXCertificatePolicies_AppendPolicyInformation
  834.  *
  835.  * -- fgmr comments --
  836.  *
  837.  * The error may be one of the following values:
  838.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  839.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  840.  *  NSS_ERROR_NO_MEMORY
  841.  *
  842.  * Return value:
  843.  *  PR_SUCCESS upon success
  844.  *  PR_FAILURE upon failure
  845.  */
  846. NSS_EXTERN PRStatus
  847. NSSPKIXCertificatePolicies_AppendPolicyInformation
  848. (
  849.   NSSPKIXCertificatePolicies *cp,
  850.   NSSPKIXPolicyInformation *pi
  851. );
  852. /*
  853.  * NSSPKIXCertificatePolicies_RemovePolicyInformation
  854.  *
  855.  * -- fgmr comments --
  856.  *
  857.  * The error may be one of the following values:
  858.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  859.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  860.  *
  861.  * Return value:
  862.  *  PR_SUCCESS upon success
  863.  *  PR_FAILURE upon failure
  864.  */
  865. NSS_EXTERN PRStatus
  866. NSSPKIXCertificatePolicies_RemovePolicyInformation
  867. (
  868.   NSSPKIXCertificatePolicies *cp,
  869.   PRInt32 i
  870. );
  871. /*
  872.  * NSSPKIXCertificatePolicies_FindPolicyInformation
  873.  *
  874.  * -- fgmr comments --
  875.  *
  876.  * The error may be one of the following values:
  877.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  878.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  879.  *
  880.  * Return value:
  881.  *  The nonnegative integer upon success
  882.  *  -1 upon failure
  883.  */
  884. NSS_EXTERN PRInt32
  885. NSSPKIXCertificatePolicies_FindPolicyInformation
  886. (
  887.   NSSPKIXCertificatePolicies *cp,
  888.   NSSPKIXPolicyInformation *pi
  889. );
  890. /*
  891.  * NSSPKIXCertificatePolicies_Equal
  892.  *
  893.  * -- fgmr comments --
  894.  *
  895.  * The error may be one of the following values:
  896.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  897.  *
  898.  * Return value:
  899.  *  PR_TRUE if the two objects have equal values
  900.  *  PR_FALSE otherwise
  901.  *  PR_FALSE upon error
  902.  */
  903. NSS_EXTERN PRBool
  904. NSSPKIXCertificatePolicies_Equal
  905. (
  906.   NSSPKIXCertificatePolicies *cp1,
  907.   NSSPKIXCertificatePolicies *cp2,
  908.   PRStatus *statusOpt
  909. );
  910. /*
  911.  * NSSPKIXCertificatePolicies_Duplicate
  912.  *
  913.  * -- fgmr comments --
  914.  *
  915.  * The error may be one of the following values:
  916.  *  NSS_ERROR_INVALID_PKIX_CERTIFICATE_POLICIES
  917.  *  NSS_ERROR_NO_MEMORY
  918.  *  NSS_ERROR_INVALID_ARENA
  919.  *
  920.  * Return value:
  921.  *  A valid pointer to an NSSPKIXCertificatePolicies upon success
  922.  *  NULL upon failure
  923.  */
  924. NSS_EXTERN NSSPKIXCertificatePolicies *
  925. NSSPKIXCertificatePolicies_Duplicate
  926. (
  927.   NSSPKIXCertificatePolicies *cp,
  928.   NSSArena *arenaOpt
  929. );
  930. /*
  931.  * PolicyInformation
  932.  *
  933.  * -- fgmr comments --
  934.  *
  935.  * From RFC 2459:
  936.  *
  937.  *  PolicyInformation ::= SEQUENCE {
  938.  *       policyIdentifier   CertPolicyId,
  939.  *       policyQualifiers   SEQUENCE SIZE (1..MAX) OF
  940.  *               PolicyQualifierInfo OPTIONAL }
  941.  *
  942.  * The public calls for the type:
  943.  *
  944.  *  NSSPKIXPolicyInformation_Decode
  945.  *  NSSPKIXPolicyInformation_Create
  946.  *  NSSPKIXPolicyInformation_Destroy
  947.  *  NSSPKIXPolicyInformation_Encode
  948.  *  NSSPKIXPolicyInformation_GetPolicyIdentifier
  949.  *  NSSPKIXPolicyInformation_SetPolicyIdentifier
  950.  *  NSSPKIXPolicyInformation_GetPolicyQualifierCount
  951.  *  NSSPKIXPolicyInformation_GetPolicyQualifiers
  952.  *  NSSPKIXPolicyInformation_SetPolicyQualifiers
  953.  *  NSSPKIXPolicyInformation_GetPolicyQualifier
  954.  *  NSSPKIXPolicyInformation_SetPolicyQualifier
  955.  *  NSSPKIXPolicyInformation_InsertPolicyQualifier
  956.  *  NSSPKIXPolicyInformation_AppendPolicyQualifier
  957.  *  NSSPKIXPolicyInformation_RemovePolicyQualifier
  958.  *  NSSPKIXPolicyInformation_Equal
  959.  *  NSSPKIXPolicyInformation_Duplicate
  960.  *    { and accessors by specific policy qualifier ID }
  961.  *
  962.  */
  963. /*
  964.  * NSSPKIXPolicyInformation_Decode
  965.  *
  966.  * -- fgmr comments --
  967.  *
  968.  * The error may be one of the following values:
  969.  *  NSS_ERROR_INVALID_BER
  970.  *  NSS_ERROR_NO_MEMORY
  971.  *  NSS_ERROR_INVALID_ARENA
  972.  *
  973.  * Return value:
  974.  *  A valid pointer to an NSSPKIXPolicyInformation upon success
  975.  *  NULL upon failure
  976.  */
  977. NSS_EXTERN NSSPKIXPolicyInformation *
  978. NSSPKIXPolicyInformation_Decode
  979. (
  980.   NSSArena *arenaOpt,
  981.   NSSBER *ber
  982. );
  983. /*
  984.  * NSSPKIXPolicyInformation_Create
  985.  *
  986.  * -- fgmr comments --
  987.  *
  988.  * The error may be one of the following values:
  989.  *  NSS_ERROR_NO_MEMORY
  990.  *  NSS_ERROR_INVALID_ARENA
  991.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  992.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  993.  *
  994.  * Return value:
  995.  *  A valid pointer to an NSSPKIXPolicyInformation upon success
  996.  *  NULL upon failure
  997.  */
  998. NSS_EXTERN NSSPKIXPolicyInformation *
  999. NSSPKIXPolicyInformation_Create
  1000. (
  1001.   NSSArena *arenaOpt,
  1002.   NSSPKIXCertPolicyId *id,
  1003.   NSSPKIXPolicyQualifierInfo *pqi1,
  1004.   ...
  1005. );
  1006. /*
  1007.  * NSSPKIXPolicyInformation_Destroy
  1008.  *
  1009.  * -- fgmr comments --
  1010.  *
  1011.  * The error may be one of the following values:
  1012.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1013.  *
  1014.  * Return value:
  1015.  *  PR_SUCCESS upon success
  1016.  *  PR_FAILURE upon failure
  1017.  */
  1018. NSS_EXTERN PRStatus
  1019. NSSPKIXPolicyInformation_Destroy
  1020. (
  1021.   NSSPKIXPolicyInformation *pi
  1022. );
  1023. /*
  1024.  * NSSPKIXPolicyInformation_Encode
  1025.  *
  1026.  * -- fgmr comments --
  1027.  *
  1028.  * The error may be one of the following values:
  1029.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1030.  *  NSS_ERROR_INVALID_ARENA
  1031.  *  NSS_ERROR_NO_MEMORY
  1032.  *
  1033.  * Return value:
  1034.  *  A valid NSSBER pointer upon success
  1035.  *  NULL upon failure
  1036.  */
  1037. NSS_EXTERN NSSBER *
  1038. NSSPKIXPolicyInformation_Encode
  1039. (
  1040.   NSSPKIXPolicyInformation *pi,
  1041.   NSSASN1EncodingType encoding,
  1042.   NSSBER *rvOpt,
  1043.   NSSArena *arenaOpt
  1044. );
  1045. /*
  1046.  * NSSPKIXPolicyInformation_GetPolicyIdentifier
  1047.  *
  1048.  * -- fgmr comments --
  1049.  *
  1050.  * The error may be one of the following values:
  1051.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1052.  *  NSS_ERROR_NO_MEMORY
  1053.  *
  1054.  * Return value:
  1055.  *  A valid OID upon success
  1056.  *  NULL upon failure
  1057.  */
  1058. NSS_EXTERN NSSPKIXCertPolicyId *
  1059. NSSPKIXPolicyInformation_GetPolicyIdentifier
  1060. (
  1061.   NSSPKIXPolicyInformation *pi
  1062. );
  1063. /*
  1064.  * NSSPKIXPolicyInformation_SetPolicyIdentifier
  1065.  *
  1066.  * -- fgmr comments --
  1067.  *
  1068.  * The error may be one of the following values:
  1069.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1070.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  1071.  *
  1072.  * Return value:
  1073.  *  PR_SUCCESS upon success
  1074.  *  PR_FAILURE upon failure
  1075.  */
  1076. NSS_EXTERN PRStatus
  1077. NSSPKIXPolicyInformation_SetPolicyIdentifier
  1078. (
  1079.   NSSPKIXPolicyInformation *pi,
  1080.   NSSPKIXCertPolicyIdentifier *cpi
  1081. );
  1082. /*
  1083.  * NSSPKIXPolicyInformation_GetPolicyQualifierCount
  1084.  *
  1085.  * -- fgmr comments --
  1086.  *
  1087.  * The error may be one of the following values:
  1088.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1089.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  1090.  *
  1091.  * Return value:
  1092.  *  Nonnegative integer upon success
  1093.  *  -1 upon failure.
  1094.  */
  1095. NSS_EXTERN PRInt32
  1096. NSSPKIXPolicyInformation_GetPolicyQualifierCount
  1097. (
  1098.   NSSPKIXPolicyInformation *pi
  1099. );
  1100. /*
  1101.  * NSSPKIXPolicyInformation_GetPolicyQualifiers
  1102.  *
  1103.  * -- fgmr comments --
  1104.  *
  1105.  * The error may be one of the following values:
  1106.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1107.  *  NSS_ERROR_INVALID_ARENA
  1108.  *  NSS_ERROR_NO_MEMORY
  1109.  *  NSS_ERROR_ARRAY_TOO_SMALL
  1110.  *
  1111.  * Return value:
  1112.  *  A valid pointer to an array of NSSPKIXPolicyQualifierInfo pointers
  1113.  *      upon success
  1114.  *  NULL upon failure
  1115.  */
  1116. NSS_EXTERN NSSPKIXPolicyQualifierInfo **
  1117. NSSPKIXPolicyInformation_GetPolicyQualifiers
  1118. (
  1119.   NSSPKIXPolicyInformation *pi,
  1120.   NSSPKIXPolicyQualifierInfo *rvOpt[],
  1121.   PRInt32 limit,
  1122.   NSSArena *arenaOpt
  1123. );
  1124. /*
  1125.  * NSSPKIXPolicyInformation_SetPolicyQualifiers
  1126.  *
  1127.  * -- fgmr comments --
  1128.  *
  1129.  * The error may be one of the following values:
  1130.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1131.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1132.  *  NSS_ERROR_NO_MEMORY
  1133.  *
  1134.  * Return value:
  1135.  *  PR_SUCCESS upon success
  1136.  *  PR_FAILURE upon failure
  1137.  */
  1138. NSS_EXTERN PRStatus
  1139. NSSPKIXPolicyInformation_SetPolicyQualifiers
  1140. (
  1141.   NSSPKIXPolicyInformation *pi,
  1142.   NSSPKIXPolicyQualifierInfo *pqi[],
  1143.   PRInt32 count
  1144. );
  1145. /*
  1146.  * NSSPKIXPolicyInformation_GetPolicyQualifier
  1147.  *
  1148.  * -- fgmr comments --
  1149.  *
  1150.  * The error may be one of the following values:
  1151.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1152.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  1153.  *  NSS_ERROR_NO_MEMORY
  1154.  *  NSS_ERROR_INVALID_ARENA
  1155.  *
  1156.  * Return value:
  1157.  *  A valid pointer to an NSSPKIXPolicyQualifierInfo upon success
  1158.  *  NULL upon failure
  1159.  */
  1160. NSS_EXTERN NSSPKIXPolicyQualifierInfo *
  1161. NSSPKIXPolicyInformation_GetPolicyQualifier
  1162. (
  1163.   NSSPKIXPolicyInformation *pi,
  1164.   PRInt32 i,
  1165.   NSSArena *arenaOpt
  1166. );
  1167. /*
  1168.  * NSSPKIXPolicyInformation_SetPolicyQualifier
  1169.  *
  1170.  * -- fgmr comments --
  1171.  *
  1172.  * The error may be one of the following values:
  1173.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1174.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1175.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  1176.  *  NSS_ERROR_NO_MEMORY
  1177.  *
  1178.  * Return value:
  1179.  *  PR_SUCCESS upon success
  1180.  *  PR_FAILURE upon failure
  1181.  */
  1182. NSS_EXTERN PRStatus
  1183. NSSPKIXPolicyInformation_SetPolicyQualifier
  1184. (
  1185.   NSSPKIXPolicyInformation *pi,
  1186.   PRInt32 i,
  1187.   NSSPKIXPolicyQualifierInfo *pqi
  1188. );
  1189. /*
  1190.  * NSSPKIXPolicyInformation_InsertPolicyQualifier
  1191.  *
  1192.  * -- fgmr comments --
  1193.  *
  1194.  * The error may be one of the following values:
  1195.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1196.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1197.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  1198.  *  NSS_ERROR_NO_MEMORY
  1199.  *
  1200.  * Return value:
  1201.  *  PR_SUCCESS upon success
  1202.  *  PR_FAILURE upon failure
  1203.  */
  1204. NSS_EXTERN PRStatus
  1205. NSSPKIXPolicyInformation_InsertPolicyQualifier
  1206. (
  1207.   NSSPKIXPolicyInformation *pi,
  1208.   PRInt32 i,
  1209.   NSSPKIXPolicyQualifierInfo *pqi
  1210. );
  1211. /*
  1212.  * NSSPKIXPolicyInformation_AppendPolicyQualifier
  1213.  *
  1214.  * -- fgmr comments --
  1215.  *
  1216.  * The error may be one of the following values:
  1217.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1218.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1219.  *  NSS_ERROR_NO_MEMORY
  1220.  *
  1221.  * Return value:
  1222.  *  PR_SUCCESS upon success
  1223.  *  PR_FAILURE upon failure
  1224.  */
  1225. NSS_EXTERN PRStatus
  1226. NSSPKIXPolicyInformation_AppendPolicyQualifier
  1227. (
  1228.   NSSPKIXPolicyInformation *pi,
  1229.   PRInt32 i,
  1230.   NSSPKIXPolicyQualifierInfo *pqi
  1231. );
  1232. /*
  1233.  * NSSPKIXPolicyInformation_RemovePolicyQualifier
  1234.  *
  1235.  * -- fgmr comments --
  1236.  *
  1237.  * The error may be one of the following values:
  1238.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1239.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  1240.  *
  1241.  * Return value:
  1242.  *  PR_SUCCESS upon success
  1243.  *  PR_FAILURE upon failure
  1244.  */
  1245. NSS_EXTERN PRStatus
  1246. NSSPKIXPolicyInformation_RemovePolicyQualifier
  1247. (
  1248.   NSSPKIXPolicyInformation *pi,
  1249.   PRInt32 i
  1250. );
  1251. /*
  1252.  * NSSPKIXPolicyInformation_Equal
  1253.  *
  1254.  * -- fgmr comments --
  1255.  *
  1256.  * The error may be one of the following values:
  1257.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1258.  *
  1259.  * Return value:
  1260.  *  PR_TRUE if the two objects have equal values
  1261.  *  PR_FALSE otherwise
  1262.  *  PR_FALSE upon error
  1263.  */
  1264. NSS_EXTERN PRBool
  1265. NSSPKIXPolicyInformation_Equal
  1266. (
  1267.   NSSPKIXPolicyInformation *pi1,
  1268.   NSSPKIXPolicyInformation *pi2,
  1269.   PRStatus *statusOpt
  1270. );
  1271. /*
  1272.  * NSSPKIXPolicyInformation_Duplicate
  1273.  *
  1274.  * -- fgmr comments --
  1275.  *
  1276.  * The error may be one of the following values:
  1277.  *  NSS_ERROR_INVALID_PKIX_POLICY_INFORMATION
  1278.  *  NSS_ERROR_NO_MEMORY
  1279.  *  NSS_ERROR_INVALID_ARENA
  1280.  *
  1281.  * Return value:
  1282.  *  A valid pointer to an NSSPKIXPolicyInformation upon success
  1283.  *  NULL upon failure
  1284.  */
  1285. NSS_EXTERN NSSPKIXPolicyInformation *
  1286. NSSPKIXPolicyInformation_Duplicate
  1287. (
  1288.   NSSPKIXPolicyInformation *pi,
  1289.   NSSArena *arenaOpt
  1290. );
  1291. /*
  1292.  *   { and accessors by specific policy qualifier ID }
  1293.  *
  1294.  */
  1295. /*
  1296.  * PolicyQualifierInfo
  1297.  *
  1298.  * -- fgmr comments --
  1299.  *
  1300.  * From RFC 2459:
  1301.  *
  1302.  *  PolicyQualifierInfo ::= SEQUENCE {
  1303.  *         policyQualifierId  PolicyQualifierId,
  1304.  *         qualifier        ANY DEFINED BY policyQualifierId }
  1305.  *
  1306.  * The public calls for the type:
  1307.  *
  1308.  *  NSSPKIXPolicyQualifierInfo_Decode
  1309.  *  NSSPKIXPolicyQualifierInfo_Create
  1310.  *  NSSPKIXPolicyQualifierInfo_Destroy
  1311.  *  NSSPKIXPolicyQualifierInfo_Encode
  1312.  *  NSSPKIXPolicyQualifierInfo_GetPolicyQualifierID
  1313.  *  NSSPKIXPolicyQualifierInfo_SetPolicyQualifierID
  1314.  *  NSSPKIXPolicyQualifierInfo_GetQualifier
  1315.  *  NSSPKIXPolicyQualifierInfo_SetQualifier
  1316.  *  NSSPKIXPolicyQualifierInfo_Equal
  1317.  *  NSSPKIXPolicyQualifierInfo_Duplicate
  1318.  *    { and accessors by specific qualifier id/type }
  1319.  *
  1320.  */
  1321. /*
  1322.  * NSSPKIXPolicyQualifierInfo_Decode
  1323.  *
  1324.  * -- fgmr comments --
  1325.  *
  1326.  * The error may be one of the following values:
  1327.  *  NSS_ERROR_INVALID_BER
  1328.  *  NSS_ERROR_NO_MEMORY
  1329.  *  NSS_ERROR_INVALID_ARENA
  1330.  *
  1331.  * Return value:
  1332.  *  A valid pointer to an NSSPKIXPolicyQualifierInfo upon success
  1333.  *  NULL upon failure
  1334.  */
  1335. NSS_EXTERN NSSPKIXPolicyQualifierInfo *
  1336. NSSPKIXPolicyQualifierInfo_Decode
  1337. (
  1338.   NSSArena *arenaOpt,
  1339.   NSSBER *ber
  1340. );
  1341. /*
  1342.  * NSSPKIXPolicyQualifierInfo_Create
  1343.  *
  1344.  * -- fgmr comments --
  1345.  *
  1346.  * The error may be one of the following values:
  1347.  *  NSS_ERROR_NO_MEMORY
  1348.  *  NSS_ERROR_INVALID_ARENA
  1349.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_ID
  1350.  *  NSS_ERROR_INVALID_ITEM
  1351.  *
  1352.  * Return value:
  1353.  *  A valid pointer to an NSSPKIXPolicyQualifierInfo upon success
  1354.  *  NULL upon failure
  1355.  */
  1356. NSS_EXTERN NSSPKIXPolicyQualifierInfo *
  1357. NSSPKIXPolicyQualifierInfo_Create
  1358. (
  1359.   NSSArena *arenaOpt,
  1360.   NSSPKIXPolicyQualifierId *policyQualifierId,
  1361.   NSSItem *qualifier
  1362. );
  1363. /*
  1364.  * NSSPKIXPolicyQualifierInfo_Destroy
  1365.  *
  1366.  * -- fgmr comments --
  1367.  *
  1368.  * The error may be one of the following values:
  1369.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1370.  *
  1371.  * Return value:
  1372.  *  PR_SUCCESS upon success
  1373.  *  PR_FAILURE upon failure
  1374.  */
  1375. NSS_EXTERN PRStatus
  1376. NSSPKIXPolicyQualifierInfo_Destroy
  1377. (
  1378.   NSSPKIXPolicyQualifierInfo *pqi
  1379. );
  1380. /*
  1381.  * NSSPKIXPolicyQualifierInfo_Encode
  1382.  *
  1383.  * -- fgmr comments --
  1384.  *
  1385.  * The error may be one of the following values:
  1386.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1387.  *  NSS_ERROR_INVALID_ARENA
  1388.  *  NSS_ERROR_NO_MEMORY
  1389.  *
  1390.  * Return value:
  1391.  *  A valid NSSBER pointer upon success
  1392.  *  NULL upon failure
  1393.  */
  1394. NSS_EXTERN NSSBER *
  1395. NSSPKIXPolicyQualifierInfo_Encode
  1396. (
  1397.   NSSPKIXPolicyQualifierInfo *pqi,
  1398.   NSSASN1EncodingType encoding,
  1399.   NSSBER *rvOpt,
  1400.   NSSArena *arenaOpt
  1401. );
  1402. /*
  1403.  * NSSPKIXPolicyQualifierInfo_GetPolicyQualifierId
  1404.  *
  1405.  * -- fgmr comments --
  1406.  *
  1407.  * The error may be one of the following values:
  1408.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1409.  *  NSS_ERROR_NO_MEMORY
  1410.  *
  1411.  * Return value:
  1412.  *  A valid pointer to an NSSPKIXPolicyQualifierId (an NSSOID) upon success
  1413.  *  NULL upon failure
  1414.  */
  1415. NSS_EXTERN NSSPKIXPolicyQualifierId *
  1416. NSSPKIXPolicyQualifierInfo_GetPolicyQualifierId
  1417. (
  1418.   NSSPKIXPolicyQualifierInfo *pqi,
  1419.   NSSArena *arenaOpt
  1420. );
  1421. /*
  1422.  * NSSPKIXPolicyQualifierInfo_SetPolicyQualifierId
  1423.  *
  1424.  * -- fgmr comments --
  1425.  *
  1426.  * The error may be one of the following values:
  1427.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1428.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_ID
  1429.  *  NSS_ERROR_NO_MEMORY
  1430.  *
  1431.  * Return value:
  1432.  *  PR_SUCCESS upon success
  1433.  *  PR_FAILURE upon failure
  1434.  */
  1435. NSS_EXTERN PRStatus
  1436. NSSPKIXPolicyQualifierInfo_SetPolicyQualifierId
  1437. (
  1438.   NSSPKIXPolicyQualifierInfo *pqi,
  1439.   NSSPKIXPolicyQualifierId *pqid
  1440. );
  1441. /*
  1442.  * NSSPKIXPolicyQualifierInfo_GetQualifier
  1443.  *
  1444.  * -- fgmr comments --
  1445.  *
  1446.  * The error may be one of the following values:
  1447.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1448.  *  NSS_ERROR_INVALID_ARENA
  1449.  *  NSS_ERROR_NO_MEMORY
  1450.  *
  1451.  * Return value:
  1452.  *  A valid pointer to an NSSItem upon success
  1453.  *  NULL upon failure
  1454.  */
  1455. NSS_EXTERN NSSItem *
  1456. NSSPKIXPolicyQualifierInfo_GetQualifier
  1457. (
  1458.   NSSPKIXPolicyQualifierInfo *pqi,
  1459.   NSSItem *rvOpt,
  1460.   NSSArena *arenaOpt
  1461. );
  1462. /*
  1463.  * NSSPKIXPolicyQualifierInfo_SetQualifier
  1464.  *
  1465.  * -- fgmr comments --
  1466.  *
  1467.  * The error may be one of the following values:
  1468.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1469.  *  NSS_ERROR_NO_MEMORY
  1470.  *  NSS_ERROR_INVALID_ITEM
  1471.  *
  1472.  * Return value:
  1473.  *  PR_SUCCESS upon success
  1474.  *  PR_FAILURE upon failure
  1475.  */
  1476. NSS_EXTERN PRStatus
  1477. NSSPKIXPolicyQualifierInfo_SetQualifier
  1478. (
  1479.   NSSPKIXPolicyQualifierInfo *pqi,
  1480.   NSSItem *qualifier
  1481. );
  1482. /*
  1483.  * NSSPKIXPolicyQualifierInfo_Equal
  1484.  *
  1485.  * -- fgmr comments --
  1486.  *
  1487.  * The error may be one of the following values:
  1488.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1489.  *
  1490.  * Return value:
  1491.  *  PR_TRUE if the two objects have equal values
  1492.  *  PR_FALSE otherwise
  1493.  *  PR_FALSE upon error
  1494.  */
  1495. NSS_EXTERN PRBool
  1496. NSSPKIXPolicyQualifierInfo_Equal
  1497. (
  1498.   NSSPKIXPolicyQualifierInfo *pqi1,
  1499.   NSSPKIXPolicyQualifierInfo *pqi2,
  1500.   PRStatus *statusOpt
  1501. );
  1502. /*
  1503.  * NSSPKIXPolicyQualifierInfo_Duplicate
  1504.  *
  1505.  * -- fgmr comments --
  1506.  *
  1507.  * The error may be one of the following values:
  1508.  *  NSS_ERROR_INVALID_PKIX_POLICY_QUALIFIER_INFO
  1509.  *  NSS_ERROR_NO_MEMORY
  1510.  *  NSS_ERROR_INVALID_ARENA
  1511.  *
  1512.  * Return value:
  1513.  *  A valid pointer to an NSSPKIXPolicyQualifierInfo upon success
  1514.  *  NULL upon failure
  1515.  */
  1516. NSS_EXTERN NSSPKIXPolicyQualifierInfo *
  1517. NSSPKIXPolicyQualifierInfo_Duplicate
  1518. (
  1519.   NSSPKIXPolicyQualifierInfo *pqi,
  1520.   NSSArena *arenaOpt
  1521. );
  1522. /*
  1523.  *   { and accessors by specific qualifier id/type }
  1524.  *
  1525.  */
  1526. /*
  1527.  * CPSuri
  1528.  *
  1529.  * -- fgmr comments --
  1530.  *
  1531.  * From RFC 2459:
  1532.  *
  1533.  *  CPSuri ::= IA5String
  1534.  *
  1535.  * The public calls for this type:
  1536.  *
  1537.  *  NSSPKIXCPSuri_Decode
  1538.  *  NSSPKIXCPSuri_CreateFromUTF8
  1539.  *  NSSPKIXCPSuri_Encode
  1540.  *
  1541.  */
  1542. /*
  1543.  * NSSPKIXCPSuri_Decode
  1544.  *
  1545.  * -- fgmr comments --
  1546.  *
  1547.  * The error may be one of the following values:
  1548.  *  NSS_ERROR_INVALID_BER
  1549.  *  NSS_ERROR_NO_MEMORY
  1550.  *  NSS_ERROR_INVALID_ARENA
  1551.  * 
  1552.  * Return value:
  1553.  *  A valid pointer to an NSSPKIXCPSuri upon success
  1554.  *  NULL upon failure
  1555.  */
  1556. NSS_EXTERN NSSPKIXCPSuri *
  1557. NSSPKIXCPSuri_Decode
  1558. (
  1559.   NSSArena *arenaOpt,
  1560.   NSSBER *ber
  1561. );
  1562. /*
  1563.  * NSSPKIXCPSuri_CreateFromUTF8
  1564.  *
  1565.  * { basically just enforces the length and charset limit }
  1566.  *
  1567.  * The error may be one of the following values:
  1568.  *  NSS_ERROR_INVALID_BER
  1569.  *  NSS_ERROR_NO_MEMORY
  1570.  *  NSS_ERROR_INVALID_ARENA
  1571.  * 
  1572.  * Return value:
  1573.  *  A valid pointer to an NSSPKIXCPSuri upon success
  1574.  *  NULL upon failure
  1575.  */
  1576. NSS_EXTERN NSSPKIXCPSuri *
  1577. NSSPKIXCPSuri_CreateFromUTF8
  1578. (
  1579.   NSSArena *arenaOpt,
  1580.   NSSUTF8 *utf8
  1581. );
  1582. /*
  1583.  * NSSPKIXCPSuri_Encode
  1584.  *
  1585.  *
  1586.  *
  1587.  * The error may be one of the following values:
  1588.  *  NSS_ERROR_INVALID_PKIX_CPS_URI
  1589.  *  NSS_ERROR_NO_MEMORY
  1590.  *
  1591.  * Return value:
  1592.  *  A valid NSSBER pointer upon success
  1593.  *  NULL upon failure
  1594.  */
  1595. NSS_EXTERN NSSBER *
  1596. NSSPKIXCPSuri_Encode
  1597. (
  1598.   NSSPKIXCPSuri *name,
  1599.   NSSASN1EncodingType encoding,
  1600.   NSSBER *rvOpt,
  1601.   NSSArena *arenaOpt
  1602. );
  1603. /*
  1604.  * UserNotice
  1605.  *
  1606.  * -- fgmr comments --
  1607.  *
  1608.  * From RFC 2459:
  1609.  *
  1610.  *  UserNotice ::= SEQUENCE {
  1611.  *       noticeRef        NoticeReference OPTIONAL,
  1612.  *       explicitText     DisplayText OPTIONAL}
  1613.  *
  1614.  * The public calls for this type:
  1615.  *
  1616.  *  NSSPKIXUserNotice_Decode
  1617.  *  NSSPKIXUserNotice_Create
  1618.  *  NSSPKIXUserNotice_Destroy
  1619.  *  NSSPKIXUserNotice_Encode
  1620.  *  NSSPKIXUserNotice_HasNoticeRef
  1621.  *  NSSPKIXUserNotice_GetNoticeRef
  1622.  *  NSSPKIXUserNotice_SetNoticeRef
  1623.  *  NSSPKIXUserNotice_RemoveNoticeRef
  1624.  *  NSSPKIXUserNotice_HasExplicitText
  1625.  *  NSSPKIXUserNotice_GetExplicitText
  1626.  *  NSSPKIXUserNotice_SetExplicitText
  1627.  *  NSSPKIXUserNotice_RemoveExplicitText
  1628.  *  NSSPKIXUserNotice_Equal
  1629.  *  NSSPKIXUserNotice_Duplicate
  1630.  *
  1631.  */
  1632. /*
  1633.  * NSSPKIXUserNotice_Decode
  1634.  *
  1635.  * -- fgmr comments --
  1636.  *
  1637.  * The error may be one of the following values:
  1638.  *  NSS_ERROR_INVALID_BER
  1639.  *  NSS_ERROR_NO_MEMORY
  1640.  *  NSS_ERROR_INVALID_ARENA
  1641.  * 
  1642.  * Return value:
  1643.  *  A valid pointer to an NSSPKIXUserNotice upon success
  1644.  *  NULL upon failure
  1645.  */
  1646. NSS_EXTERN NSSPKIXUserNotice *
  1647. NSSPKIXUserNotice_Decode
  1648. (
  1649.   NSSArena *arenaOpt,
  1650.   NSSBER *ber
  1651. );
  1652. /*
  1653.  * NSSPKIXUserNotice_Create
  1654.  *
  1655.  * -- fgmr comments --
  1656.  *
  1657.  * The error may be one of the following values:
  1658.  *  NSS_ERROR_NO_MEMORY
  1659.  *  NSS_ERROR_INVALID_ARENA
  1660.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  1661.  *  NSS_ERROR_INVALID_PKIX_DISPLAY_TEXT
  1662.  * 
  1663.  * Return value:
  1664.  *  A valid pointer to an NSSPKIXUserNotice upon success
  1665.  *  NULL upon failure
  1666.  */
  1667. NSS_EXTERN NSSPKIXUserNotice *
  1668. NSSPKIXUserNotice_Create
  1669. (
  1670.   NSSArena *arenaOpt,
  1671.   NSSPKIXNoticeReference *noticeRef,
  1672.   NSSPKIXDisplayText *explicitText
  1673. );
  1674. /*
  1675.  * NSSPKIXUserNotice_Destroy
  1676.  *
  1677.  * -- fgmr comments --
  1678.  *
  1679.  * The error may be one of the following values:
  1680.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1681.  * 
  1682.  * Return value:
  1683.  *  PR_SUCCESS upon success
  1684.  *  PR_FAILURE upon failure
  1685.  */
  1686. NSS_EXTERN PRStatus
  1687. NSSPKIXUserNotice_Destroy
  1688. (
  1689.   NSSPKIXUserNotice *userNotice
  1690. );
  1691. /*
  1692.  * NSSPKIXUserNotice_Encode
  1693.  *
  1694.  * -- fgmr comments --
  1695.  *
  1696.  * The error may be one of the following values:
  1697.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1698.  *  NSS_ERROR_INVALID_ARENA
  1699.  *  NSS_ERROR_NO_MEMORY
  1700.  * 
  1701.  * Return value:
  1702.  *  A valid NSSBER pointer upon success
  1703.  *  NULL upon failure
  1704.  */
  1705. NSS_EXTERN NSSBER *
  1706. NSSPKIXUserNotice_Encode
  1707. (
  1708.   NSSPKIXUserNotice *userNotice,
  1709.   NSSASN1EncodingType encoding,
  1710.   NSSBER *rvOpt,
  1711.   NSSArena *arenaOpt
  1712. );
  1713. /*
  1714.  * NSSPKIXUserNotice_HasNoticeRef
  1715.  *
  1716.  * -- fgmr comments --
  1717.  *
  1718.  * The error may be one of the following values:
  1719.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1720.  * 
  1721.  * Return value:
  1722.  *  PR_TRUE if it has one
  1723.  *  PR_FALSE if it doesn't
  1724.  *  PR_FALSE upon failure
  1725.  */
  1726. NSS_EXTERN PRBool
  1727. NSSPKIXUserNotice_HasNoticeRef
  1728. (
  1729.   NSSPKIXUserNotice *userNotice,
  1730.   PRStatus *statusOpt
  1731. );
  1732. /*
  1733.  * NSSPKIXUserNotice_GetNoticeRef
  1734.  *
  1735.  * -- fgmr comments --
  1736.  *
  1737.  * The error may be one of the following values:
  1738.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1739.  *  NSS_ERROR_INVALID_ARENA
  1740.  *  NSS_ERROR_NO_MEMORY
  1741.  *  NSS_ERROR_HAS_NO_NOTICE_REF
  1742.  * 
  1743.  * Return value:
  1744.  *  A valid pointer to an NSSPKIXNoticeReference upon success
  1745.  *  NULL upon failure
  1746.  */
  1747. NSS_EXTERN NSSPKIXNoticeReference *
  1748. NSSPKIXUserNotice_GetNoticeRef
  1749. (
  1750.   NSSPKIXUserNotice *userNotice,
  1751.   NSSArena *arenaOpt
  1752. );
  1753. /*
  1754.  * NSSPKIXUserNotice_SetNoticeRef
  1755.  *
  1756.  * -- fgmr comments --
  1757.  *
  1758.  * The error may be one of the following values:
  1759.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1760.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  1761.  *  NSS_ERROR_NO_MEMORY
  1762.  * 
  1763.  * Return value:
  1764.  *  PR_SUCCESS upon success
  1765.  *  PR_FAILURE upon failure
  1766.  */
  1767. NSS_EXTERN PRStatus
  1768. NSSPKIXUserNotice_SetNoticeRef
  1769. (
  1770.   NSSPKIXUserNotice *userNotice,
  1771.   NSSPKIXNoticeReference *noticeRef
  1772. );
  1773. /*
  1774.  * NSSPKIXUserNotice_RemoveNoticeRef
  1775.  *
  1776.  * -- fgmr comments --
  1777.  *
  1778.  * The error may be one of the following values:
  1779.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1780.  *  NSS_ERROR_HAS_NO_NOTICE_REF
  1781.  * 
  1782.  * Return value:
  1783.  *  PR_SUCCESS upon success
  1784.  *  PR_FAILURE upon failure
  1785.  */
  1786. NSS_EXTERN PRStatus
  1787. NSSPKIXUserNotice_RemoveNoticeRef
  1788. (
  1789.   NSSPKIXUserNotice *userNotice
  1790. );
  1791. /*
  1792.  * NSSPKIXUserNotice_HasExplicitText
  1793.  *
  1794.  * -- fgmr comments --
  1795.  *
  1796.  * The error may be one of the following values:
  1797.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1798.  * 
  1799.  * Return value:
  1800.  *  PR_TRUE if it has some
  1801.  *  PR_FALSE if it doesn't
  1802.  *  PR_FALSE upon failure
  1803.  */
  1804. NSS_EXTERN PRBool
  1805. NSSPKIXUserNotice_HasExplicitText
  1806. (
  1807.   NSSPKIXUserNotice *userNotice,
  1808.   PRStatus *statusOpt
  1809. );
  1810. /*
  1811.  * NSSPKIXUserNotice_GetExplicitText
  1812.  *
  1813.  * -- fgmr comments --
  1814.  *
  1815.  * The error may be one of the following values:
  1816.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1817.  *  NSS_ERROR_INVALID_ARENA
  1818.  *  NSS_ERROR_NO_MEMORY
  1819.  *  NSS_ERROR_HAS_NO_EXPLICIT_TEXT
  1820.  * 
  1821.  * Return value:
  1822.  *  A valid pointer to an NSSPKIXDisplayText string upon success
  1823.  *  NULL upon failure
  1824.  */
  1825. NSS_EXTERN NSSPKIXDisplayText *
  1826. NSSPKIXUserNotice_GetExplicitText
  1827. (
  1828.   NSSPKIXUserNotice *userNotice,
  1829.   NSSArena *arenaOpt
  1830. );
  1831. /*
  1832.  * NSSPKIXUserNotice_SetExplicitText
  1833.  *
  1834.  * -- fgmr comments --
  1835.  *
  1836.  * The error may be one of the following values:
  1837.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1838.  *  NSS_ERROR_INVALID_PKIX_DISPLAY_TEXT
  1839.  *  NSS_ERROR_NO_MEMORY
  1840.  * 
  1841.  * Return value:
  1842.  *  PR_SUCCESS upon success
  1843.  *  PR_FAILURE upon failure
  1844.  */
  1845. NSS_EXTERN PRStatus
  1846. NSSPKIXUserNotice_SetExplicitText
  1847. (
  1848.   NSSPKIXUserNotice *userNotice,
  1849.   NSSPKIXDisplayText *explicitText
  1850. );
  1851. /*
  1852.  * NSSPKIXUserNotice_RemoveExplicitText
  1853.  *
  1854.  * -- fgmr comments --
  1855.  *
  1856.  * The error may be one of the following values:
  1857.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1858.  *  NSS_ERROR_HAS_NO_EXPLICIT_TEXT
  1859.  * 
  1860.  * Return value:
  1861.  *  PR_SUCCESS upon success
  1862.  *  PR_FAILURE upon failure
  1863.  */
  1864. NSS_EXTERN PRStatus
  1865. NSSPKIXUserNotice_RemoveExplicitText
  1866. (
  1867.   NSSPKIXUserNotice *userNotice
  1868. );
  1869. /*
  1870.  * NSSPKIXUserNotice_Equal
  1871.  *
  1872.  * -- fgmr comments --
  1873.  *
  1874.  * The error may be one of the following values:
  1875.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1876.  * 
  1877.  * Return value:
  1878.  *  PR_TRUE if the two objects have equal values
  1879.  *  PR_FALSE otherwise
  1880.  *  PR_FALSE upon error
  1881.  */
  1882. NSS_EXTERN PRBool
  1883. NSSPKIXUserNotice_Equal
  1884. (
  1885.   NSSPKIXUserNotice *userNotice1,
  1886.   NSSPKIXUserNotice *userNotice2,
  1887.   PRStatus *statusOpt
  1888. );
  1889. /*
  1890.  * NSSPKIXUserNotice_Duplicate
  1891.  *
  1892.  * -- fgmr comments --
  1893.  *
  1894.  * The error may be one of the following values:
  1895.  *  NSS_ERROR_INVALID_PKIX_USER_NOTICE
  1896.  *  NSS_ERROR_NO_MEMORY
  1897.  *  NSS_ERROR_INVALID_ARENA
  1898.  * 
  1899.  * Return value:
  1900.  *  A valid pointer to an NSSPKIXUserNotice upon success
  1901.  *  NULL upon failure
  1902.  */
  1903. NSS_EXTERN NSSPKIXUserNotice *
  1904. NSSPKIXUserNotice_Duplicate
  1905. (
  1906.   NSSPKIXUserNotice *userNotice,
  1907.   NSSArena *arenaOpt
  1908. );
  1909. /*
  1910.  * NoticeReference
  1911.  *
  1912.  * -- fgmr comments --
  1913.  *
  1914.  * From RFC 2459:
  1915.  *
  1916.  *  NoticeReference ::= SEQUENCE {
  1917.  *       organization     DisplayText,
  1918.  *       noticeNumbers    SEQUENCE OF INTEGER }
  1919.  *
  1920.  * The public calls for this type:
  1921.  *
  1922.  *  NSSPKIXNoticeReference_Decode
  1923.  *  NSSPKIXNoticeReference_Create
  1924.  *  NSSPKIXNoticeReference_Destroy
  1925.  *  NSSPKIXNoticeReference_Encode
  1926.  *  NSSPKIXNoticeReference_GetOrganization
  1927.  *  NSSPKIXNoticeReference_SetOrganization
  1928.  *  NSSPKIXNoticeReference_GetNoticeNumberCount
  1929.  *  NSSPKIXNoticeReference_GetNoticeNumbers
  1930.  *  NSSPKIXNoticeReference_SetNoticeNumbers
  1931.  *  NSSPKIXNoticeReference_GetNoticeNumber
  1932.  *  NSSPKIXNoticeReference_SetNoticeNumber
  1933.  *  NSSPKIXNoticeReference_InsertNoticeNumber
  1934.  *  NSSPKIXNoticeReference_AppendNoticeNumber
  1935.  *  NSSPKIXNoticeReference_RemoveNoticeNumber
  1936.  *    { maybe number-exists-p gettor? }
  1937.  *  NSSPKIXNoticeReference_Equal
  1938.  *  NSSPKIXNoticeReference_Duplicate
  1939.  *
  1940.  */
  1941. /*
  1942.  * NSSPKIXNoticeReference_Decode
  1943.  *
  1944.  * -- fgmr comments --
  1945.  *
  1946.  * The error may be one of the following values:
  1947.  *  NSS_ERROR_INVALID_BER
  1948.  *  NSS_ERROR_NO_MEMORY
  1949.  *  NSS_ERROR_INVALID_ARENA
  1950.  * 
  1951.  * Return value:
  1952.  *  A valid pointer to an NSSPKIXNoticeReference upon success
  1953.  *  NULL upon failure
  1954.  */
  1955. NSS_EXTERN NSSPKIXNoticeReference *
  1956. NSSPKIXNoticeReference_Decode
  1957. (
  1958.   NSSArena *arenaOpt,
  1959.   NSSBER *ber
  1960. );
  1961. /*
  1962.  * NSSPKIXNoticeReference_Create
  1963.  *
  1964.  * -- fgmr comments --
  1965.  *
  1966.  * The error may be one of the following values:
  1967.  *  NSS_ERROR_NO_MEMORY
  1968.  *  NSS_ERROR_INVALID_ARENA
  1969.  *  NSS_ERROR_INVALID_PKIX_DISPLAY_TEXT
  1970.  * 
  1971.  * Return value:
  1972.  *  A valid pointer to an NSSPKIXNoticeReference upon success
  1973.  *  NULL upon failure
  1974.  */
  1975. NSS_EXTERN NSSPKIXNoticeReference *
  1976. NSSPKIXNoticeReference_Create
  1977. (
  1978.   NSSArena *arenaOpt,
  1979.   NSSPKIXDisplayText *organization,
  1980.   PRUint32 noticeCount,
  1981.   PRInt32 noticeNumber1,
  1982.   ...
  1983. );
  1984. /*
  1985.  * { fgmr -- or should the call that takes PRInt32 be _CreateFromValues,
  1986.  *  and the _Create call take NSSBER integers? }
  1987.  */
  1988. /*
  1989.  * NSSPKIXNoticeReference_Destroy
  1990.  *
  1991.  * -- fgmr comments --
  1992.  *
  1993.  * The error may be one of the following values:
  1994.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  1995.  * 
  1996.  * Return value:
  1997.  *  PR_SUCCESS upon success
  1998.  *  PR_FAILURE upon failure
  1999.  */
  2000. NSS_EXTERN PRStatus
  2001. NSSPKIXNoticeReference_Destroy
  2002. (
  2003.   NSSPKIXNoticeReference *nr
  2004. );
  2005. /*
  2006.  * NSSPKIXNoticeReference_Encode
  2007.  *
  2008.  * -- fgmr comments --
  2009.  *
  2010.  * The error may be one of the following values:
  2011.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2012.  *  NSS_ERROR_INVALID_ARENA
  2013.  *  NSS_ERROR_NO_MEMORY
  2014.  * 
  2015.  * Return value:
  2016.  *  A valid NSSBER pointer upon success
  2017.  *  NULL upon failure
  2018.  */
  2019. NSS_EXTERN NSSBER *
  2020. NSSPKIXNoticeReference_Encode
  2021. (
  2022.   NSSPKIXNoticeReference *nr,
  2023.   NSSASN1EncodingType encoding,
  2024.   NSSBER *rvOpt,
  2025.   NSSArena *arenaOpt
  2026. );
  2027. /*
  2028.  * NSSPKIXNoticeReference_GetOrganization
  2029.  *
  2030.  * -- fgmr comments --
  2031.  *
  2032.  * The error may be one of the following values:
  2033.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2034.  *  NSS_ERROR_INVALID_ARENA
  2035.  *  NSS_ERROR_NO_MEMORY
  2036.  * 
  2037.  * Return value:
  2038.  *  A valid pointer to an NSSPKIXDisplayText string upon success
  2039.  *  NULL upon failure
  2040.  */
  2041. NSS_EXTERN NSSPKIXDisplayText *
  2042. NSSPKIXNoticeReference_GetOrganization
  2043. (
  2044.   NSSPKIXNoticeReference *nr,
  2045.   NSSArena *arenaOpt
  2046. );
  2047. /*
  2048.  * NSSPKIXNoticeReference_SetOrganization
  2049.  *
  2050.  * -- fgmr comments --
  2051.  *
  2052.  * The error may be one of the following values:
  2053.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2054.  *  NSS_ERROR_INVALID_PKIX_DISPLAY_TEXT
  2055.  *  NSS_ERROR_NO_MEMORY
  2056.  * 
  2057.  * Return value:
  2058.  *  PR_SUCCESS upon success
  2059.  *  PR_FAILURE upon failure
  2060.  */
  2061. NSS_EXTERN PRStatus
  2062. NSSPKIXNoticeReference_SetOrganization
  2063. (
  2064.   NSSPKIXNoticeReference *nr,
  2065.   NSSPKIXDisplayText *organization
  2066. );
  2067. /*
  2068.  * NSSPKIXNoticeReference_GetNoticeNumberCount
  2069.  *
  2070.  * -- fgmr comments --
  2071.  *
  2072.  * The error may be one of the following values:
  2073.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2074.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2075.  * 
  2076.  * Return value:
  2077.  *  Nonnegative integer upon success
  2078.  *  -1 upon failure.
  2079.  */
  2080. NSS_EXTERN PRInt32
  2081. NSSPKIXNoticeReference_GetNoticeNumberCount
  2082. (
  2083.   NSSPKIXNoticeReference *nr
  2084. );
  2085. /*
  2086.  * NSSPKIXNoticeReference_GetNoticeNumbers
  2087.  *
  2088.  * -- fgmr comments --
  2089.  *
  2090.  * The error may be one of the following values:
  2091.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2092.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2093.  *  NSS_ERROR_INVALID_ARENA
  2094.  *  NSS_ERROR_NO_MEMORY
  2095.  *  NSS_ERROR_ARRAY_TOO_SMALL
  2096.  * 
  2097.  * Return value:
  2098.  *  A valid pointer to an array of PRInt32 values upon success
  2099.  *  NULL upon failure
  2100.  */
  2101. NSS_EXTERN PRInt32 *
  2102. NSSPKIXNoticeReference_GetNoticeNumbers
  2103. (
  2104.   NSSPKIXNoticeReference *nr,
  2105.   PRInt32 rvOpt[],
  2106.   PRInt32 limit,
  2107.   NSSArena *arenaOpt
  2108. );
  2109. /*
  2110.  * NSSPKIXNoticeReference_SetNoticeNumbers
  2111.  *
  2112.  * -- fgmr comments --
  2113.  *
  2114.  * The error may be one of the following values:
  2115.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2116.  *  NSS_ERROR_NO_MEMORY
  2117.  * 
  2118.  * Return value:
  2119.  *  PR_SUCCESS upon success
  2120.  *  PR_FAILURE upon failure
  2121.  */
  2122. NSS_EXTERN PRStatus
  2123. NSSPKIXNoticeReference_SetNoticeNumbers
  2124. (
  2125.   NSSPKIXNoticeReference *nr,
  2126.   PRInt32 noticeNumbers[],
  2127.   PRInt32 count
  2128. );
  2129. /*
  2130.  * NSSPKIXNoticeReference_GetNoticeNumber
  2131.  *
  2132.  * -- fgmr comments --
  2133.  * Because there is no natural "invalid" notice number value, we must
  2134.  * pass the number by reference, and return an explicit status value.
  2135.  *
  2136.  * The error may be one of the following values:
  2137.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2138.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2139.  *  NSS_ERROR_INVALID_POINTER
  2140.  * 
  2141.  * Return value:
  2142.  *  PR_SUCCESS upon success
  2143.  *  PR_FAILURE upon failure
  2144.  */
  2145. NSS_EXTERN PRStatus
  2146. NSSPKIXNoticeReference_GetNoticeNumber
  2147. (
  2148.   NSSPKIXNoticeReference *nr,
  2149.   PRInt32 i,
  2150.   PRInt32 *noticeNumberP
  2151. );
  2152.   
  2153. /*
  2154.  * NSSPKIXNoticeReference_SetNoticeNumber
  2155.  *
  2156.  * -- fgmr comments --
  2157.  *
  2158.  * The error may be one of the following values:
  2159.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2160.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2161.  * 
  2162.  * Return value:
  2163.  *  PR_SUCCESS upon success
  2164.  *  PR_FAILURE upon failure
  2165.  */
  2166. NSS_EXTERN PRStatus
  2167. NSSPKIXNoticeReference_SetNoticeNumber
  2168. (
  2169.   NSSPKIXNoticeReference *nr,
  2170.   PRInt32 i,
  2171.   PRInt32 noticeNumber
  2172. );
  2173. /*
  2174.  * NSSPKIXNoticeReference_InsertNoticeNumber
  2175.  *
  2176.  * -- fgmr comments --
  2177.  *
  2178.  * The error may be one of the following values:
  2179.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2180.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2181.  *  NSS_ERROR_NO_MEMORY
  2182.  * 
  2183.  * Return value:
  2184.  *  PR_SUCCESS upon success
  2185.  *  PR_FAILURE upon failure
  2186.  */
  2187. NSS_EXTERN PRStatus
  2188. NSSPKIXNoticeReference_InsertNoticeNumber
  2189. (
  2190.   NSSPKIXNoticeReference *nr,
  2191.   PRInt32 i,
  2192.   PRInt32 noticeNumber
  2193. );
  2194. /*
  2195.  * NSSPKIXNoticeReference_AppendNoticeNumber
  2196.  *
  2197.  * -- fgmr comments --
  2198.  *
  2199.  * The error may be one of the following values:
  2200.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2201.  *  NSS_ERROR_NO_MEMORY
  2202.  * 
  2203.  * Return value:
  2204.  *  PR_SUCCESS upon success
  2205.  *  PR_FAILURE upon failure
  2206.  */
  2207. NSS_EXTERN PRStatus
  2208. NSSPKIXNoticeReference_AppendNoticeNumber
  2209. (
  2210.   NSSPKIXNoticeReference *nr,
  2211.   PRInt32 noticeNumber
  2212. );
  2213. /*
  2214.  * NSSPKIXNoticeReference_RemoveNoticeNumber
  2215.  *
  2216.  * -- fgmr comments --
  2217.  *
  2218.  * The error may be one of the following values:
  2219.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2220.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2221.  * 
  2222.  * Return value:
  2223.  *  PR_SUCCESS upon success
  2224.  *  PR_FAILURE upon failure
  2225.  */
  2226. NSS_EXTERN PRStatus
  2227. NSSPKIXNoticeReference_RemoveNoticeNumber
  2228. (
  2229.   NSSPKIXNoticeReference *nr,
  2230.   PRInt32 i
  2231. );
  2232. /*
  2233.  *   { maybe number-exists-p gettor? }
  2234.  */
  2235. /*
  2236.  * NSSPKIXNoticeReference_Equal
  2237.  *
  2238.  * -- fgmr comments --
  2239.  *
  2240.  * The error may be one of the following values:
  2241.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2242.  * 
  2243.  * Return value:
  2244.  *  PR_TRUE if the two objects have equal values
  2245.  *  PR_FALSE otherwise
  2246.  *  PR_FALSE upon error
  2247.  */
  2248. NSS_EXTERN PRBool
  2249. NSSPKIXNoticeReference_Equal
  2250. (
  2251.   NSSPKIXNoticeReference *nr1,
  2252.   NSSPKIXNoticeReference *nr2,
  2253.   PRStatus *statusOpt
  2254. );
  2255. /*
  2256.  * NSSPKIXNoticeReference_Duplicate
  2257.  *
  2258.  * -- fgmr comments --
  2259.  *
  2260.  * The error may be one of the following values:
  2261.  *  NSS_ERROR_INVALID_PKIX_NOTICE_REFERENCE
  2262.  *  NSS_ERROR_NO_MEMORY
  2263.  *  NSS_ERROR_INVALID_ARENA
  2264.  * 
  2265.  * Return value:
  2266.  *  A valid pointer to an NSSPKIXNoticeReference upon success
  2267.  *  NULL upon failure
  2268.  */
  2269. NSS_EXTERN NSSPKIXNoticeReference *
  2270. NSSPKIXNoticeReference_Duplicate
  2271. (
  2272.   NSSPKIXNoticeReference *nr,
  2273.   NSSArena *arenaOpt
  2274. );
  2275. /*
  2276.  * DisplayText
  2277.  *
  2278.  * -- fgmr comments --
  2279.  *
  2280.  * From RFC 2459:
  2281.  *
  2282.  *  DisplayText ::= CHOICE {
  2283.  *       visibleString    VisibleString  (SIZE (1..200)),
  2284.  *       bmpString        BMPString      (SIZE (1..200)),
  2285.  *       utf8String       UTF8String     (SIZE (1..200)) }
  2286.  * 
  2287.  * The public calls for this type:
  2288.  *
  2289.  *  NSSPKIXDisplayText_Decode
  2290.  *  NSSPKIXDisplayText_CreateFromUTF8
  2291.  *  NSSPKIXDisplayText_Encode
  2292.  *
  2293.  */
  2294. /*
  2295.  * NSSPKIXDisplayText_Decode
  2296.  *
  2297.  * -- fgmr comments --
  2298.  *
  2299.  * The error may be one of the following values:
  2300.  *  NSS_ERROR_INVALID_BER
  2301.  *  NSS_ERROR_NO_MEMORY
  2302.  *  NSS_ERROR_INVALID_ARENA
  2303.  * 
  2304.  * Return value:
  2305.  *  A valid pointer to an NSSPKIXDisplayText upon success
  2306.  *  NULL upon failure
  2307.  */
  2308. NSS_EXTERN NSSPKIXDisplayText *
  2309. NSSPKIXDisplayText_Decode
  2310. (
  2311.   NSSArena *arenaOpt,
  2312.   NSSBER *ber
  2313. );
  2314. /*
  2315.  * NSSPKIXDisplayText_CreateFromUTF8
  2316.  *
  2317.  * { basically just enforces the length and charset limit }
  2318.  *
  2319.  * The error may be one of the following values:
  2320.  *  NSS_ERROR_INVALID_BER
  2321.  *  NSS_ERROR_NO_MEMORY
  2322.  *  NSS_ERROR_INVALID_ARENA
  2323.  * 
  2324.  * Return value:
  2325.  *  A valid pointer to an NSSPKIXDisplayText upon success
  2326.  *  NULL upon failure
  2327.  */
  2328. NSS_EXTERN NSSPKIXDisplayText *
  2329. NSSPKIXDisplayText_CreateFromUTF8
  2330. (
  2331.   NSSArena *arenaOpt,
  2332.   NSSUTF8 *utf8
  2333. );
  2334. /*
  2335.  * NSSPKIXDisplayText_Encode
  2336.  *
  2337.  *
  2338.  *
  2339.  * The error may be one of the following values:
  2340.  *  NSS_ERROR_INVALID_PKIX_DISPLAY_TEXT
  2341.  *  NSS_ERROR_NO_MEMORY
  2342.  *
  2343.  * Return value:
  2344.  *  A valid NSSBER pointer upon success
  2345.  *  NULL upon failure
  2346.  */
  2347. NSS_EXTERN NSSBER *
  2348. NSSPKIXDisplayText_Encode
  2349. (
  2350.   NSSPKIXDisplayText *name,
  2351.   NSSASN1EncodingType encoding,
  2352.   NSSBER *rvOpt,
  2353.   NSSArena *arenaOpt
  2354. );
  2355. /*
  2356.  * PolicyMappings
  2357.  *
  2358.  * -- fgmr comments --
  2359.  *
  2360.  * From RFC 2459:
  2361.  *
  2362.  *  PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
  2363.  *       issuerDomainPolicy      CertPolicyId,
  2364.  *       subjectDomainPolicy     CertPolicyId }
  2365.  *
  2366.  * The public calls for this type:
  2367.  *
  2368.  *  NSSPKIXPolicyMappings_Decode
  2369.  *  NSSPKIXPolicyMappings_Create
  2370.  *  NSSPKIXPolicyMappings_Destroy
  2371.  *  NSSPKIXPolicyMappings_Encode
  2372.  *  NSSPKIXPolicyMappings_GetPolicyMappingCount
  2373.  *  NSSPKIXPolicyMappings_GetPolicyMappings
  2374.  *  NSSPKIXPolicyMappings_SetPolicyMappings
  2375.  *  NSSPKIXPolicyMappings_GetPolicyMapping
  2376.  *  NSSPKIXPolicyMappings_SetPolicyMapping
  2377.  *  NSSPKIXPolicyMappings_InsertPolicyMapping
  2378.  *  NSSPKIXPolicyMappings_AppendPolicyMapping
  2379.  *  NSSPKIXPolicyMappings_RemovePolicyMapping
  2380.  *  NSSPKIXPolicyMappings_FindPolicyMapping
  2381.  *  NSSPKIXPolicyMappings_Equal
  2382.  *  NSSPKIXPolicyMappings_Duplicate
  2383.  *  NSSPKIXPolicyMappings_IssuerDomainPolicyExists
  2384.  *  NSSPKIXPolicyMappings_SubjectDomainPolicyExists
  2385.  *  NSSPKIXPolicyMappings_FindIssuerDomainPolicy
  2386.  *  NSSPKIXPolicyMappings_FindSubjectDomainPolicy
  2387.  *  NSSPKIXPolicyMappings_MapIssuerToSubject
  2388.  *  NSSPKIXPolicyMappings_MapSubjectToIssuer
  2389.  *    { find's and map's: what if there's more than one? }
  2390.  *
  2391.  */
  2392. /*
  2393.  * NSSPKIXPolicyMappings_Decode
  2394.  *
  2395.  * -- fgmr comments --
  2396.  *
  2397.  * The error may be one of the following values:
  2398.  *  NSS_ERROR_INVALID_BER
  2399.  *  NSS_ERROR_NO_MEMORY
  2400.  *  NSS_ERROR_INVALID_ARENA
  2401.  * 
  2402.  * Return value:
  2403.  *  A valid pointer to an NSSPKIXPolicyMappings upon success
  2404.  *  NULL upon failure
  2405.  */
  2406. NSS_EXTERN NSSPKIXPolicyMappings *
  2407. NSSPKIXPolicyMappings_Decode
  2408. (
  2409.   NSSArena *arenaOpt,
  2410.   NSSBER *ber
  2411. );
  2412. /*
  2413.  * NSSPKIXPolicyMappings_Create
  2414.  *
  2415.  * -- fgmr comments --
  2416.  *
  2417.  * The error may be one of the following values:
  2418.  *  NSS_ERROR_NO_MEMORY
  2419.  *  NSS_ERROR_INVALID_ARENA
  2420.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2421.  * 
  2422.  * Return value:
  2423.  *  A valid pointer to an NSSPKIXPolicyMappings upon success
  2424.  *  NULL upon failure
  2425.  */
  2426. NSS_EXTERN NSSPKIXPolicyMappings *
  2427. NSSPKIXPolicyMappings_Decode
  2428. (
  2429.   NSSArena *arenaOpt,
  2430.   NSSPKIXpolicyMapping *policyMapping1,
  2431.   ...
  2432. );
  2433. /*
  2434.  * NSSPKIXPolicyMappings_Destroy
  2435.  *
  2436.  * -- fgmr comments --
  2437.  *
  2438.  * The error may be one of the following values:
  2439.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2440.  * 
  2441.  * Return value:
  2442.  *  PR_SUCCESS upon success
  2443.  *  PR_FAILURE upon failure
  2444.  */
  2445. NSS_EXTERN PRStatus
  2446. NSSPKIXPolicyMappings_Destroy
  2447. (
  2448.   NSSPKIXPolicyMappings *policyMappings
  2449. );
  2450. /*
  2451.  * NSSPKIXPolicyMappings_Encode
  2452.  *
  2453.  * -- fgmr comments --
  2454.  *
  2455.  * The error may be one of the following values:
  2456.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2457.  *  NSS_ERROR_INVALID_ARENA
  2458.  *  NSS_ERROR_NO_MEMORY
  2459.  *  NSS_ERROR_INVALID_DATA
  2460.  * 
  2461.  * Return value:
  2462.  *  A valid NSSBER pointer upon success
  2463.  *  NULL upon failure
  2464.  */
  2465. NSS_EXTERN NSSBER *
  2466. NSSPKIXPolicyMappings_Encode
  2467. (
  2468.   NSSPKIXPolicyMappings *policyMappings,
  2469.   NSSASN1EncodingType encoding,
  2470.   NSSBER *rvOpt,
  2471.   NSSArena *arenaOpt
  2472. );
  2473. /*
  2474.  * NSSPKIXPolicyMappings_GetPolicyMappingCount
  2475.  *
  2476.  * -- fgmr comments --
  2477.  *
  2478.  * The error may be one of the following values:
  2479.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2480.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2481.  * 
  2482.  * Return value:
  2483.  *  Nonnegative integer upon success
  2484.  *  -1 upon failure.
  2485.  */
  2486. NSS_EXTERN PRInt32
  2487. NSSPKIXPolicyMappings_GetPolicyMappingCount
  2488. (
  2489.   NSSPKIXPolicyMappings *policyMappings
  2490. );
  2491. /*
  2492.  * NSSPKIXPolicyMappings_GetPolicyMappings
  2493.  *
  2494.  * -- fgmr comments --
  2495.  *
  2496.  * The error may be one of the following values:
  2497.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2498.  *  NSS_ERROR_INVALID_ARENA
  2499.  *  NSS_ERROR_NO_MEMORY
  2500.  *  NSS_ERROR_ARRAY_TOO_SMALL
  2501.  * 
  2502.  * Return value:
  2503.  *  A valid pointer to an array of NSSPKIXpolicyMapping pointers upon
  2504.  *      success
  2505.  *  NULL upon failure
  2506.  */
  2507. NSS_EXTERN NSSPKIXpolicyMapping **
  2508. NSSPKIXPolicyMappings_GetPolicyMappings
  2509. (
  2510.   NSSPKIXPolicyMappings *policyMappings
  2511.   NSSPKIXpolicyMapping *rvOpt[],
  2512.   PRInt32 limit,
  2513.   NSSArena *arenaOpt
  2514. );
  2515. /*
  2516.  * NSSPKIXPolicyMappings_SetPolicyMappings
  2517.  *
  2518.  * -- fgmr comments --
  2519.  *
  2520.  * The error may be one of the following values:
  2521.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2522.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2523.  *  NSS_ERROR_NO_MEMORY
  2524.  * 
  2525.  * Return value:
  2526.  *  PR_SUCCESS upon success
  2527.  *  PR_FAILURE upon failure
  2528.  */
  2529. NSS_EXTERN PRStatus
  2530. NSSPKIXPolicyMappings_SetPolicyMappings
  2531. (
  2532.   NSSPKIXPolicyMappings *policyMappings
  2533.   NSSPKIXpolicyMapping *policyMapping[]
  2534.   PRInt32 count
  2535. );
  2536. /*
  2537.  * NSSPKIXPolicyMappings_GetPolicyMapping
  2538.  *
  2539.  * -- fgmr comments --
  2540.  *
  2541.  * The error may be one of the following values:
  2542.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2543.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2544.  *  NSS_ERROR_NO_MEMORY
  2545.  *  NSS_ERROR_INVALID_ARENA
  2546.  * 
  2547.  * Return value:
  2548.  *  A valid pointer to an NSSPKIXpolicyMapping upon success
  2549.  *  NULL upon failure
  2550.  */
  2551. NSS_EXTERN NSSPKIXpolicyMapping *
  2552. NSSPKIXPolicyMappings_GetPolicyMapping
  2553. (
  2554.   NSSPKIXPolicyMappings *policyMappings
  2555.   PRInt32 i,
  2556.   NSSArena *arenaOpt
  2557. );
  2558. /*
  2559.  * NSSPKIXPolicyMappings_SetPolicyMapping
  2560.  *
  2561.  * -- fgmr comments --
  2562.  *
  2563.  * The error may be one of the following values:
  2564.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2565.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2566.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2567.  *  NSS_ERROR_NO_MEMORY
  2568.  * 
  2569.  * Return value:
  2570.  *  PR_SUCCESS upon success
  2571.  *  PR_FAILURE upon failure
  2572.  */
  2573. NSS_EXTERN PRStatus
  2574. NSSPKIXPolicyMappings_SetPolicyMapping
  2575. (
  2576.   NSSPKIXPolicyMappings *policyMappings
  2577.   PRInt32 i,
  2578.   NSSPKIXpolicyMapping *policyMapping
  2579. );
  2580. /*
  2581.  * NSSPKIXPolicyMappings_InsertPolicyMapping
  2582.  *
  2583.  * -- fgmr comments --
  2584.  *
  2585.  * The error may be one of the following values:
  2586.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2587.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2588.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2589.  *  NSS_ERROR_NO_MEMORY
  2590.  * 
  2591.  * Return value:
  2592.  *  PR_SUCCESS upon success
  2593.  *  PR_FAILURE upon failure
  2594.  */
  2595. NSS_EXTERN PRStatus
  2596. NSSPKIXPolicyMappings_InsertPolicyMapping
  2597. (
  2598.   NSSPKIXPolicyMappings *policyMappings
  2599.   PRInt32 i,
  2600.   NSSPKIXpolicyMapping *policyMapping
  2601. );
  2602. /*
  2603.  * NSSPKIXPolicyMappings_AppendPolicyMapping
  2604.  *
  2605.  * -- fgmr comments --
  2606.  *
  2607.  * The error may be one of the following values:
  2608.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2609.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2610.  *  NSS_ERROR_NO_MEMORY
  2611.  * 
  2612.  * Return value:
  2613.  *  PR_SUCCESS upon success
  2614.  *  PR_FAILURE upon failure
  2615.  */
  2616. NSS_EXTERN PRStatus
  2617. NSSPKIXPolicyMappings_AppendPolicyMapping
  2618. (
  2619.   NSSPKIXPolicyMappings *policyMappings
  2620.   NSSPKIXpolicyMapping *policyMapping
  2621. );
  2622. /*
  2623.  * NSSPKIXPolicyMappings_RemovePolicyMapping
  2624.  *
  2625.  * -- fgmr comments --
  2626.  *
  2627.  * The error may be one of the following values:
  2628.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2629.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2630.  * 
  2631.  * Return value:
  2632.  *  PR_SUCCESS upon success
  2633.  *  PR_FAILURE upon failure
  2634.  */
  2635. NSS_EXTERN PRStatus
  2636. NSSPKIXPolicyMappings_RemovePolicyMapping
  2637. (
  2638.   NSSPKIXPolicyMappings *policyMappings
  2639.   PRInt32 i
  2640. );
  2641. /*
  2642.  * NSSPKIXPolicyMappings_FindPolicyMapping
  2643.  *
  2644.  * -- fgmr comments --
  2645.  *
  2646.  * The error may be one of the following values:
  2647.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2648.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2649.  *  NSS_ERROR_NOT_FOUND
  2650.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2651.  * 
  2652.  * Return value:
  2653.  *  The index of the specified policy mapping upon success
  2654.  *  -1 upon failure.
  2655.  */
  2656. NSS_EXTERN PRInt32
  2657. NSSPKIXPolicyMappings_FindPolicyMapping
  2658. (
  2659.   NSSPKIXPolicyMappings *policyMappings
  2660.   NSSPKIXpolicyMapping *policyMapping
  2661. );
  2662. /*
  2663.  * NSSPKIXPolicyMappings_Equal
  2664.  *
  2665.  * -- fgmr comments --
  2666.  *
  2667.  * The error may be one of the following values:
  2668.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2669.  * 
  2670.  * Return value:
  2671.  *  PR_TRUE if the two objects have equal values
  2672.  *  PR_FALSE otherwise
  2673.  *  PR_FALSE upon error
  2674.  */
  2675. NSS_EXTERN PRBool
  2676. NSSPKIXPolicyMappings_Equal
  2677. (
  2678.   NSSPKIXPolicyMappings *policyMappings1,
  2679.   NSSPKIXpolicyMappings *policyMappings2,
  2680.   PRStatus *statusOpt
  2681. );
  2682. /*
  2683.  * NSSPKIXPolicyMappings_Duplicate
  2684.  *
  2685.  * -- fgmr comments --
  2686.  *
  2687.  * The error may be one of the following values:
  2688.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2689.  *  NSS_ERROR_INVALID_ARENA
  2690.  *  NSS_ERROR_NO_MEMORY
  2691.  * 
  2692.  * Return value:
  2693.  *  A valid pointer to an NSSPKIXPolicyMappings upon success
  2694.  *  NULL upon failure
  2695.  */
  2696. NSS_EXTERN NSSPKIXPolicyMappings *
  2697. NSSPKIXPolicyMappings_Duplicate
  2698. (
  2699.   NSSPKIXPolicyMappings *policyMappings,
  2700.   NSSArena *arenaOpt
  2701. );
  2702. /*
  2703.  * NSSPKIXPolicyMappings_IssuerDomainPolicyExists
  2704.  *
  2705.  * -- fgmr comments --
  2706.  *
  2707.  * The error may be one of the following values:
  2708.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2709.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2710.  * 
  2711.  * Return value:
  2712.  *  PR_TRUE if the specified domain policy OID exists
  2713.  *  PR_FALSE if it doesn't
  2714.  *  PR_FALSE upon failure
  2715.  */
  2716. NSS_EXTERN PRBool
  2717. NSSPKIXPolicyMappings_IssuerDomainPolicyExists
  2718. (
  2719.   NSSPKIXPolicyMappings *policyMappings,
  2720.   NSSPKIXCertPolicyId *issuerDomainPolicy,
  2721.   PRStatus *statusOpt
  2722. );
  2723. /*
  2724.  * NSSPKIXPolicyMappings_SubjectDomainPolicyExists
  2725.  *
  2726.  * -- fgmr comments --
  2727.  *
  2728.  * The error may be one of the following values:
  2729.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2730.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2731.  * 
  2732.  * Return value:
  2733.  *  PR_TRUE if the specified domain policy OID exists
  2734.  *  PR_FALSE if it doesn't
  2735.  *  PR_FALSE upon failure
  2736.  */
  2737. NSS_EXTERN PRBool
  2738. NSSPKIXPolicyMappings_SubjectDomainPolicyExists
  2739. (
  2740.   NSSPKIXPolicyMappings *policyMappings,
  2741.   NSSPKIXCertPolicyId *subjectDomainPolicy,
  2742.   PRStatus *statusOpt
  2743. );
  2744. /*
  2745.  * NSSPKIXPolicyMappings_FindIssuerDomainPolicy
  2746.  *
  2747.  * -- fgmr comments --
  2748.  *
  2749.  * The error may be one of the following values:
  2750.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2751.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2752.  *  NSS_ERROR_NOT_FOUND
  2753.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2754.  * 
  2755.  * Return value:
  2756.  *  The index of the specified policy mapping upon success
  2757.  *  -1 upon failure.
  2758.  */
  2759. NSS_EXTERN PRInt32
  2760. NSSPKIXPolicyMappings_FindIssuerDomainPolicy
  2761. (
  2762.   NSSPKIXPolicyMappings *policyMappings,
  2763.   NSSPKIXCertPolicyId *issuerDomainPolicy
  2764. );
  2765. /*
  2766.  * NSSPKIXPolicyMappings_FindSubjectDomainPolicy
  2767.  *
  2768.  * -- fgmr comments --
  2769.  *
  2770.  * The error may be one of the following values:
  2771.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2772.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2773.  *  NSS_ERROR_NOT_FOUND
  2774.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  2775.  * 
  2776.  * Return value:
  2777.  *  The index of the specified policy mapping upon success
  2778.  *  -1 upon failure.
  2779.  */
  2780. NSS_EXTERN PRInt32
  2781. NSSPKIXPolicyMappings_FindSubjectDomainPolicy
  2782. (
  2783.   NSSPKIXPolicyMappings *policyMappings,
  2784.   NSSPKIXCertPolicyId *issuerDomainPolicy
  2785. );
  2786. /*
  2787.  * NSSPKIXPolicyMappings_MapIssuerToSubject
  2788.  *
  2789.  * -- fgmr comments --
  2790.  *
  2791.  * The error may be one of the following values:
  2792.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2793.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2794.  *  NSS_ERROR_NOT_FOUND
  2795.  * 
  2796.  * Return value:
  2797.  *  A valid pointer to an NSSPKIXCertPolicyId upon success
  2798.  *  NULL upon failure
  2799.  */
  2800. NSS_EXTERN NSSPKIXCertPolicyId *
  2801. NSSPKIXPolicyMappings_MapIssuerToSubject
  2802. (
  2803.   NSSPKIXPolicyMappings *policyMappings,
  2804.   NSSPKIXCertPolicyId *issuerDomainPolicy
  2805. );
  2806. /*
  2807.  * NSSPKIXPolicyMappings_MapSubjectToIssuer
  2808.  *
  2809.  * -- fgmr comments --
  2810.  *
  2811.  * The error may be one of the following values:
  2812.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPINGS
  2813.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2814.  *  NSS_ERROR_NOT_FOUND
  2815.  * 
  2816.  * Return value:
  2817.  *  A valid pointer to an NSSPKIXCertPolicyId upon success
  2818.  *  NULL upon failure
  2819.  */
  2820. NSS_EXTERN NSSPKIXCertPolicyId *
  2821. NSSPKIXPolicyMappings_MapSubjectToIssuer
  2822. (
  2823.   NSSPKIXPolicyMappings *policyMappings,
  2824.   NSSPKIXCertPolicyId *issuerDomainPolicy
  2825. );
  2826. /*
  2827.  * policyMapping
  2828.  *
  2829.  * Helper structure for PolicyMappings
  2830.  *
  2831.  *                                               SEQUENCE {
  2832.  *       issuerDomainPolicy      CertPolicyId,
  2833.  *       subjectDomainPolicy     CertPolicyId }
  2834.  *
  2835.  * The public calls for this type:
  2836.  *
  2837.  *  NSSPKIXpolicyMapping_Decode
  2838.  *  NSSPKIXpolicyMapping_Create
  2839.  *  NSSPKIXpolicyMapping_Destroy
  2840.  *  NSSPKIXpolicyMapping_Encode
  2841.  *  NSSPKIXpolicyMapping_GetIssuerDomainPolicy
  2842.  *  NSSPKIXpolicyMapping_SetIssuerDomainPolicy
  2843.  *  NSSPKIXpolicyMapping_GetSubjectDomainPolicy
  2844.  *  NSSPKIXpolicyMapping_SetSubjectDomainPolicy
  2845.  *  NSSPKIXpolicyMapping_Equal
  2846.  *  NSSPKIXpolicyMapping_Duplicate
  2847.  *
  2848.  */
  2849. /*
  2850.  * NSSPKIXpolicyMapping_Decode
  2851.  *
  2852.  * -- fgmr comments --
  2853.  *
  2854.  * The error may be one of the following values:
  2855.  *  NSS_ERROR_INVALID_BER
  2856.  *  NSS_ERROR_NO_MEMORY
  2857.  *  NSS_ERROR_INVALID_ARENA
  2858.  * 
  2859.  * Return value:
  2860.  *  A valid pointer to an NSSPKIXpolicyMapping upon success
  2861.  *  NULL upon failure
  2862.  */
  2863. NSS_EXTERN NSSPKIXpolicyMapping *
  2864. NSSPKIXpolicyMapping_Decode
  2865. (
  2866.   NSSArena *arenaOpt,
  2867.   NSSBER *ber
  2868. );
  2869. /*
  2870.  * NSSPKIXpolicyMapping_Create
  2871.  *
  2872.  * -- fgmr comments --
  2873.  *
  2874.  * The error may be one of the following values:
  2875.  *  NSS_ERROR_NO_MEMORY
  2876.  *  NSS_ERROR_INVALID_ARENA
  2877.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2878.  * 
  2879.  * Return value:
  2880.  *  A valid pointer to an NSSPKIXpolicyMapping upon success
  2881.  *  NULL upon failure
  2882.  */
  2883. NSS_EXTERN NSSPKIXpolicyMapping *
  2884. NSSPKIXpolicyMapping_Create
  2885. (
  2886.   NSSArena *arenaOpt,
  2887.   NSSPKIXCertPolicyId *issuerDomainPolicy,
  2888.   NSSPKIXCertPolicyId *subjectDomainPolicy
  2889. );
  2890. /*
  2891.  * NSSPKIXpolicyMapping_Destroy
  2892.  *
  2893.  * -- fgmr comments --
  2894.  *
  2895.  * The error may be one of the following values:
  2896.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2897.  * 
  2898.  * Return value:
  2899.  *  PR_SUCCESS upon success
  2900.  *  PR_FAILURE upon failure
  2901.  */
  2902. NSS_EXTERN PRStatus
  2903. NSSPKIXpolicyMapping_Destroy
  2904. (
  2905.   NSSPKIXpolicyMapping *policyMapping
  2906. );
  2907. /*
  2908.  * NSSPKIXpolicyMapping_Encode
  2909.  *
  2910.  * -- fgmr comments --
  2911.  *
  2912.  * The error may be one of the following values:
  2913.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2914.  *  NSS_ERROR_INVALID_ARENA
  2915.  *  NSS_ERROR_NO_MEMORY
  2916.  *  NSS_ERROR_INVALID_DATA
  2917.  * 
  2918.  * Return value:
  2919.  *  A valid NSSBER pointer upon success
  2920.  *  NULL upon failure
  2921.  */
  2922. NSS_EXTERN NSSBER *
  2923. NSSPKIXpolicyMapping_Encode
  2924. (
  2925.   NSSPKIXpolicyMapping *policyMapping,
  2926.   NSSASN1EncodingType encoding,
  2927.   NSSBER *rvOpt,
  2928.   NSSArena *arenaOpt
  2929. );
  2930. /*
  2931.  * NSSPKIXpolicyMapping_GetIssuerDomainPolicy
  2932.  *
  2933.  * -- fgmr comments --
  2934.  *
  2935.  * The error may be one of the following values:
  2936.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2937.  *  NSS_ERROR_NO_MEMORY
  2938.  * 
  2939.  * Return value:
  2940.  *  A valid pointer to an NSSPKIXCertPolicyId OID upon success
  2941.  *  NULL upon faliure
  2942.  */
  2943. NSS_EXTERN NSSPKIXCertPolicyId *
  2944. NSSPKIXpolicyMapping_GetIssuerDomainPolicy
  2945. (
  2946.   NSSPKIXpolicyMapping *policyMapping
  2947. );
  2948. /*
  2949.  * NSSPKIXpolicyMapping_SetIssuerDomainPolicy
  2950.  *
  2951.  * -- fgmr comments --
  2952.  *
  2953.  * The error may be one of the following values:
  2954.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2955.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2956.  *  NSS_ERROR_NO_MEMORY
  2957.  * 
  2958.  * Return value:
  2959.  *  PR_SUCCESS upon success
  2960.  *  PR_FAILURE upon failure
  2961.  */
  2962. NSS_EXTERN PRStatus
  2963. NSSPKIXpolicyMapping_SetIssuerDomainPolicy
  2964. (
  2965.   NSSPKIXpolicyMapping *policyMapping,
  2966.   NSSPKIXCertPolicyId *issuerDomainPolicy
  2967. );
  2968. /*
  2969.  * NSSPKIXpolicyMapping_GetSubjectDomainPolicy
  2970.  *
  2971.  * -- fgmr comments --
  2972.  *
  2973.  * The error may be one of the following values:
  2974.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2975.  *  NSS_ERROR_NO_MEMORY
  2976.  * 
  2977.  * Return value:
  2978.  *  A valid pointer to an NSSPKIXCertPolicyId OID upon success
  2979.  *  NULL upon faliure
  2980.  */
  2981. NSS_EXTERN NSSPKIXCertPolicyId *
  2982. NSSPKIXpolicyMapping_GetSubjectDomainPolicy
  2983. (
  2984.   NSSPKIXpolicyMapping *policyMapping
  2985. );
  2986. /*
  2987.  * NSSPKIXpolicyMapping_SetSubjectDomainPolicy
  2988.  *
  2989.  * -- fgmr comments --
  2990.  *
  2991.  * The error may be one of the following values:
  2992.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  2993.  *  NSS_ERROR_INVALID_PKIX_CERT_POLICY_ID
  2994.  *  NSS_ERROR_NO_MEMORY
  2995.  * 
  2996.  * Return value:
  2997.  *  PR_SUCCESS upon success
  2998.  *  PR_FAILURE upon failure
  2999.  */
  3000. NSS_EXTERN PRStatus
  3001. NSSPKIXpolicyMapping_SetSubjectDomainPolicy
  3002. (
  3003.   NSSPKIXpolicyMapping *policyMapping,
  3004.   NSSPKIXCertPolicyId *subjectDomainPolicy
  3005. );
  3006. /*
  3007.  * NSSPKIXpolicyMapping_Equal
  3008.  *
  3009.  * -- fgmr comments --
  3010.  *
  3011.  * The error may be one of the following values:
  3012.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  3013.  * 
  3014.  * Return value:
  3015.  *  PR_TRUE if the two objects have equal values
  3016.  *  PR_FALSE otherwise
  3017.  *  PR_FALSE upon error
  3018.  */
  3019. NSS_EXTERN PRBool
  3020. NSSPKIXpolicyMapping_Equal
  3021. (
  3022.   NSSPKIXpolicyMapping *policyMapping1,
  3023.   NSSPKIXpolicyMapping *policyMapping2,
  3024.   PRStatus *statusOpt
  3025. );
  3026. /*
  3027.  * NSSPKIXpolicyMapping_Duplicate
  3028.  *
  3029.  * -- fgmr comments --
  3030.  *
  3031.  * The error may be one of the following values:
  3032.  *  NSS_ERROR_INVALID_PKIX_POLICY_MAPPING
  3033.  *  NSS_ERROR_INVALID_ARENA
  3034.  *  NSS_ERROR_NO_MEMORY
  3035.  * 
  3036.  * Return value:
  3037.  *  A valid pointer to an NSSPKIXpolicyMapping upon success
  3038.  *  NULL upon failure
  3039.  */
  3040. NSS_EXTERN NSSPKIXpolicyMapping *
  3041. NSSPKIXpolicyMapping_Duplicate
  3042. (
  3043.   NSSPKIXpolicyMapping *policyMapping,
  3044.   NSSArena *arenaOpt
  3045. );
  3046. /*
  3047.  * GeneralName
  3048.  *
  3049.  * This structure contains a union of the possible general names,
  3050.  * of which there are several.
  3051.  *
  3052.  * From RFC 2459:
  3053.  *
  3054.  *  GeneralName ::= CHOICE {
  3055.  *       otherName                       [0]     AnotherName,
  3056.  *       rfc822Name                      [1]     IA5String,
  3057.  *       dNSName                         [2]     IA5String,
  3058.  *       x400Address                     [3]     ORAddress,
  3059.  *       directoryName                   [4]     Name,
  3060.  *       ediPartyName                    [5]     EDIPartyName,
  3061.  *       uniformResourceIdentifier       [6]     IA5String,
  3062.  *       iPAddress                       [7]     OCTET STRING,
  3063.  *       registeredID                    [8]     OBJECT IDENTIFIER }
  3064.  *
  3065.  * The public calls for this type:
  3066.  *
  3067.  *  NSSPKIXGeneralName_Decode
  3068.  *  NSSPKIXGeneralName_CreateFromUTF8
  3069.  *  NSSPKIXGeneralName_Create
  3070.  *  NSSPKIXGeneralName_CreateFromOtherName
  3071.  *  NSSPKIXGeneralName_CreateFromRfc822Name
  3072.  *  NSSPKIXGeneralName_CreateFromDNSName
  3073.  *  NSSPKIXGeneralName_CreateFromX400Address
  3074.  *  NSSPKIXGeneralName_CreateFromDirectoryName
  3075.  *  NSSPKIXGeneralName_CreateFromEDIPartyName
  3076.  *  NSSPKIXGeneralName_CreateFromUniformResourceIdentifier
  3077.  *  NSSPKIXGeneralName_CreateFromIPAddress
  3078.  *  NSSPKIXGeneralName_CreateFromRegisteredID
  3079.  *  NSSPKIXGeneralName_Destroy
  3080.  *  NSSPKIXGeneralName_Encode
  3081.  *  NSSPKIXGeneralName_GetUTF8Encoding
  3082.  *  NSSPKIXGeneralName_GetChoice
  3083.  *  NSSPKIXGeneralName_GetOtherName
  3084.  *  NSSPKIXGeneralName_GetRfc822Name
  3085.  *  NSSPKIXGeneralName_GetDNSName
  3086.  *  NSSPKIXGeneralName_GetX400Address
  3087.  *  NSSPKIXGeneralName_GetDirectoryName
  3088.  *  NSSPKIXGeneralName_GetEDIPartyName
  3089.  *  NSSPKIXGeneralName_GetUniformResourceIdentifier
  3090.  *  NSSPKIXGeneralName_GetIPAddress
  3091.  *  NSSPKIXGeneralName_GetRegisteredID
  3092.  *  NSSPKIXGeneralName_GetSpecifiedChoice
  3093.  *  NSSPKIXGeneralName_Equal
  3094.  *  NSSPKIXGeneralName_Duplicate
  3095.  *  (in pki1 I had specific attribute value gettors here too)
  3096.  *
  3097.  */
  3098. /*
  3099.  * NSSPKIXGeneralName_Decode
  3100.  *
  3101.  * -- fgmr comments --
  3102.  *
  3103.  * The error may be one of the following values:
  3104.  *  NSS_ERROR_INVALID_BER
  3105.  *  NSS_ERROR_NO_MEMORY
  3106.  *  NSS_ERROR_INVALID_ARENA
  3107.  * 
  3108.  * Return value:
  3109.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3110.  *  NULL upon failure
  3111.  */
  3112. NSS_EXTERN NSSPKIXGeneralName *
  3113. NSSPKIXGeneralName_Decode
  3114. (
  3115.   NSSArena *arenaOpt,
  3116.   NSSBER *ber
  3117. );
  3118. /*
  3119.  * NSSPKIXGeneralName_CreateFromUTF8
  3120.  *
  3121.  * -- fgmr comments --
  3122.  *
  3123.  * The error may be one of the following values:
  3124.  *  NSS_ERROR_INVALID_STRING
  3125.  *  NSS_ERROR_NO_MEMORY
  3126.  *  NSS_ERROR_INVALID_ARENA
  3127.  * 
  3128.  * Return value:
  3129.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3130.  *  NULL upon failure
  3131.  */
  3132. NSS_EXTERN NSSPKIXGeneralName *
  3133. NSSPKIXGeneralName_CreateFromUTF8
  3134. (
  3135.   NSSArena *arenaOpt,
  3136.   NSSUTF8 *utf8
  3137. );
  3138. /*
  3139.  * NSSPKIXGeneralName_Create
  3140.  *
  3141.  * -- fgmr comments --
  3142.  *
  3143.  * The error may be one of the following values:
  3144.  *  NSS_ERROR_NO_MEMORY
  3145.  *  NSS_ERROR_INVALID_ARENA
  3146.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME_CHOICE
  3147.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  3148.  *  NSS_ERROR_INVALID_PKIX_IA5_STRING
  3149.  *  NSS_ERROR_INVALID_PKIX_OR_ADDRESS
  3150.  *  NSS_ERROR_INVALID_PKIX_NAME
  3151.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  3152.  *  NSS_ERROR_INVALID_ITEM
  3153.  *  NSS_ERROR_INVALID_OID
  3154.  * 
  3155.  * Return value:
  3156.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3157.  *  NULL upon failure
  3158.  */
  3159. NSS_EXTERN NSSPKIXGeneralName *
  3160. NSSPKIXGeneralName_Create
  3161. (
  3162.   NSSArena *arenaOpt,
  3163.   NSSPKIXGeneralNameChoice choice,
  3164.   void *content
  3165. );
  3166. /*
  3167.  * NSSPKIXGeneralName_CreateFromOtherName
  3168.  *
  3169.  * -- fgmr comments --
  3170.  *
  3171.  * The error may be one of the following values:
  3172.  *  NSS_ERROR_NO_MEMORY
  3173.  *  NSS_ERROR_INVALID_ARENA
  3174.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  3175.  * 
  3176.  * Return value:
  3177.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3178.  *  NULL upon failure
  3179.  */
  3180. NSS_EXTERN NSSPKIXGeneralName *
  3181. NSSPKIXGeneralName_CreateFromOtherName
  3182. (
  3183.   NSSArena *arenaOpt,
  3184.   NSSPKIXAnotherName *otherName
  3185. );
  3186. /*
  3187.  * NSSPKIXGeneralName_CreateFromRfc822Name
  3188.  *
  3189.  * -- fgmr comments --
  3190.  *
  3191.  * The error may be one of the following values:
  3192.  *  NSS_ERROR_NO_MEMORY
  3193.  *  NSS_ERROR_INVALID_ARENA
  3194.  *  NSS_ERROR_INVALID_PKIX_IA5_STRING
  3195.  * 
  3196.  * Return value:
  3197.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3198.  *  NULL upon failure
  3199.  */
  3200. NSS_EXTERN NSSPKIXGeneralName *
  3201. NSSPKIXGeneralName_CreateFromRfc822Name
  3202. (
  3203.   NSSArena *arenaOpt,
  3204.   NSSUTF8 *rfc822Name
  3205. );
  3206. /*
  3207.  * NSSPKIXGeneralName_CreateFromDNSName
  3208.  *
  3209.  * -- fgmr comments --
  3210.  *
  3211.  * The error may be one of the following values:
  3212.  *  NSS_ERROR_NO_MEMORY
  3213.  *  NSS_ERROR_INVALID_ARENA
  3214.  *  NSS_ERROR_INVALID_PKIX_IA5_STRING
  3215.  * 
  3216.  * Return value:
  3217.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3218.  *  NULL upon failure
  3219.  */
  3220. NSS_EXTERN NSSPKIXGeneralName *
  3221. NSSPKIXGeneralName_CreateFromDNSName
  3222. (
  3223.   NSSArena *arenaOpt,
  3224.   NSSUTF8 *dNSName
  3225. );
  3226. /*
  3227.  * NSSPKIXGeneralName_CreateFromX400Address
  3228.  *
  3229.  * -- fgmr comments --
  3230.  *
  3231.  * The error may be one of the following values:
  3232.  *  NSS_ERROR_NO_MEMORY
  3233.  *  NSS_ERROR_INVALID_ARENA
  3234.  *  NSS_ERROR_INVALID_PKIX_OR_ADDRESS
  3235.  * 
  3236.  * Return value:
  3237.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3238.  *  NULL upon failure
  3239.  */
  3240. NSS_EXTERN NSSPKIXGeneralName *
  3241. NSSPKIXGeneralName_CreateFromX400Address
  3242. (
  3243.   NSSArena *arenaOpt,
  3244.   NSSPKIXORAddress *x400Address
  3245. );
  3246. /*
  3247.  * NSSPKIXGeneralName_CreateFromDirectoryName
  3248.  *
  3249.  * -- fgmr comments --
  3250.  *
  3251.  * The error may be one of the following values:
  3252.  *  NSS_ERROR_NO_MEMORY
  3253.  *  NSS_ERROR_INVALID_ARENA
  3254.  *  NSS_ERROR_INVALID_PKIX_NAME
  3255.  * 
  3256.  * Return value:
  3257.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3258.  *  NULL upon failure
  3259.  */
  3260. NSS_EXTERN NSSPKIXGeneralName *
  3261. NSSPKIXGeneralName_CreateFromDirectoryName
  3262. (
  3263.   NSSArena *arenaOpt,
  3264.   NSSPKIXName *directoryName
  3265. );
  3266. /*
  3267.  * NSSPKIXGeneralName_CreateFromEDIPartyName
  3268.  *
  3269.  * -- fgmr comments --
  3270.  *
  3271.  * The error may be one of the following values:
  3272.  *  NSS_ERROR_NO_MEMORY
  3273.  *  NSS_ERROR_INVALID_ARENA
  3274.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  3275.  * 
  3276.  * Return value:
  3277.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3278.  *  NULL upon failure
  3279.  */
  3280. NSS_EXTERN NSSPKIXGeneralName *
  3281. NSSPKIXGeneralName_CreateFromEDIPartyName
  3282. (
  3283.   NSSArena *arenaOpt,
  3284.   NSSPKIXEDIPartyName *ediPartyname
  3285. );
  3286. /*
  3287.  * NSSPKIXGeneralName_CreateFromUniformResourceIdentifier
  3288.  *
  3289.  * -- fgmr comments --
  3290.  *
  3291.  * The error may be one of the following values:
  3292.  *  NSS_ERROR_NO_MEMORY
  3293.  *  NSS_ERROR_INVALID_ARENA
  3294.  *  NSS_ERROR_INVALID_PKIX_IA5_STRING
  3295.  * 
  3296.  * Return value:
  3297.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3298.  *  NULL upon failure
  3299.  */
  3300. NSS_EXTERN NSSPKIXGeneralName *
  3301. NSSPKIXGeneralName_CreateFromUniformResourceIdentifier
  3302. (
  3303.   NSSArena *arenaOpt,
  3304.   NSSUTF8 *uniformResourceIdentifier
  3305. );
  3306. /*
  3307.  * NSSPKIXGeneralName_CreateFromIPAddress
  3308.  *
  3309.  * -- fgmr comments --
  3310.  *
  3311.  * The error may be one of the following values:
  3312.  *  NSS_ERROR_NO_MEMORY
  3313.  *  NSS_ERROR_INVALID_ARENA
  3314.  *  NSS_ERROR_INVALID_ITEM
  3315.  * 
  3316.  * Return value:
  3317.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3318.  *  NULL upon failure
  3319.  */
  3320. NSS_EXTERN NSSPKIXGeneralName *
  3321. NSSPKIXGeneralName_CreateFromIPAddress
  3322. (
  3323.   NSSArena *arenaOpt,
  3324.   NSSItem *iPAddress
  3325. );
  3326. /*
  3327.  * NSSPKIXGeneralName_CreateFromRegisteredID
  3328.  *
  3329.  * -- fgmr comments --
  3330.  *
  3331.  * The error may be one of the following values:
  3332.  *  NSS_ERROR_NO_MEMORY
  3333.  *  NSS_ERROR_INVALID_ARENA
  3334.  *  NSS_ERROR_INVALID_OID
  3335.  * 
  3336.  * Return value:
  3337.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3338.  *  NULL upon failure
  3339.  */
  3340. NSS_EXTERN NSSPKIXGeneralName *
  3341. NSSPKIXGeneralName_CreateFromRegisteredID
  3342. (
  3343.   NSSArena *arenaOpt,
  3344.   NSSOID *registeredID
  3345. );
  3346. /*
  3347.  * NSSPKIXGeneralName_Destroy
  3348.  *
  3349.  * -- fgmr comments --
  3350.  *
  3351.  * The error may be one of the following values:
  3352.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3353.  * 
  3354.  * Return value:
  3355.  *  PR_SUCCESS upon success
  3356.  *  PR_FAILURE upon failure
  3357.  */
  3358. NSS_EXTERN PRStatus
  3359. NSSPKIXGeneralName_Destroy
  3360. (
  3361.   NSSPKIXGeneralName *generalName
  3362. );
  3363. /*
  3364.  * NSSPKIXGeneralName_Encode
  3365.  *
  3366.  * -- fgmr comments --
  3367.  *
  3368.  * The error may be one of the following values:
  3369.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3370.  *  NSS_ERROR_INVALID_ARENA
  3371.  *  NSS_ERROR_NO_MEMORY
  3372.  * 
  3373.  * Return value:
  3374.  *  A valid NSSBER pointer upon success
  3375.  *  NULL upon failure
  3376.  */
  3377. NSS_EXTERN NSSBER *
  3378. NSSPKIXGeneralName_Encode
  3379. (
  3380.   NSSPKIXGeneralName *generalName,
  3381.   NSSASN1EncodingType encoding,
  3382.   NSSBER *rvOpt,
  3383.   NSSArena *arenaOpt
  3384. );
  3385. /*
  3386.  * NSSPKIXGeneralName_GetUTF8Encoding
  3387.  *
  3388.  * -- fgmr comments --
  3389.  *
  3390.  * The error may be one of the following values:
  3391.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3392.  *  NSS_ERROR_INVALID_ARENA
  3393.  *  NSS_ERROR_NO_MEMORY
  3394.  * 
  3395.  * Return value:
  3396.  *  A valid pointer to an NSSUTF8 upon success
  3397.  *  NULL upon failure
  3398.  */
  3399. NSS_EXTERN NSSUTF8 *
  3400. NSSPKIXGeneralName_GetUTF8Encoding
  3401. (
  3402.   NSSPKIXGeneralName *generalName,
  3403.   NSSArena *arenaOpt
  3404. );
  3405. /*
  3406.  * NSSPKIXGeneralName_GetChoice
  3407.  *
  3408.  * -- fgmr comments --
  3409.  *
  3410.  * The error may be one of the following values:
  3411.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3412.  * 
  3413.  * Return value:
  3414.  *  A valid NSSPKIXGeneralNameChoice value upon success
  3415.  *  NSSPKIXGeneralNameChoice_NSSinvalid upon failure
  3416.  */
  3417. NSS_EXTERN NSSPKIXGeneralNameChoice
  3418. NSSPKIXGeneralName_GetChoice
  3419. (
  3420.   NSSPKIXGeneralName *generalName
  3421. );
  3422. /*
  3423.  * NSSPKIXGeneralName_GetOtherName
  3424.  *
  3425.  * -- fgmr comments --
  3426.  *
  3427.  * The error may be one of the following values:
  3428.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3429.  *  NSS_ERROR_WRONG_CHOICE
  3430.  *  NSS_ERROR_INVALID_ARENA
  3431.  *  NSS_ERROR_NO_MEMORY
  3432.  * 
  3433.  * Return value:
  3434.  *  A valid pointer to an NSSPKIXAnotherName upon success
  3435.  *  NULL upon failure
  3436.  */
  3437. NSS_EXTERN NSSPKIXAnotherName *
  3438. NSSPKIXGeneralName_GetOtherName
  3439. (
  3440.   NSSPKIXGeneralName *generalName,
  3441.   NSSArena *arenaOpt
  3442. );
  3443. /*
  3444.  * NSSPKIXGeneralName_GetRfc822Name
  3445.  *
  3446.  * -- fgmr comments --
  3447.  *
  3448.  * The error may be one of the following values:
  3449.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3450.  *  NSS_ERROR_WRONG_CHOICE
  3451.  *  NSS_ERROR_INVALID_ARENA
  3452.  *  NSS_ERROR_NO_MEMORY
  3453.  * 
  3454.  * Return value:
  3455.  *  A valid pointer to an NSSUTF8 upon success
  3456.  *  NULL upon failure
  3457.  */
  3458. NSS_EXTERN NSSUTF8 *
  3459. NSSPKIXGeneralName_GetRfc822Name
  3460. (
  3461.   NSSPKIXGeneralName *generalName,
  3462.   NSSArena *arenaOpt
  3463. );
  3464. /*
  3465.  * NSSPKIXGeneralName_GetDNSName
  3466.  *
  3467.  * -- fgmr comments --
  3468.  *
  3469.  * The error may be one of the following values:
  3470.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3471.  *  NSS_ERROR_WRONG_CHOICE
  3472.  *  NSS_ERROR_INVALID_ARENA
  3473.  *  NSS_ERROR_NO_MEMORY
  3474.  * 
  3475.  * Return value:
  3476.  *  A valid pointer to an NSSUTF8 upon success
  3477.  *  NULL upon failure
  3478.  */
  3479. NSS_EXTERN NSSUTF8 *
  3480. NSSPKIXGeneralName_GetDNSName
  3481. (
  3482.   NSSPKIXGeneralName *generalName,
  3483.   NSSArena *arenaOpt
  3484. );
  3485. /*
  3486.  * NSSPKIXGeneralName_GetX400Address
  3487.  *
  3488.  * -- fgmr comments --
  3489.  *
  3490.  * The error may be one of the following values:
  3491.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3492.  *  NSS_ERROR_WRONG_CHOICE
  3493.  *  NSS_ERROR_INVALID_ARENA
  3494.  *  NSS_ERROR_NO_MEMORY
  3495.  * 
  3496.  * Return value:
  3497.  *  A valid pointer to an NSSPKIXORAddress upon success
  3498.  *  NULL upon failure
  3499.  */
  3500. NSS_EXTERN NSSPKIXORAddress *
  3501. NSSPKIXGeneralName_GetX400Address
  3502. (
  3503.   NSSPKIXGeneralName *generalName,
  3504.   NSSArena *arenaOpt
  3505. );
  3506. /*
  3507.  * NSSPKIXGeneralName_GetDirectoryName
  3508.  *
  3509.  * -- fgmr comments --
  3510.  *
  3511.  * The error may be one of the following values:
  3512.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3513.  *  NSS_ERROR_WRONG_CHOICE
  3514.  *  NSS_ERROR_INVALID_ARENA
  3515.  *  NSS_ERROR_NO_MEMORY
  3516.  * 
  3517.  * Return value:
  3518.  *  A valid pointer to an NSSPKIXName upon success
  3519.  *  NULL upon failure
  3520.  */
  3521. NSS_EXTERN NSSPKIXName *
  3522. NSSPKIXGeneralName_GetDirectoryName
  3523. (
  3524.   NSSPKIXGeneralName *generalName,
  3525.   NSSArena *arenaOpt
  3526. );
  3527. /*
  3528.  * NSSPKIXGeneralName_GetEDIPartyName
  3529.  *
  3530.  * -- fgmr comments --
  3531.  *
  3532.  * The error may be one of the following values:
  3533.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3534.  *  NSS_ERROR_WRONG_CHOICE
  3535.  *  NSS_ERROR_INVALID_ARENA
  3536.  *  NSS_ERROR_NO_MEMORY
  3537.  * 
  3538.  * Return value:
  3539.  *  A valid pointer to an NSSPKIXEDIPartyName upon success
  3540.  *  NULL upon failure
  3541.  */
  3542. NSS_EXTERN NSSPKIXEDIPartyName *
  3543. NSSPKIXGeneralName_GetEDIPartyName
  3544. (
  3545.   NSSPKIXGeneralName *generalName,
  3546.   NSSArena *arenaOpt
  3547. );
  3548. /*
  3549.  * NSSPKIXGeneralName_GetUniformResourceIdentifier
  3550.  *
  3551.  * -- fgmr comments --
  3552.  *
  3553.  * The error may be one of the following values:
  3554.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3555.  *  NSS_ERROR_WRONG_CHOICE
  3556.  *  NSS_ERROR_INVALID_ARENA
  3557.  *  NSS_ERROR_NO_MEMORY
  3558.  * 
  3559.  * Return value:
  3560.  *  A valid pointer to an NSSUTF8 upon success
  3561.  *  NULL upon failure
  3562.  */
  3563. NSS_EXTERN NSSUTF8 *
  3564. NSSPKIXGeneralName_GetUniformResourceIdentifier
  3565. (
  3566.   NSSPKIXGeneralName *generalName,
  3567.   NSSArena *arenaOpt
  3568. );
  3569. /*
  3570.  * NSSPKIXGeneralName_GetIPAddress
  3571.  *
  3572.  * -- fgmr comments --
  3573.  *
  3574.  * The error may be one of the following values:
  3575.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3576.  *  NSS_ERROR_WRONG_CHOICE
  3577.  *  NSS_ERROR_INVALID_ARENA
  3578.  *  NSS_ERROR_NO_MEMORY
  3579.  * 
  3580.  * Return value:
  3581.  *  A valid pointer to an NSSItem upon success
  3582.  *  NULL upon failure
  3583.  */
  3584. NSS_EXTERN NSSItem *
  3585. NSSPKIXGeneralName_GetIPAddress
  3586. (
  3587.   NSSPKIXGeneralName *generalName,
  3588.   NSSItem *rvOpt,
  3589.   NSSArena *arenaOpt
  3590. );
  3591. /*
  3592.  * NSSPKIXGeneralName_GetRegisteredID
  3593.  *
  3594.  * -- fgmr comments --
  3595.  *
  3596.  * The error may be one of the following values:
  3597.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3598.  *  NSS_ERROR_WRONG_CHOICE
  3599.  *  NSS_ERROR_NO_MEMORY
  3600.  * 
  3601.  * Return value:
  3602.  *  A valid pointer to an NSSOID upon success
  3603.  *  NULL upon failure
  3604.  */
  3605. NSS_EXTERN NSSOID *
  3606. NSSPKIXGeneralName_GetRegisteredID
  3607. (
  3608.   NSSPKIXGeneralName *generalName
  3609. );
  3610. /*
  3611.  * NSSPKIXGeneralName_GetSpecifiedChoice
  3612.  *
  3613.  * -- fgmr comments --
  3614.  *
  3615.  * The error may be one of the following values:
  3616.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3617.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME_CHOICE
  3618.  *  NSS_ERROR_INVALID_ARENA
  3619.  *  NSS_ERROR_NO_MEMORY
  3620.  * 
  3621.  * Return value:
  3622.  *  A valid pointer upon success
  3623.  *  NULL upon failure
  3624.  */
  3625. NSS_EXTERN void *
  3626. NSSPKIXGeneralName_GetSpecifiedChoice
  3627. (
  3628.   NSSPKIXGeneralName *generalName,
  3629.   NSSArena *arenaOpt
  3630. );
  3631. /*
  3632.  * NSSPKIXGeneralName_Equal
  3633.  *
  3634.  * -- fgmr comments --
  3635.  *
  3636.  * The error may be one of the following values:
  3637.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3638.  * 
  3639.  * Return value:
  3640.  *  PR_TRUE if the two objects have equal values
  3641.  *  PR_FALSE otherwise
  3642.  *  PR_FALSE upon error
  3643.  */
  3644. NSS_EXTERN PRBool
  3645. NSSPKIXGeneralName_Equal
  3646. (
  3647.   NSSPKIXGeneralName *generalName1,
  3648.   NSSPKIXGeneralName *generalName2,
  3649.   PRStatus *statusOpt
  3650. );
  3651. /*
  3652.  * NSSPKIXGeneralName_Duplicate
  3653.  *
  3654.  * -- fgmr comments --
  3655.  *
  3656.  * The error may be one of the following values:
  3657.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3658.  *  NSS_ERROR_INVALID_ARENA
  3659.  *  NSS_ERROR_NO_MEMORY
  3660.  * 
  3661.  * Return value:
  3662.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3663.  *  NULL upon failure
  3664.  */
  3665. NSS_EXTERN NSSPKIXGeneralName *
  3666. NSSPKIXGeneralName_Duplicate
  3667. (
  3668.   NSSPKIXGeneralName *generalName,
  3669.   NSSArena *arenaOpt
  3670. );
  3671. /*
  3672.  * (in pki1 I had specific attribute value gettors here too)
  3673.  *
  3674.  */
  3675. /*
  3676.  * GeneralNames
  3677.  *
  3678.  * This structure contains a sequence of GeneralName objects.
  3679.  *
  3680.  * From RFC 2459:
  3681.  *
  3682.  *  GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
  3683.  *
  3684.  * The public calls for this type:
  3685.  *
  3686.  *  NSSPKIXGeneralNames_Decode
  3687.  *  NSSPKIXGeneralNames_Create
  3688.  *  NSSPKIXGeneralNames_Destroy
  3689.  *  NSSPKIXGeneralNames_Encode
  3690.  *  NSSPKIXGeneralNames_GetGeneralNameCount
  3691.  *  NSSPKIXGeneralNames_GetGeneralNames
  3692.  *  NSSPKIXGeneralNames_SetGeneralNames
  3693.  *  NSSPKIXGeneralNames_GetGeneralName
  3694.  *  NSSPKIXGeneralNames_SetGeneralName
  3695.  *  NSSPKIXGeneralNames_InsertGeneralName
  3696.  *  NSSPKIXGeneralNames_AppendGeneralName
  3697.  *  NSSPKIXGeneralNames_RemoveGeneralName
  3698.  *  NSSPKIXGeneralNames_FindGeneralName
  3699.  *  NSSPKIXGeneralNames_Equal
  3700.  *  NSSPKIXGeneralNames_Duplicate
  3701.  *
  3702.  */
  3703. /*
  3704.  * NSSPKIXGeneralNames_Decode
  3705.  *
  3706.  * -- fgmr comments --
  3707.  *
  3708.  * The error may be one of the following values:
  3709.  *  NSS_ERROR_INVALID_BER
  3710.  *  NSS_ERROR_NO_MEMORY
  3711.  *  NSS_ERROR_INVALID_ARENA
  3712.  * 
  3713.  * Return value:
  3714.  *  A valid pointer to an NSSPKIXGeneralNames upon success
  3715.  *  NULL upon failure
  3716.  */
  3717. NSS_EXTERN NSSPKIXGeneralNames *
  3718. NSSPKIXGeneralNames_Decode
  3719. (
  3720.   NSSArena *arenaOpt,
  3721.   NSSBER *ber
  3722. );
  3723. /*
  3724.  * NSSPKIXGeneralNames_Create
  3725.  *
  3726.  * -- fgmr comments --
  3727.  *
  3728.  * The error may be one of the following values:
  3729.  *  NSS_ERROR_NO_MEMORY
  3730.  *  NSS_ERROR_INVALID_ARENA
  3731.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3732.  * 
  3733.  * Return value:
  3734.  *  A valid pointer to an NSSPKIXGeneralNames upon success
  3735.  *  NULL upon failure
  3736.  */
  3737. NSS_EXTERN NSSPKIXGeneralNames *
  3738. NSSPKIXGeneralNames_Create
  3739. (
  3740.   NSSArena *arenaOpt,
  3741.   NSSPKIXGeneralName *generalName1,
  3742.   ...
  3743. );
  3744. /*
  3745.  * NSSPKIXGeneralNames_Destroy
  3746.  *
  3747.  * -- fgmr comments --
  3748.  *
  3749.  * The error may be one of the following values:
  3750.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3751.  * 
  3752.  * Return value:
  3753.  *  PR_SUCCESS upon success
  3754.  *  PR_FAILURE upon failure
  3755.  */
  3756. NSS_EXTERN PRStatus
  3757. NSSPKIXGeneralNames_Destroy
  3758. (
  3759.   NSSPKIXGeneralNames *generalNames
  3760. );
  3761. /*
  3762.  * NSSPKIXGeneralNames_Encode
  3763.  *
  3764.  * -- fgmr comments --
  3765.  *
  3766.  * The error may be one of the following values:
  3767.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3768.  *  NSS_ERROR_INVALID_ARENA
  3769.  *  NSS_ERROR_NO_MEMORY
  3770.  * 
  3771.  * Return value:
  3772.  *  A valid NSSBER pointer upon success
  3773.  *  NULL upon failure
  3774.  */
  3775. NSS_EXTERN NSSBER *
  3776. NSSPKIXGeneralNames_Encode
  3777. (
  3778.   NSSPKIXGeneralNames *generalNames,
  3779.   NSSASN1EncodingType encoding,
  3780.   NSSBER *rvOpt,
  3781.   NSSArena *arenaOpt
  3782. );
  3783. /*
  3784.  * NSSPKIXGeneralNames_GetGeneralNameCount
  3785.  *
  3786.  * -- fgmr comments --
  3787.  *
  3788.  * The error may be one of the following values:
  3789.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3790.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3791.  * 
  3792.  * Return value:
  3793.  *  Nonnegative integer upon success
  3794.  *  -1 upon failure.
  3795.  */
  3796. NSS_EXTERN PRInt32
  3797. NSSPKIXGeneralNames_GetGeneralNameCount
  3798. (
  3799.   NSSPKIXGeneralNames *generalNames
  3800. );
  3801. /*
  3802.  * NSSPKIXGeneralNames_GetGeneralNames
  3803.  *
  3804.  * -- fgmr comments --
  3805.  *
  3806.  * The error may be one of the following values:
  3807.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3808.  *  NSS_ERROR_INVALID_ARENA
  3809.  *  NSS_ERROR_NO_MEMORY
  3810.  *  NSS_ERROR_ARRAY_TOO_SMALL
  3811.  * 
  3812.  * Return value:
  3813.  *  A valid pointer to an array of NSSPKIXGeneralName pointers upon
  3814.  *      success
  3815.  *  NULL upon failure
  3816.  */
  3817. NSS_EXTERN NSSPKIXGeneralName **
  3818. NSSPKIXGeneralNames_GetGeneralNames
  3819. (
  3820.   NSSPKIXGeneralNames *generalNames,
  3821.   NSSPKIXGeneralName *rvOpt[],
  3822.   PRInt32 limit,
  3823.   NSSArena *arenaOpt
  3824. );
  3825. /*
  3826.  * NSSPKIXGeneralNames_SetGeneralNames
  3827.  *
  3828.  * -- fgmr comments --
  3829.  *
  3830.  * The error may be one of the following values:
  3831.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3832.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3833.  *  NSS_ERROR_NO_MEMORY
  3834.  * 
  3835.  * Return value:
  3836.  *  PR_SUCCESS upon success
  3837.  *  PR_FAILURE upon failure
  3838.  */
  3839. NSS_EXTERN PRStatus
  3840. NSSPKIXGeneralNames_SetGeneralNames
  3841. (
  3842.   NSSPKIXGeneralNames *generalNames,
  3843.   NSSPKIXGeneralName *generalName[],
  3844.   PRInt32 count
  3845. );
  3846. /*
  3847.  * NSSPKIXGeneralNames_GetGeneralName
  3848.  *
  3849.  * -- fgmr comments --
  3850.  *
  3851.  * The error may be one of the following values:
  3852.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3853.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3854.  *  NSS_ERROR_NO_MEMORY
  3855.  *  NSS_ERROR_INVALID_ARENA
  3856.  * 
  3857.  * Return value:
  3858.  *  A valid pointer to an NSSPKIXGeneralName upon success
  3859.  *  NULL upon failure
  3860.  */
  3861. NSS_EXTERN NSSPKIXGeneralName *
  3862. NSSPKIXGeneralNames_GetGeneralName
  3863. (
  3864.   NSSPKIXGeneralNames *generalNames,
  3865.   PRInt32 i,
  3866.   NSSArena *arenaOpt
  3867. );
  3868. /*
  3869.  * NSSPKIXGeneralNames_SetGeneralName
  3870.  *
  3871.  * -- fgmr comments --
  3872.  *
  3873.  * The error may be one of the following values:
  3874.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3875.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3876.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3877.  *  NSS_ERROR_NO_MEMORY
  3878.  * 
  3879.  * Return value:
  3880.  *  PR_SUCCESS upon success
  3881.  *  PR_FAILURE upon failure
  3882.  */
  3883. NSS_EXTERN PRStatus
  3884. NSSPKIXGeneralNames_SetGeneralName
  3885. (
  3886.   NSSPKIXGeneralNames *generalNames,
  3887.   PRInt32 i,
  3888.   NSSPKIXGeneralName *generalName
  3889. );
  3890. /*
  3891.  * NSSPKIXGeneralNames_InsertGeneralName
  3892.  *
  3893.  * -- fgmr comments --
  3894.  *
  3895.  * The error may be one of the following values:
  3896.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3897.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3898.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3899.  *  NSS_ERROR_NO_MEMORY
  3900.  * 
  3901.  * Return value:
  3902.  *  PR_SUCCESS upon success
  3903.  *  PR_FAILURE upon failure
  3904.  */
  3905. NSS_EXTERN PRStatus
  3906. NSSPKIXGeneralNames_InsertGeneralName
  3907. (
  3908.   NSSPKIXGeneralNames *generalNames,
  3909.   PRInt32 i,
  3910.   NSSPKIXGeneralName *generalName
  3911. );
  3912. /*
  3913.  * NSSPKIXGeneralNames_AppendGeneralName
  3914.  *
  3915.  * -- fgmr comments --
  3916.  *
  3917.  * The error may be one of the following values:
  3918.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3919.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3920.  *  NSS_ERROR_NO_MEMORY
  3921.  * 
  3922.  * Return value:
  3923.  *  PR_SUCCESS upon success
  3924.  *  PR_FAILURE upon failure
  3925.  */
  3926. NSS_EXTERN PRStatus
  3927. NSSPKIXGeneralNames_AppendGeneralName
  3928. (
  3929.   NSSPKIXGeneralNames *generalNames,
  3930.   NSSPKIXGeneralName *generalName
  3931. );
  3932. /*
  3933.  * NSSPKIXGeneralNames_RemoveGeneralName
  3934.  *
  3935.  * -- fgmr comments --
  3936.  *
  3937.  * The error may be one of the following values:
  3938.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3939.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3940.  * 
  3941.  * Return value:
  3942.  *  PR_SUCCESS upon success
  3943.  *  PR_FAILURE upon failure
  3944.  */
  3945. NSS_EXTERN PRStatus
  3946. NSSPKIXGeneralNames_RemoveGeneralName
  3947. (
  3948.   NSSPKIXGeneralNames *generalNames,
  3949.   PRInt32 i
  3950. );
  3951. /*
  3952.  * NSSPKIXGeneralNames_FindGeneralName
  3953.  *
  3954.  * -- fgmr comments --
  3955.  *
  3956.  * The error may be one of the following values:
  3957.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3958.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAME
  3959.  *  NSS_ERROR_NOT_FOUND
  3960.  *  NSS_ERROR_VALUE_OUT_OF_RANGE
  3961.  * 
  3962.  * Return value:
  3963.  *  The index of the specified policy mapping upon success
  3964.  *  -1 upon failure.
  3965.  */
  3966. NSS_EXTERN PRInt32
  3967. NSSPKIXGeneralNames_FindGeneralName
  3968. (
  3969.   NSSPKIXGeneralNames *generalNames,
  3970.   NSSPKIXGeneralName *generalName
  3971. );
  3972. /*
  3973.  * NSSPKIXGeneralNames_Equal
  3974.  *
  3975.  * -- fgmr comments --
  3976.  *
  3977.  * The error may be one of the following values:
  3978.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3979.  * 
  3980.  * Return value:
  3981.  *  PR_TRUE if the two objects have equal values
  3982.  *  PR_FALSE otherwise
  3983.  *  PR_FALSE upon error
  3984.  */
  3985. NSS_EXTERN PRBool
  3986. NSSPKIXGeneralNames_Equal
  3987. (
  3988.   NSSPKIXGeneralNames *generalNames1,
  3989.   NSSPKIXGeneralNames *generalNames2,
  3990.   PRStatus *statusOpt
  3991. );
  3992. /*
  3993.  * NSSPKIXGeneralNames_Duplicate
  3994.  *
  3995.  * -- fgmr comments --
  3996.  *
  3997.  * The error may be one of the following values:
  3998.  *  NSS_ERROR_INVALID_PKIX_GENERAL_NAMES
  3999.  *  NSS_ERROR_INVALID_ARENA
  4000.  *  NSS_ERROR_NO_MEMORY
  4001.  * 
  4002.  * Return value:
  4003.  *  A valid pointer to an NSSPKIXGeneralNames upon success
  4004.  *  NULL upon failure
  4005.  */
  4006. NSS_EXTERN NSSPKIXGeneralNames *
  4007. NSSPKIXGeneralNames_Duplicate
  4008. (
  4009.   NSSPKIXGeneralNames *generalNames,
  4010.   NSSArena *arenaOpt
  4011. );
  4012. /*
  4013.  * AnotherName
  4014.  *
  4015.  * -- fgmr comments --
  4016.  *
  4017.  * From RFC 2459:
  4018.  *
  4019.  *  AnotherName ::= SEQUENCE {
  4020.  *       type-id    OBJECT IDENTIFIER,
  4021.  *       value      [0] EXPLICIT ANY DEFINED BY type-id }
  4022.  *
  4023.  * The public calls for this type:
  4024.  *
  4025.  *  NSSPKIXAnotherName_Decode
  4026.  *  NSSPKIXAnotherName_Create
  4027.  *  NSSPKIXAnotherName_Destroy
  4028.  *  NSSPKIXAnotherName_Encode
  4029.  *  NSSPKIXAnotherName_GetTypeId
  4030.  *  NSSPKIXAnotherName_SetTypeId
  4031.  *  NSSPKIXAnotherName_GetValue
  4032.  *  NSSPKIXAnotherName_SetValue
  4033.  *  NSSPKIXAnotherName_Equal
  4034.  *  NSSPKIXAnotherName_Duplicate
  4035.  *
  4036.  */
  4037. /*
  4038.  * NSSPKIXAnotherName_Decode
  4039.  *
  4040.  * -- fgmr comments --
  4041.  *
  4042.  * The error may be one of the following values:
  4043.  *  NSS_ERROR_INVALID_BER
  4044.  *  NSS_ERROR_NO_MEMORY
  4045.  *  NSS_ERROR_INVALID_ARENA
  4046.  * 
  4047.  * Return value:
  4048.  *  A valid pointer to an NSSPKIXAnotherName upon success
  4049.  *  NULL upon failure
  4050.  */
  4051. NSS_EXTERN NSSPKIXAnotherName *
  4052. NSSPKIXAnotherName_Decode
  4053. (
  4054.   NSSArena *arenaOpt,
  4055.   NSSBER *ber
  4056. );
  4057. /*
  4058.  * NSSPKIXAnotherName_Create
  4059.  *
  4060.  * -- fgmr comments --
  4061.  *
  4062.  * The error may be one of the following values:
  4063.  *  NSS_ERROR_NO_MEMORY
  4064.  *  NSS_ERROR_INVALID_ARENA
  4065.  *  NSS_ERROR_INVALID_OID
  4066.  *  NSS_ERROR_INVALID_ITEM
  4067.  * 
  4068.  * Return value:
  4069.  *  A valid pointer to an NSSPKIXAnotherName upon success
  4070.  *  NULL upon failure
  4071.  */
  4072. NSS_EXTERN NSSPKIXAnotherName *
  4073. NSSPKIXAnotherName_Create
  4074. (
  4075.   NSSArena *arenaOpt,
  4076.   NSSOID *typeId,
  4077.   NSSItem *value
  4078. );
  4079. /*
  4080.  * NSSPKIXAnotherName_Destroy
  4081.  *
  4082.  * -- fgmr comments --
  4083.  *
  4084.  * The error may be one of the following values:
  4085.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4086.  * 
  4087.  * Return value:
  4088.  *  PR_SUCCESS upon success
  4089.  *  PR_FAILURE upon failure
  4090.  */
  4091. NSS_EXTERN PRStatus
  4092. NSSPKIXAnotherName_Destroy
  4093. (
  4094.   NSSPKIXAnotherName *anotherName
  4095. );
  4096. /*
  4097.  * NSSPKIXAnotherName_Encode
  4098.  *
  4099.  * -- fgmr comments --
  4100.  *
  4101.  * The error may be one of the following values:
  4102.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4103.  *  NSS_ERROR_INVALID_ARENA
  4104.  *  NSS_ERROR_NO_MEMORY
  4105.  * 
  4106.  * Return value:
  4107.  *  A valid NSSBER pointer upon success
  4108.  *  NULL upon failure
  4109.  */
  4110. NSS_EXTERN NSSBER *
  4111. NSSPKIXAnotherName_Encode
  4112. (
  4113.   NSSPKIXAnotherName *anotherName,
  4114.   NSSASN1EncodingType encoding,
  4115.   NSSBER *rvOpt,
  4116.   NSSArena *arenaOpt
  4117. );
  4118. /*
  4119.  * NSSPKIXAnotherName_GetTypeId
  4120.  *
  4121.  * -- fgmr comments --
  4122.  *
  4123.  * The error may be one of the following values:
  4124.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4125.  *  NSS_ERROR_NO_MEMORY
  4126.  * 
  4127.  * Return value:
  4128.  *  A valid pointer to an NSSOID upon success
  4129.  *  NULL upon failure
  4130.  */
  4131. NSS_EXTERN NSSOID *
  4132. NSSPKIXAnotherName_GetTypeId
  4133. (
  4134.   NSSPKIXAnotherName *anotherName
  4135. );
  4136. /*
  4137.  * NSSPKIXAnotherName_SetTypeId
  4138.  *
  4139.  * -- fgmr comments --
  4140.  *
  4141.  * The error may be one of the following values:
  4142.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4143.  *  NSS_ERROR_INVALID_OID
  4144.  *  NSS_ERROR_NO_MEMORY
  4145.  * 
  4146.  * Return value:
  4147.  *  PR_SUCCESS upon success
  4148.  *  PR_FAILURE upon failure
  4149.  */
  4150. NSS_EXTERN PRStatus
  4151. NSSPKIXAnotherName_SetTypeId
  4152. (
  4153.   NSSPKIXAnotherName *anotherName,
  4154.   NSSOID *typeId
  4155. );
  4156. /*
  4157.  * NSSPKIXAnotherName_GetValue
  4158.  *
  4159.  * -- fgmr comments --
  4160.  *
  4161.  * The error may be one of the following values:
  4162.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4163.  *  NSS_ERROR_NO_MEMORY
  4164.  *  NSS_ERROR_INVALID_ARENA
  4165.  * 
  4166.  * Return value:
  4167.  *  A valid pointer to an NSSItem upon success
  4168.  *  NULL upon failure
  4169.  */
  4170. NSS_EXTERN NSSItem *
  4171. NSSPKIXAnotherName_GetValue
  4172. (
  4173.   NSSPKIXAnotherName *anotherName,
  4174.   NSSItem *rvOpt,
  4175.   NSSArena *arenaOpt
  4176. );
  4177. /*
  4178.  * NSSPKIXAnotherName_SetValue
  4179.  *
  4180.  * -- fgmr comments --
  4181.  *
  4182.  * The error may be one of the following values:
  4183.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4184.  *  NSS_ERROR_NO_MEMORY
  4185.  *  NSS_ERROR_INVALID_ITEM
  4186.  * 
  4187.  * Return value:
  4188.  *  PR_SUCCESS upon success
  4189.  *  PR_FAILURE upon failure
  4190.  */
  4191. NSS_EXTERN PRStatus
  4192. NSSPKIXAnotherName_SetValue
  4193. (
  4194.   NSSPKIXAnotherName *anotherName,
  4195.   NSSItem *value
  4196. );
  4197. /*
  4198.  * NSSPKIXAnotherName_Equal
  4199.  *
  4200.  * -- fgmr comments --
  4201.  *
  4202.  * The error may be one of the following values:
  4203.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4204.  * 
  4205.  * Return value:
  4206.  *  PR_TRUE if the two objects have equal values
  4207.  *  PR_FALSE otherwise
  4208.  *  PR_FALSE upon error
  4209.  */
  4210. NSS_EXTERN PRBool
  4211. NSSPKIXAnotherName_Equal
  4212. (
  4213.   NSSPKIXAnotherName *anotherName1,
  4214.   NSSPKIXAnotherName *anotherName2,
  4215.   PRStatus *statusOpt
  4216. );
  4217. /*
  4218.  * NSSPKIXAnotherName_Duplicate
  4219.  *
  4220.  * -- fgmr comments --
  4221.  *
  4222.  * The error may be one of the following values:
  4223.  *  NSS_ERROR_INVALID_PKIX_ANOTHER_NAME
  4224.  *  NSS_ERROR_INVALID_ARENA
  4225.  *  NSS_ERROR_NO_MEMORY
  4226.  * 
  4227.  * Return value:
  4228.  *  A valid pointer to an NSSPKIXAnotherName upon success
  4229.  *  NULL upon failure
  4230.  */
  4231. NSS_EXTERN NSSPKIXAnotherName *
  4232. NSSPKIXAnotherName_Duplicate
  4233. (
  4234.   NSSPKIXAnotherName *anotherName,
  4235.   NSSArena *arenaOpt
  4236. );
  4237. /*
  4238.  * EDIPartyName
  4239.  *
  4240.  * -- fgmr comments --
  4241.  *
  4242.  * From RFC 2459:
  4243.  *
  4244.  *
  4245.  *  EDIPartyName ::= SEQUENCE {
  4246.  *       nameAssigner            [0]     DirectoryString OPTIONAL,
  4247.  *       partyName               [1]     DirectoryString }
  4248.  *
  4249.  * The public calls for this type:
  4250.  *
  4251.  *  NSSPKIXEDIPartyName_Decode
  4252.  *  NSSPKIXEDIPartyName_Create
  4253.  *  NSSPKIXEDIPartyName_Destroy
  4254.  *  NSSPKIXEDIPartyName_Encode
  4255.  *  NSSPKIXEDIPartyName_HasNameAssigner
  4256.  *  NSSPKIXEDIPartyName_GetNameAssigner
  4257.  *  NSSPKIXEDIPartyName_SetNameAssigner
  4258.  *  NSSPKIXEDIPartyName_RemoveNameAssigner
  4259.  *  NSSPKIXEDIPartyName_GetPartyName
  4260.  *  NSSPKIXEDIPartyName_SetPartyName
  4261.  *  NSSPKIXEDIPartyName_Equal
  4262.  *  NSSPKIXEDIPartyName_Duplicate
  4263.  *
  4264.  */
  4265. /*
  4266.  * NSSPKIXEDIPartyName_Decode
  4267.  *
  4268.  * -- fgmr comments --
  4269.  *
  4270.  * The error may be one of the following values:
  4271.  *  NSS_ERROR_INVALID_BER
  4272.  *  NSS_ERROR_NO_MEMORY
  4273.  *  NSS_ERROR_INVALID_ARENA
  4274.  * 
  4275.  * Return value:
  4276.  *  A valid pointer to an NSSPKIXEDIPartyName upon success
  4277.  *  NULL upon failure
  4278.  */
  4279. NSS_EXTERN NSSPKIXEDIPartyName *
  4280. NSSPKIXEDIPartyName_Decode
  4281. (
  4282.   NSSArena *arenaOpt,
  4283.   NSSBER *ber
  4284. );
  4285. /*
  4286.  * NSSPKIXEDIPartyName_Create
  4287.  *
  4288.  * -- fgmr comments --
  4289.  *
  4290.  * The error may be one of the following values:
  4291.  *  NSS_ERROR_NO_MEMORY
  4292.  *  NSS_ERROR_INVALID_ARENA
  4293.  *  NSS_ERROR_INVALID_STRING
  4294.  * 
  4295.  * Return value:
  4296.  *  A valid pointer to an NSSPKIXEDIPartyName upon success
  4297.  *  NULL upon failure
  4298.  */
  4299. NSS_EXTERN NSSPKIXEDIPartyName *
  4300. NSSPKIXEDIPartyName_Create
  4301. (
  4302.   NSSArena *arenaOpt,
  4303.   NSSUTF8 *nameAssignerOpt,
  4304.   NSSUTF8 *partyName
  4305. );
  4306. /*
  4307.  * NSSPKIXEDIPartyName_Destroy
  4308.  *
  4309.  * -- fgmr comments --
  4310.  *
  4311.  * The error may be one of the following values:
  4312.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4313.  * 
  4314.  * Return value:
  4315.  *  PR_SUCCESS upon success
  4316.  *  PR_FAILURE upon failure
  4317.  */
  4318. NSS_EXTERN PRStatus
  4319. NSSPKIXEDIPartyName_Destroy
  4320. (
  4321.   NSSPKIXEDIPartyName *ediPartyName
  4322. );
  4323. /*
  4324.  * NSSPKIXEDIPartyName_Encode
  4325.  *
  4326.  * -- fgmr comments --
  4327.  *
  4328.  * The error may be one of the following values:
  4329.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4330.  *  NSS_ERROR_INVALID_ARENA
  4331.  *  NSS_ERROR_NO_MEMORY
  4332.  * 
  4333.  * Return value:
  4334.  *  A valid NSSBER pointer upon success
  4335.  *  NULL upon failure
  4336.  */
  4337. NSS_EXTERN NSSBER *
  4338. NSSPKIXEDIPartyName_Encode
  4339. (
  4340.   NSSPKIXEDIPartyName *ediPartyName,
  4341.   NSSASN1EncodingType encoding,
  4342.   NSSBER *rvOpt,
  4343.   NSSArena *arenaOpt
  4344. );
  4345. /*
  4346.  * NSSPKIXEDIPartyName_HasNameAssigner
  4347.  *
  4348.  * -- fgmr comments --
  4349.  *
  4350.  * The error may be one of the following values:
  4351.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4352.  * 
  4353.  * Return value:
  4354.  *  PR_TRUE if it has one
  4355.  *  PR_FALSE if it doesn't
  4356.  *  PR_FALSE upon failure
  4357.  */
  4358. NSS_EXTERN PRBool
  4359. NSSPKIXEDIPartyName_HasNameAssigner
  4360. (
  4361.   NSSPKIXEDIPartyName *ediPartyName
  4362. );
  4363. /*
  4364.  * NSSPKIXEDIPartyName_GetNameAssigner
  4365.  *
  4366.  * -- fgmr comments --
  4367.  *
  4368.  * The error may be one of the following values:
  4369.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4370.  *  NSS_ERROR_INVALID_ARENA
  4371.  *  NSS_ERROR_NO_MEMORY
  4372.  *  NSS_ERROR_HAS_NO_NAME_ASSIGNER
  4373.  * 
  4374.  * Return value:
  4375.  *  A valid pointer to an NSSUTF8 string upon success
  4376.  *  NULL upon failure
  4377.  */
  4378. NSS_EXTERN NSSUTF8 *
  4379. NSSPKIXEDIPartyName_GetNameAssigner
  4380. (
  4381.   NSSPKIXEDIPartyName *ediPartyName,
  4382.   NSSArena *arenaOpt
  4383. );
  4384. /*
  4385.  * NSSPKIXEDIPartyName_SetNameAssigner
  4386.  *
  4387.  * -- fgmr comments --
  4388.  *
  4389.  * The error may be one of the following values:
  4390.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4391.  *  NSS_ERROR_NO_MEMORY
  4392.  *  NSS_ERROR_INVALID_STRING
  4393.  * 
  4394.  * Return value:
  4395.  *  PR_SUCCESS upon success
  4396.  *  PR_FAILURE upon failure
  4397.  */
  4398. NSS_EXTERN PRStatus
  4399. NSSPKIXEDIPartyName_SetNameAssigner
  4400. (
  4401.   NSSPKIXEDIPartyName *ediPartyName,
  4402.   NSSUTF8 *nameAssigner
  4403. );
  4404. /*
  4405.  * NSSPKIXEDIPartyName_RemoveNameAssigner
  4406.  *
  4407.  * -- fgmr comments --
  4408.  *
  4409.  * The error may be one of the following values:
  4410.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4411.  *  NSS_ERROR_HAS_NO_NAME_ASSIGNER
  4412.  * 
  4413.  * Return value:
  4414.  *  PR_SUCCESS upon success
  4415.  *  PR_FAILURE upon failure
  4416.  */
  4417. NSS_EXTERN PRStatus
  4418. NSSPKIXEDIPartyName_RemoveNameAssigner
  4419. (
  4420.   NSSPKIXEDIPartyName *ediPartyName
  4421. );
  4422. /*
  4423.  * NSSPKIXEDIPartyName_GetPartyName
  4424.  *
  4425.  * -- fgmr comments --
  4426.  *
  4427.  * The error may be one of the following values:
  4428.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4429.  *  NSS_ERROR_INVALID_ARENA
  4430.  *  NSS_ERROR_NO_MEMORY
  4431.  * 
  4432.  * Return value:
  4433.  *  A valid pointer to an NSSUTF8 string upon success
  4434.  *  NULL upon failure
  4435.  */
  4436. NSS_EXTERN NSSUTF8 *
  4437. NSSPKIXEDIPartyName_GetPartyName
  4438. (
  4439.   NSSPKIXEDIPartyName *ediPartyName,
  4440.   NSSArena *arenaOpt
  4441. );
  4442. /*
  4443.  * NSSPKIXEDIPartyName_SetPartyName
  4444.  *
  4445.  * -- fgmr comments --
  4446.  *
  4447.  * The error may be one of the following values:
  4448.  *  NSS_ERROR_INVALID_PKIX_EDI_PARTY_NAME
  4449.  *  NSS_ERROR_NO_MEMORY
  4450.  *  NSS_ERROR_INVALID_STRING
  4451.  * 
  4452.  * Return value:
  4453.  *  PR_SUCCESS upon success
  4454.  *  PR_FAILURE upon failure
  4455.  */
  4456. NSS_EXTERN PRStatus
  4457. NSSPKIXEDIPartyName_SetPartyName
  4458. (
  4459.   NSSPKIXEDIPartyName *ediPartyName,
  4460.   NSSUTF8 *partyName
  4461. );