📄 ssmdefs.h
字号:
/* -*- mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- *//* * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is the Netscape security libraries. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1994-2000 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the * terms of the GNU General Public License Version 2 or later (the * "GPL"), in which case the provisions of the GPL are applicable * instead of those above. If you wish to allow use of your * version of this file only under the terms of the GPL and not to * allow others to use your version of this file under the MPL, * indicate your decision by deleting the provisions above and * replace them with the notice and other provisions required by * the GPL. If you do not delete the provisions above, a recipient * may use your version of this file under either the MPL or the * GPL. */#ifndef __SSMDEFS_H__#define __SSMDEFS_H__/* Basic type definitions for both client and server. */#ifdef macintoshtypedef unsigned long size_t;typedef long ptrdiff_t;#endiftypedef long CMInt32;typedef unsigned long CMUint32;typedef long SSMResourceID;#ifdef XP_MAC/* in order to get around Mac compiler pedanticism */#define SSMStatus int#elsetypedef int SSMStatus;#endif#define PSM_PORT 11111#define PSM_DATA_PORT 11113 /* needs to be removed */ typedef enum _CMTStatus { CMTFailure = -1, CMTSuccess = 0} CMTStatus;typedef enum { CM_FALSE = 0, CM_TRUE = 1} CMBool; typedef struct CMTItemStr { CMUint32 type; unsigned char *data; unsigned int len;} CMTItem;/* A length-encoded string. */struct _SSMString { CMUint32 m_length; char m_data;};typedef struct _SSMString SSMString;#define SSM_PROTOCOL_VERSION 0x00000051#define SSM_INVALID_RESOURCE 0x00000000#define SSM_GLOBAL_RESOURCE 0x00000001#define SSM_SESSION_RESOURCE 0x00000002/* Message category flags */typedef enum { SSM_REQUEST_MESSAGE = 0x10000000, SSM_REPLY_OK_MESSAGE = 0x20000000, SSM_REPLY_ERR_MESSAGE = 0x30000000, SSM_EVENT_MESSAGE = 0x40000000} SSMMessageCategory;/* Message types */typedef enum { SSM_DATA_CONNECTION = 0x00001000, SSM_OBJECT_SIGNING = 0x00002000, SSM_RESOURCE_ACTION = 0x00003000, SSM_CERT_ACTION = 0x00004000, SSM_PKCS11_ACTION = 0x00005000, SSM_CRMF_ACTION = 0x00006000, SSM_FORMSIGN_ACTION = 0x00007000, SSM_LOCALIZED_TEXT = 0x00008000, SSM_HELLO_MESSAGE = 0x00009000, SSM_SECURITY_ADVISOR = 0x0000a000, SSM_SEC_CFG_ACTION = 0x0000b000, SSM_KEYGEN_TAG = 0x0000c000, SSM_PREF_ACTION = 0x0000d000, SSM_MISC_ACTION = 0x0000f000} SSMMessageType;/* Data connection messages subtypes */ typedef enum{ SSM_SSL_CONNECTION = 0x00000100, SSM_PKCS7DECODE_STREAM = 0x00000200, SSM_PKCS7ENCODE_STREAM = 0x00000300, SSM_HASH_STREAM = 0x00000400, SSM_TLS_CONNECTION = 0x00000500} SSMDataConnectionSType;/* Object signing message subtypes */typedef enum{ SSM_VERIFY_RAW_SIG = 0x00000100, SSM_VERIFY_DETACHED_SIG= 0x00000200, SSM_CREATE_SIGNED = 0x00000300, SSM_CREATE_ENCRYPTED = 0x00000400} SSMObjSignSType;/* Resource access messages subtypes */typedef enum{ SSM_CREATE_RESOURCE = 0x00000100, SSM_DESTROY_RESOURCE = 0x00000200, SSM_GET_ATTRIBUTE = 0x00000300, SSM_CONSERVE_RESOURCE = 0x00000400, SSM_DUPLICATE_RESOURCE = 0x00000500, SSM_SET_ATTRIBUTE = 0x00000600, SSM_TLS_STEPUP = 0x00000700} SSMResourceAccessSType;/* Further specification for resource access messages */typedef enum { SSM_SSLSocket_Status = 0x00000010} SSMCreateResource;typedef enum { SSM_NO_ATTRIBUTE = 0x00000000, SSM_NUMERIC_ATTRIBUTE = 0x00000010, SSM_STRING_ATTRIBUTE = 0x00000020, SSM_RID_ATTRIBUTE = 0x00000030} SSMResourceAttrType;typedef enum { SSM_PICKLE_RESOURCE = 0x00000010, SSM_UNPICKLE_RESOURCE = 0x00000020, SSM_PICKLE_SECURITY_STATUS = 0x00000030} SSMResourceConsv;/* Certificate access message subtypes */typedef enum{ SSM_IMPORT_CERT = 0x00000100, SSM_VERIFY_CERT = 0x00000200, SSM_FIND_BY_NICKNAME = 0x00000300, SSM_FIND_BY_KEY = 0x00000400, SSM_FIND_BY_EMAILADDR = 0x00000500, SSM_ADD_TO_DB = 0x00000600, SSM_DECODE_CERT = 0x00000700, SSM_MATCH_USER_CERT = 0x00000800, SSM_DESTROY_CERT = 0x00000900, SSM_DECODE_TEMP_CERT = 0x00000a00, SSM_REDIRECT_COMPARE = 0x00000b00, SSM_DECODE_CRL = 0x00000c00, SSM_EXTENSION_VALUE = 0x00000d00, SSM_HTML_INFO = 0x00000e00} SSMCertAccessSType;/* message subtypes used for KEYGEN form tag */typedef enum{ SSM_GET_KEY_CHOICE = 0x00000100, SSM_KEYGEN_START = 0x00000200, SSM_KEYGEN_TOKEN = 0x00000300, SSM_KEYGEN_PASSWORD = 0x00000400, SSM_KEYGEN_DONE = 0x00000500} SSMKeyGenTagProcessType;typedef enum{ SSM_CREATE_KEY_PAIR = 0x00000100, SSM_FINISH_KEY_GEN = 0x00000200, SSM_ADD_NEW_MODULE = 0x00000300, SSM_DEL_MODULE = 0x00000400, SSM_LOGOUT_ALL = 0x00000500, SSM_ENABLED_CIPHERS = 0x00000600} SSMPKCS11Actions;typedef enum{ SSM_CREATE_CRMF_REQ = 0x00000100, SSM_DER_ENCODE_REQ = 0x00000200, SSM_PROCESS_CMMF_RESP = 0x00000300, SSM_CHALLENGE = 0x00000400} SSMCRMFAction;typedef enum{ SSM_SIGN_TEXT = 0x00000100} SSMFormSignAction;/* Security Config subtypes */typedef enum{ SSM_ADD_CERT_TO_TEMP_DB = 0x00000100, SSM_ADD_TEMP_CERT_TO_DB = 0x00000200, SSM_DELETE_PERM_CERTS = 0x00000300, SSM_FIND_CERT_KEY = 0x00000400, SSM_GET_CERT_PROP_BY_KEY = 0x00000500, SSM_CERT_INDEX_ENUM = 0x00000600} SSMSecCfgAction;/* subcategories for SSM_FIND_CERT_KEY and SSM_CERT_INDEX_ENUM */typedef enum{ SSM_FIND_KEY_BY_NICKNAME = 0x00000010, SSM_FIND_KEY_BY_EMAIL_ADDR = 0x00000020, SSM_FIND_KEY_BY_DN = 0x00000030} SSMSecCfgFindByType;/* subcategories for SSM_GET_CERT_PROP_BY_KEY */typedef enum{ SSM_SECCFG_GET_NICKNAME = 0x00000010, SSM_SECCFG_GET_EMAIL_ADDR = 0x00000020, SSM_SECCFG_GET_DN = 0x00000030, SSM_SECCFG_GET_TRUST = 0x00000040, SSM_SECCFG_CERT_IS_PERM = 0x00000050, SSM_SECCFG_GET_NOT_BEFORE = 0x00000060, SSM_SECCFG_GET_NOT_AFTER = 0x00000070, SSM_SECCFG_GET_SERIAL_NO = 0x00000080, SSM_SECCFG_GET_ISSUER = 0x00000090, SSM_SECCFG_GET_ISSUER_KEY = 0x000000a0, SSM_SECCFG_GET_SUBJECT_NEXT = 0x000000b0, SSM_SECCFG_GET_SUBJECT_PREV = 0x000000c0} SSMSecCfgGetCertPropType;/* Misc requests */typedef enum{ SSM_MISC_GET_RNG_DATA = 0x00000100, SSM_MISC_PUT_RNG_DATA = 0x00000200} SSMMiscRequestType;/* Type masks for message types */typedef enum { SSM_CATEGORY_MASK = 0xF0000000, SSM_TYPE_MASK = 0x0000F000, SSM_SUBTYPE_MASK = 0x00000F00, SSM_SPECIFIC_MASK = 0x000000F0} SSMMessageMaskType; typedef struct SSMAttributeValue { SSMResourceAttrType type; union { SSMResourceID rid; CMTItem string; CMInt32 numeric; } u;} SSMAttributeValue;typedef enum { rsaEnc, rsaDualUse, rsaSign, rsaNonrepudiation, rsaSignNonrepudiation, dhEx, dsaSignNonrepudiation, dsaSign, dsaNonrepudiation, invalidKeyGen} SSMKeyGenType;typedef enum { ssmUnknownPolicy=-1,ssmDomestic=0, ssmExport=1, ssmFrance=2} SSMPolicyType;/* These are the localized strings that PSM can feed back to * the plug-in. These will initially be used by the plug-in for * JavaScript purposes to pop up alert/confirm dialogs that would * cause nightmares to do if we sent UI events. */typedef enum { SSM_STRING_BAD_PK11_LIB_PARAM, SSM_STRING_BAD_PK11_LIB_PATH, SSM_STRING_ADD_MOD_SUCCESS, SSM_STRING_DUP_MOD_FAILURE, SSM_STRING_ADD_MOD_FAILURE, SSM_STRING_BAD_MOD_NAME, SSM_STRING_EXT_MOD_DEL, SSM_STRING_INT_MOD_DEL, SSM_STRING_MOD_DEL_FAIL, SSM_STRING_ADD_MOD_WARN, SSM_STRING_MOD_PROMPT, SSM_STRING_DLL_PROMPT, SSM_STRING_DEL_MOD_WARN, SSM_STRING_INVALID_CRL, SSM_STRING_INVALID_CKL, SSM_STRING_ROOT_CKL_CERT_NOT_FOUND, SSM_STRING_BAD_CRL_SIGNATURE, SSM_STRING_BAD_CKL_SIGNATURE, SSM_STRING_ERR_ADD_CRL, SSM_STRING_ERR_ADD_CKL, SSM_STRING_JAVASCRIPT_DISABLED} SSMLocalizedString;/* Event types */typedef enum{ SSM_UI_EVENT = 0x00001000, SSM_TASK_COMPLETED_EVENT = 0x00002000, SSM_FILE_PATH_EVENT = 0x00003000, SSM_PROMPT_EVENT = 0x00004000, SSM_AUTH_EVENT = 0x00007000, SSM_SAVE_PREF_EVENT = 0x00008000, SSM_MISC_EVENT = 0x0000f000} SSMEventType;/* Flags used in Create SSL Data request */typedef enum{ SSM_REQUEST_SSL_DATA_SSL = 0x00000001, SSM_REQUEST_SSL_DATA_PROXY = 0x00000002, SSM_REQUEST_SSL_CONNECTION_MASK = 0x00000003} SSMSSLConnectionRequestType;/* * This string is version that can be used to assemble any * version information by the apllication using the protocol * library. */extern char SSMVersionString[];/* What type of client */typedef enum{ SSM_NOINFO, SSM_COMPOSE, SSM_MAIL_MESSAGE, SSM_NEWS_MESSAGE, SSM_SNEWS_MESSAGE, SSM_BROWSER} SSMClientType;#endif /* __SSMDEFS_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -