summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsIPKCS11Slot.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--security/manager/ssl/nsIPKCS11Slot.idl52
1 files changed, 52 insertions, 0 deletions
diff --git a/security/manager/ssl/nsIPKCS11Slot.idl b/security/manager/ssl/nsIPKCS11Slot.idl
new file mode 100644
index 0000000000..20c82729c1
--- /dev/null
+++ b/security/manager/ssl/nsIPKCS11Slot.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface nsIPK11Token;
+
+[scriptable, uuid(c2d4f296-ee60-11d4-998b-00b0d02354a0)]
+interface nsIPKCS11Slot : nsISupports {
+ [must_use]
+ readonly attribute AUTF8String name;
+ [must_use]
+ readonly attribute AUTF8String desc;
+ /**
+ * Manufacturer ID of the slot.
+ */
+ [must_use]
+ readonly attribute AUTF8String manID;
+ /**
+ * Hardware version of the slot.
+ */
+ [must_use]
+ readonly attribute AUTF8String HWVersion;
+ /**
+ * Firmware version of the slot.
+ */
+ [must_use]
+ readonly attribute AUTF8String FWVersion;
+
+ const unsigned long SLOT_DISABLED = 0;
+ const unsigned long SLOT_NOT_PRESENT = 1;
+ const unsigned long SLOT_UNINITIALIZED = 2;
+ const unsigned long SLOT_NOT_LOGGED_IN = 3;
+ const unsigned long SLOT_LOGGED_IN = 4;
+ const unsigned long SLOT_READY = 5;
+ [must_use]
+ readonly attribute unsigned long status;
+
+ /* This is really a workaround for now. All of the "slot" functions
+ * (isTokenPresent(), etc.) are in nsIPK11Token. For now, return the
+ * token and handle those things there.
+ */
+ [must_use]
+ nsIPK11Token getToken();
+
+ /* more fun with workarounds - we're referring to everything by token name */
+ [must_use]
+ readonly attribute AUTF8String tokenName;
+};