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

CA认证

开发平台:

WINDOWS

  1. /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2. /* 
  3.  * The contents of this file are subject to the Mozilla Public
  4.  * License Version 1.1 (the "License"); you may not use this file
  5.  * except in compliance with the License. You may obtain a copy of
  6.  * the License at http://www.mozilla.org/MPL/
  7.  * 
  8.  * Software distributed under the License is distributed on an "AS
  9.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  10.  * implied. See the License for the specific language governing
  11.  * rights and limitations under the License.
  12.  * 
  13.  * The Original Code is the Netscape security libraries.
  14.  * 
  15.  * The Initial Developer of the Original Code is Netscape
  16.  * Communications Corporation.  Portions created by Netscape are 
  17.  * Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  18.  * Rights Reserved.
  19.  * 
  20.  * Contributor(s):
  21.  * 
  22.  * Alternatively, the contents of this file may be used under the
  23.  * terms of the GNU General Public License Version 2 or later (the
  24.  * "GPL"), in which case the provisions of the GPL are applicable 
  25.  * instead of those above.  If you wish to allow use of your 
  26.  * version of this file only under the terms of the GPL and not to
  27.  * allow others to use your version of this file under the MPL,
  28.  * indicate your decision by deleting the provisions above and
  29.  * replace them with the notice and other provisions required by
  30.  * the GPL.  If you do not delete the provisions above, a recipient
  31.  * may use your version of this file under either the MPL or the
  32.  * GPL.
  33.  */
  34. #ifndef __MESSAGES_H__
  35. #define __MESSAGES_H__
  36. #include "newproto.h"
  37. typedef struct SingleNumMessage {
  38.   CMInt32 value;
  39. } SingleNumMessage;
  40. extern CMTMessageTemplate SingleNumMessageTemplate[];
  41. typedef struct SingleStringMessage {
  42.   char *string;
  43. } SingleStringMessage;
  44. extern CMTMessageTemplate SingleStringMessageTemplate[];
  45. typedef struct SingleItemMessage {
  46.   CMTItem item;
  47. } SingleItemMessage;
  48. extern CMTMessageTemplate SingleItemMessageTemplate[];
  49. typedef struct HelloRequest {
  50.   CMInt32 version;
  51.   CMInt32 policy;
  52.   CMBool doesUI;
  53.   char *profile;
  54.   char* profileDir;
  55. } HelloRequest;
  56. extern CMTMessageTemplate HelloRequestTemplate[];
  57. typedef struct HelloReply {
  58.   CMInt32 result;
  59.   CMInt32 sessionID;
  60.   CMInt32 version;
  61.   CMInt32 httpPort;
  62.   CMInt32 policy;
  63.   CMTItem nonce;
  64.   char *stringVersion;
  65. } HelloReply;
  66. extern CMTMessageTemplate HelloReplyTemplate[];
  67. typedef struct SSLDataConnectionRequest {
  68.   CMInt32 flags;
  69.   CMInt32 port;
  70.   char *hostIP;
  71.   char *hostName;
  72.   CMBool forceHandshake;
  73.   CMTItem clientContext;
  74. } SSLDataConnectionRequest;
  75. extern CMTMessageTemplate SSLDataConnectionRequestTemplate[];
  76. typedef struct TLSDataConnectionRequest {
  77.     CMInt32 port;
  78.     char* hostIP;
  79.     char* hostName;
  80. } TLSDataConnectionRequest;
  81. extern CMTMessageTemplate TLSDataConnectionRequestTemplate[];
  82. typedef struct TLSStepUpRequest {
  83.     CMUint32 connID;
  84.     CMTItem clientContext;
  85. } TLSStepUpRequest;
  86. extern CMTMessageTemplate TLSStepUpRequestTemplate[];
  87. typedef struct ProxyStepUpRequest {
  88.     CMUint32 connID;
  89.     CMTItem clientContext;
  90.     char* url;
  91. } ProxyStepUpRequest;
  92. extern CMTMessageTemplate ProxyStepUpRequestTemplate[];
  93. typedef struct PKCS7DataConnectionRequest {
  94.     CMUint32 resID;
  95.     CMTItem clientContext;
  96. } PKCS7DataConnectionRequest;
  97. extern CMTMessageTemplate PKCS7DataConnectionRequestTemplate[];
  98. typedef struct DataConnectionReply {
  99.   CMInt32 result;
  100.   CMInt32 connID;
  101.   CMInt32 port;
  102. } DataConnectionReply;
  103. extern CMTMessageTemplate DataConnectionReplyTemplate[];
  104. typedef struct UIEvent {
  105.   CMInt32 resourceID;
  106.   CMInt32 width;
  107.   CMInt32 height;
  108.   CMBool isModal;
  109.   char *url;
  110.   CMTItem clientContext;
  111. } UIEvent;
  112. extern CMTMessageTemplate UIEventTemplate[];
  113. extern CMTMessageTemplate OldUIEventTemplate[];
  114. typedef struct TaskCompletedEvent {
  115.   CMInt32 resourceID;
  116.   CMInt32 numTasks;
  117.   CMInt32 result;
  118. } TaskCompletedEvent;
  119. extern CMTMessageTemplate TaskCompletedEventTemplate[];
  120. typedef struct VerifyDetachedSigRequest {
  121.   CMInt32 pkcs7ContentID;
  122.   CMInt32 certUsage;
  123.   CMInt32 hashAlgID;
  124.   CMBool keepCert;
  125.   CMTItem hash;
  126. } VerifyDetachedSigRequest;
  127. extern CMTMessageTemplate VerifyDetachedSigRequestTemplate[];
  128. typedef struct CreateSignedRequest {
  129.   CMInt32 scertRID;
  130.   CMInt32 ecertRID;
  131.   CMInt32 dig_alg;
  132.   CMTItem digest;
  133. } CreateSignedRequest;
  134. extern CMTMessageTemplate CreateSignedRequestTemplate[];
  135. typedef struct CreateContentInfoReply {
  136.   CMInt32 ciRID;
  137.   CMInt32 result;
  138.   CMInt32 errorCode;
  139. } CreateContentInfoReply;
  140. extern CMTMessageTemplate CreateContentInfoReplyTemplate[];
  141. typedef struct CreateEncryptedRequest {
  142.   CMInt32 scertRID;
  143.   CMInt32 nrcerts;
  144.   CMInt32 *rcertRIDs;
  145. } CreateEncryptedRequest;
  146. extern CMTMessageTemplate CreateEncryptedRequestTemplate[];
  147. typedef struct CreateResourceRequest {
  148.   CMInt32 type;
  149.   CMTItem params;
  150. } CreateResourceRequest;
  151. extern CMTMessageTemplate CreateResourceRequestTemplate[];
  152. typedef struct CreateResourceReply {
  153.   CMInt32 result;
  154.   CMInt32 resID;
  155. } CreateResourceReply;
  156. extern CMTMessageTemplate CreateResourceReplyTemplate[];
  157. typedef struct GetAttribRequest {
  158.   CMInt32 resID;
  159.   CMInt32 fieldID;
  160. } GetAttribRequest;
  161. extern CMTMessageTemplate GetAttribRequestTemplate[];
  162. typedef struct GetAttribReply {
  163.   CMInt32 result;
  164.   SSMAttributeValue value;
  165. } GetAttribReply;
  166. extern CMTMessageTemplate GetAttribReplyTemplate[];
  167. typedef struct SetAttribRequest {
  168.   CMInt32 resID;
  169.   CMInt32 fieldID;
  170.   SSMAttributeValue value;
  171. } SetAttribRequest;
  172. extern CMTMessageTemplate SetAttribRequestTemplate[];
  173. typedef struct PickleResourceReply {
  174.     CMInt32 result;
  175.     CMTItem blob;
  176. } PickleResourceReply;
  177. extern CMTMessageTemplate PickleResourceReplyTemplate[];
  178. typedef struct UnpickleResourceRequest {
  179.   CMInt32 resourceType;
  180.   CMTItem resourceData;
  181. } UnpickleResourceRequest;
  182. extern CMTMessageTemplate UnpickleResourceRequestTemplate[];
  183. typedef struct UnpickleResourceReply {
  184.     CMInt32 result;
  185.     CMInt32 resID;
  186. } UnpickleResourceReply;
  187. extern CMTMessageTemplate UnpickleResourceReplyTemplate[];
  188. typedef struct PickleSecurityStatusReply {
  189.     CMInt32 result;
  190.     CMInt32 securityLevel;
  191.     CMTItem blob;
  192. } PickleSecurityStatusReply;
  193. extern CMTMessageTemplate PickleSecurityStatusReplyTemplate[];
  194. typedef struct DupResourceReply {
  195.     CMInt32 result;
  196.     CMUint32 resID;
  197. } DupResourceReply;
  198. extern CMTMessageTemplate DupResourceReplyTemplate[];
  199. typedef struct DestroyResourceRequest {
  200.   CMInt32 resID;
  201.   CMInt32 resType;
  202. } DestroyResourceRequest;
  203. extern CMTMessageTemplate DestroyResourceRequestTemplate[];
  204. typedef struct VerifyCertRequest {
  205.   CMInt32 resID;
  206.   CMInt32 certUsage;
  207. } VerifyCertRequest;
  208. extern CMTMessageTemplate VerifyCertRequestTemplate[];
  209. typedef struct AddTempCertToDBRequest {
  210.   CMInt32 resID;
  211.   char *nickname;
  212.   CMInt32 sslFlags;
  213.   CMInt32 emailFlags;
  214.   CMInt32 objSignFlags;
  215. } AddTempCertToDBRequest;
  216. extern CMTMessageTemplate AddTempCertToDBRequestTemplate[];
  217. typedef struct MatchUserCertRequest {
  218.   CMInt32 certType;
  219.   CMInt32 numCANames;
  220.   char **caNames;
  221. } MatchUserCertRequest;
  222. extern CMTMessageTemplate MatchUserCertRequestTemplate[];
  223. typedef struct MatchUserCertReply {
  224.   CMInt32 numCerts;
  225.   CMInt32 *certs;
  226. } MatchUserCertReply;
  227. extern CMTMessageTemplate MatchUserCertReplyTemplate[];
  228. typedef struct EncodeCRMFReqRequest {
  229.     CMInt32 numRequests;
  230.     CMInt32 * reqIDs;
  231. } EncodeCRMFReqRequest;
  232. extern CMTMessageTemplate EncodeCRMFReqRequestTemplate[];
  233. typedef struct CMMFCertResponseRequest {
  234.     char *nickname;
  235.     char *base64Der;
  236.     CMBool doBackup;
  237.     CMTItem clientContext;
  238. } CMMFCertResponseRequest;
  239. extern CMTMessageTemplate CMMFCertResponseRequestTemplate[];
  240. typedef struct PasswordRequest {
  241.     CMInt32 tokenKey;
  242.     char *prompt;
  243.     CMTItem clientContext;
  244. } PasswordRequest;
  245. extern CMTMessageTemplate PasswordRequestTemplate[];
  246. typedef struct PasswordReply {
  247.     CMInt32 result;
  248.     CMInt32 tokenID;
  249.     char * passwd;
  250. } PasswordReply;
  251. extern CMTMessageTemplate PasswordReplyTemplate[];
  252. typedef struct KeyPairGenRequest {
  253.     CMInt32 keyGenCtxtID;
  254.     CMInt32 genMechanism;
  255.     CMInt32 keySize;
  256.     CMTItem params;
  257. } KeyPairGenRequest;
  258. extern CMTMessageTemplate KeyPairGenRequestTemplate[];
  259. typedef struct DecodeAndCreateTempCertRequest {
  260.     CMInt32 type;
  261.     CMTItem cert;
  262. } DecodeAndCreateTempCertRequest;
  263. extern CMTMessageTemplate DecodeAndCreateTempCertRequestTemplate[];
  264. typedef struct GenKeyOldStyleRequest {
  265.     char *choiceString;
  266.     char *challenge;
  267.     char *typeString;
  268.     char *pqgString;
  269. } GenKeyOldStyleRequest;
  270. extern CMTMessageTemplate GenKeyOldStyleRequestTemplate[];
  271. typedef struct GenKeyOldStyleTokenRequest {
  272.     CMInt32 rid;
  273.     CMInt32 numtokens;
  274.     char ** tokenNames;
  275. } GenKeyOldStyleTokenRequest;
  276. extern CMTMessageTemplate GenKeyOldStyleTokenRequestTemplate[];
  277. typedef struct GenKeyOldStyleTokenReply {
  278.     CMInt32 rid;
  279.     CMBool cancel;
  280.     char * tokenName;
  281. } GenKeyOldStyleTokenReply;
  282. extern CMTMessageTemplate GenKeyOldStyleTokenReplyTemplate[];
  283. typedef struct GenKeyOldStylePasswordRequest {
  284.     CMInt32 rid;
  285.     char * tokenName;
  286.     CMBool internal;
  287.     CMInt32 minpwdlen;
  288.     CMInt32 maxpwdlen;
  289. } GenKeyOldStylePasswordRequest;
  290. extern CMTMessageTemplate GenKeyOldStylePasswordRequestTemplate[];
  291. typedef struct GenKeyOldStylePasswordReply {
  292.     CMInt32 rid;
  293.     CMBool cancel;
  294.     char * password;
  295. } GenKeyOldStylePasswordReply;
  296. extern CMTMessageTemplate GenKeyOldStylePasswordReplyTemplate[];
  297. typedef struct GetKeyChoiceListRequest {
  298.     char *type;
  299.     char *pqgString;
  300. } GetKeyChoiceListRequest;
  301. extern CMTMessageTemplate GetKeyChoiceListRequestTemplate[];
  302. typedef struct GetKeyChoiceListReply {
  303.     CMInt32 nchoices;
  304.     char **choices;
  305. } GetKeyChoiceListReply;
  306. extern CMTMessageTemplate GetKeyChoiceListReplyTemplate[];
  307. typedef struct AddNewSecurityModuleRequest {
  308.     char *moduleName;
  309.     char *libraryPath;
  310.     CMInt32 pubMechFlags;
  311.     CMInt32 pubCipherFlags;
  312. } AddNewSecurityModuleRequest;
  313. extern CMTMessageTemplate AddNewSecurityModuleRequestTemplate[];
  314. typedef struct FilePathRequest {
  315.     CMInt32 resID;
  316.     char *prompt;
  317.     CMBool getExistingFile;
  318.     char *fileRegEx;
  319. } FilePathRequest;
  320. extern CMTMessageTemplate FilePathRequestTemplate[];
  321. typedef struct FilePathReply {
  322.     CMInt32 resID;
  323.     char *filePath;
  324. } FilePathReply;
  325. extern CMTMessageTemplate FilePathReplyTemplate[];
  326. typedef struct PasswordPromptReply {
  327.     CMInt32 resID;
  328.     char *promptReply;
  329. } PasswordPromptReply;
  330. extern CMTMessageTemplate PasswordPromptReplyTemplate[];
  331. typedef struct SignTextRequest {
  332.     CMInt32 resID;
  333.     char *stringToSign;
  334.     char *hostName;
  335.     char *caOption;
  336.     CMInt32 numCAs;
  337.     char** caNames;
  338. } SignTextRequest;
  339. extern CMTMessageTemplate SignTextRequestTemplate[];
  340. typedef struct GetLocalizedTextReply {
  341.     CMInt32 whichString;
  342.     char *localizedString;
  343. } GetLocalizedTextReply;
  344. extern CMTMessageTemplate GetLocalizedTextReplyTemplate[];
  345. typedef struct ImportCertReply {
  346.     CMInt32 result;
  347.     CMInt32 resID;
  348. } ImportCertReply;
  349. extern CMTMessageTemplate ImportCertReplyTemplate[];
  350. typedef struct PromptRequest {
  351.     CMInt32 resID;
  352.     char *prompt;
  353.     CMTItem clientContext;
  354. } PromptRequest;
  355. extern CMTMessageTemplate PromptRequestTemplate[];
  356. typedef struct PromptReply {
  357.     CMInt32 resID;
  358.     CMBool cancel;
  359.     char *promptReply;
  360. } PromptReply;
  361. extern CMTMessageTemplate PromptReplyTemplate[];
  362. typedef struct RedirectCompareReqeust {
  363.     CMTItem socketStatus1Data;
  364.     CMTItem socketStatus2Data;
  365. } RedirectCompareRequest;
  366. extern CMTMessageTemplate RedirectCompareRequestTemplate[];
  367. typedef struct DecodeAndAddCRLRequest {
  368.     CMTItem  derCrl;
  369.     CMUint32 type;
  370.     char *url;
  371. } DecodeAndAddCRLRequest;
  372. extern CMTMessageTemplate DecodeAndAddCRLRequestTemplate[];
  373. typedef struct SecurityAdvisorRequest {
  374.     CMInt32 infoContext;
  375.     CMInt32 resID;
  376.     char * hostname;
  377. char * senderAddr;
  378.     CMUint32 encryptedP7CInfo;
  379.     CMUint32 signedP7CInfo;
  380.     CMInt32 decodeError;
  381.     CMInt32 verifyError;
  382. CMBool encryptthis;
  383. CMBool signthis;
  384. CMInt32 numRecipients;
  385. char ** recipients;
  386. } SecurityAdvisorRequest;
  387. extern CMTMessageTemplate SecurityAdvisorRequestTemplate[];
  388. /* "SecurityConfig" javascript related message templates */
  389. typedef struct SCAddTempCertToPermDBRequest {
  390.     CMTItem certKey;
  391.     char* trustStr;
  392.     char* nickname;
  393. } SCAddTempCertToPermDBRequest;
  394. extern CMTMessageTemplate SCAddTempCertToPermDBRequestTemplate[];
  395. typedef struct SCDeletePermCertsRequest {
  396.     CMTItem certKey;
  397.     CMBool deleteAll;
  398. } SCDeletePermCertsRequest;
  399. extern CMTMessageTemplate SCDeletePermCertsRequestTemplate[];
  400. typedef struct TimeMessage {
  401.     CMInt32 year;
  402.     CMInt32 month;
  403.     CMInt32 day;
  404.     CMInt32 hour;
  405.     CMInt32 minute;
  406.     CMInt32 second;
  407. } TimeMessage;
  408. extern CMTMessageTemplate TimeMessageTemplate[];
  409. typedef struct CertEnumElement {
  410.     char* name;
  411.     CMTItem certKey;
  412. } CertEnumElement;
  413. typedef struct SCCertIndexEnumReply {
  414.       int length;
  415.       CertEnumElement* list;
  416. } SCCertIndexEnumReply;
  417. extern CMTMessageTemplate SCCertIndexEnumReplyTemplate[];
  418. /* Test message */
  419. typedef struct TestListElement {
  420. char * name;
  421. char * value;
  422. } TestListElement;
  423. typedef struct TestList {
  424. char *listName;
  425. int numElements;
  426. TestListElement *elements;
  427. } TestList;
  428. extern CMTMessageTemplate TestListTemplate[];
  429. /* Preference-related structs */
  430. typedef struct SetPrefElement {
  431.     char* key;
  432.     char* value;
  433.     CMInt32 type;
  434. } SetPrefElement;
  435. typedef struct SetPrefListMessage {
  436.     int length;
  437.     SetPrefElement* list;
  438. } SetPrefListMessage;
  439. extern CMTMessageTemplate SetPrefListMessageTemplate[];
  440. typedef struct GetPrefElement {
  441.     char* key;
  442.     CMInt32 type;
  443. } GetPrefElement;
  444. typedef struct GetPrefListRequest {
  445.     int length;
  446.     GetPrefElement* list;
  447. } GetPrefListRequest;
  448. extern CMTMessageTemplate GetPrefListRequestTemplate[];
  449. typedef struct GetCertExtension {
  450.     CMUint32 resID;
  451.     CMUint32 extension;
  452. } GetCertExtension;
  453. extern CMTMessageTemplate GetCertExtensionTemplate[];
  454. typedef struct HTMLCertInfoRequest {
  455.     CMUint32 certID;
  456.     CMUint32 showImages;
  457.     CMUint32 showIssuer;
  458. } HTMLCertInfoRequest;
  459. extern CMTMessageTemplate HTMLCertInfoRequestTemplate[];
  460. typedef struct EncryptRequestMessage
  461. {
  462.   CMTItem keyid;  /* May have length 0 for default */
  463.   CMTItem data;
  464.   CMTItem ctx;  /* serialized void* ptr */
  465. } EncryptRequestMessage;
  466. extern CMTMessageTemplate EncryptRequestTemplate[];
  467. typedef struct SingleItemMessage EncryptReplyMessage;
  468. #define EncryptReplyTemplate SingleItemMessageTemplate
  469. typedef struct DecryptRequestMessage
  470. {
  471.   CMTItem data;
  472.   CMTItem ctx;  /* serialized void* ptr */
  473. } DecryptRequestMessage;
  474. extern CMTMessageTemplate DecryptRequestTemplate[];
  475. typedef struct SingleItemMessage DecryptReplyMessage;
  476. #define DecryptReplyTemplate SingleItemMessageTemplate
  477. #endif /* __MESSAGES_H__ */