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

CA认证

开发平台:

WINDOWS

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