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

CA认证

开发平台:

WINDOWS

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