Source code

Revision control

Copy as Markdown

Other Tools

/* -*- 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;
};