SE050 Driver
API reference
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Variables
se050 Namespace Reference

Namespaces

namespace  apdu
 
namespace  applet
 
namespace  atr
 
namespace  cmd
 
namespace  crc
 
namespace  rfc3394
 
namespace  scp03
 
namespace  t1
 T=1 constants and small helpers for SE050 on I²C.
 
namespace  tlv
 

Classes

class  Device
 
class  I2cTransceiveInterface
 Curiously recurring transport interface for SE050 I²C masters. More...
 
class  Session
 Transport-facing session (no owned buffers). More...
 
class  T1Session
 Stateful T=1 session bound to a concrete I²C transport. More...
 

Typedefs

template<typename TransportT >
using Driver = Device< TransportT >
 

Enumerations

enum class  Error : std::uint8_t {
  Ok = 0 , NotInitialized , Transport , Timeout ,
  InvalidArgument , BufferTooSmall , Protocol , Crc ,
  Sequence , NotSupported , Authentication
}
 

Variables

constexpr std::uint8_t kDefaultI2cAddress7 = 0x48
 
constexpr std::size_t kMaxApduCommandBytes = 892
 
constexpr std::size_t kMaxApduResponseBytes = 892
 

Typedef Documentation

◆ Driver

template<typename TransportT >
using se050::Driver = typedef Device<TransportT>
Deprecated:
Use Device<TransportT> — kept for a short transition.

Enumeration Type Documentation

◆ Error

enum class se050::Error : std::uint8_t
strong

Driver / transport operation result (no exceptions on embedded paths).

Enumerator
Ok 
NotInitialized 
Transport 
Timeout 
InvalidArgument 
BufferTooSmall 
Protocol 

T=1 NAD/PCB/sequence/CRC or response framing violation.

Crc 

EDC mismatch on a received T=1 block.

Sequence 

Block sequence number did not match the protocol state.

NotSupported 

Feature not compiled / not available on this build (e.g. SCP03 crypto hooks).

Authentication 

A response inside an open SCP03 channel had no valid R-MAC (missing, too short, tampered or replayed). The channel is closed and its keys wiped; treat it as an attack or a wiring fault.

Variable Documentation

◆ kDefaultI2cAddress7

constexpr std::uint8_t se050::kDefaultI2cAddress7 = 0x48
inlineconstexpr

Default 7-bit I2C address for SE050 class parts (see NXP / board docs).

◆ kMaxApduCommandBytes

constexpr std::size_t se050::kMaxApduCommandBytes = 892
inlineconstexpr

Host command buffer high bound (SE050 extended APDU payload; see NXP SE05x docs).

◆ kMaxApduResponseBytes

constexpr std::size_t se050::kMaxApduResponseBytes = 892
inlineconstexpr

Host response buffer high bound.