Expand description
This library is an implementation of the Smiley Secure Protocol.
From the SSP Implementation Guide:
Smiley Secure Protocol (SSP) is a serial communication protocol designed by Innovative
Technology LTD to address problems historically experienced by cash handling systems in
gaming machines. Problems such as acceptor swapping, reprogramming acceptors and
line tapping.
The current implementation supports both the standard (SSP), and encrypted variant (eSSP).
Re-exports§
pub use message::index as message_index;
pub use channel_value_data::*;
pub use configure_bezel::*;
pub use dataset_version::*;
pub use disable::*;
pub use disable_payout::*;
pub use display_off::*;
pub use display_on::*;
pub use empty::*;
pub use enable::*;
pub use enable_payout::*;
pub use encrypted::*;
pub use encryption_reset::*;
pub use error::*;
pub use event_ack::*;
pub use firmware::*;
pub use get_barcode_data::*;
pub use get_barcode_inhibit::*;
pub use get_barcode_reader_configuration::*;
pub use hold::*;
pub use host_protocol_version::*;
pub use keys::*;
pub use last_reject_code::*;
pub use message::*;
pub use payout_by_denomination::*;
pub use poll::*;
pub use poll_with_ack::*;
pub use reject::*;
pub use request_key_exchange::*;
pub use reset::*;
pub use rng::*;
pub use serial_number::*;
pub use set_barcode_inhibit::*;
pub use set_barcode_reader_configuration::*;
pub use set_encryption_key::*;
pub use set_generator::*;
pub use set_inhibits::*;
pub use set_modulus::*;
pub use setup_request::*;
pub use smart_empty::*;
pub use sync::*;
pub use types::*;
pub use unit_data::*;
Modules§
- AES implementation from the ITL SSP SDK
- Work-around for const-generic arrays in serde from MikailBag:
- Enable the device.
- Configure the color of the bezel.
- CRC-16 checksum calculation
- Get the dataset version loaded on the device.
- Disable the device.
- Message types for disabling a payout device.
- Turn the bezel light off when the device is enabled.
- Turn the bezel light on when the device is enabled.
- Empty the notes held in the device into the cash box.
- Enable the device.
- Messages for enabling devices equipped with a
Smart Payout
module. - Messages for encrypted SSP (eSSP) communication.
- Reset the device fixed key to default.
- Error types for the library.
- Causes the device to continue with operations after it has been sending repeating PollWithAckResponse messages.
- Get the last valid barcode ticket data from the device.
- Get the current barcode/currency inhibit status of the device.
- Gets the barcode reader configuration on the device.
- Enable the device.
- Sets the host protocol version on the device.
- Keys for encrypted communication over
eSSP
. - Enable the device.
- Lengths of various messages (full-byte length, not data length).
- Generic message types for the library.
- Dispense notes to the customer by denomination.
- Poll the device for events since the last poll message.
- Poll the device for events since the last poll message, events need to be ACKed by the host.
- Reject the bill currently being processed by the device.
- Requests a key exchange as the final part of the
eSSP
encryption negotiation sequence. - Reset the device.
- Get the device serial number.
- Set the current barcode/currency inhibit status of the device.
- Sets the barcode reader configuration on the device.
- Allows the host to change the fixed part of the
eSSP
key. - Sets the generator as part of the
eSSP
encryption negotiation sequence. - Set the current barcode/currency inhibit status of the device.
- Sets the modulus as part of the
eSSP
encryption negotiation sequence. - Request the setup information from the device.
- Empty the notes held in the device into the cash box, and track the note information.
- Synchronise the device with the host.
- Generic message field types used for command and response messages.
- Enable the device.
Macros§
- Creates an named anti-boolean-like enum (set(false) or unset(true) enums).
- Creates an named boolean-like enum (set or unset enums).
- Implements the default formatter for CommandOps named types.
- Implements the defaults for the CommandOps trait for a named message type.
- Implements the Default trait for named types with
Self::new()
function. - Implement the defaults for the MessageOps trait for an encrypted message type with variable length.
- Implements the default formatter for MessageOps named types.
- Implement
From<_>
traits to convert buffer types into a named message type. - Implements the defaults of the MessageOps trait for a named message type.
- Implements the default formatter for ResponseOps named types.
- Implements the defaults for the ResponseOps trait for a named message type.
- Implement the defaults for the MessageOps trait for a named message type with variable length.
- Implement the defaults for the MessageOps trait for a named message type with variable length.
- Provides convenience functions to deconstruct an enum with new-type variants.
- Creates a named type to represent a key struct used in encryption.
- Creates a list container type for a named type.
- Creates a tuple struct with a given name, base type, and documentation.
- Creates a serializable tuple struct with a given name, base type, and documentation.
Constants§
Statics§
- Device channels for storing notes.
Functions§
- Gets the ChannelValue of the given channel index.
- While holding a lock on global channels, gets the ChannelValue of the given channel index.
- Gets a reference to the number of configured channels.
- Gets a mutable reference to the number of configured channels.
- Used to set the configured channels after a device call that returns the number and value of configured channels, e.g. SetupRequest.
- While holding a mutable lock on global channels, used to set the configured channels after a device call that returns the number and value of configured channels, e.g. SetupRequest.
- Acquires a lock on the global Channels.