package com.sunyard.chsm.sdf.model;

import com.sun.jna.Structure;

/**
 * @author liulu
 * @version V1.0
 * @since 2022/10/11
 */
@Structure.FieldOrder({"IssuerName", "DeviceName", "DeviceSerial", "DeviceVersion", "StandardVersion", "AsymAlgAbility", "SymAlgAbility", "HashAlgAbility", "BufferSize"})
public class SDF_DeviceInfo extends Structure {

    // 设备 生产 厂商名称
    public byte[] IssuerName = new byte[40];

    // 设备 型号
    public byte[] DeviceName = new byte[16];

    // 设 备 编 号 ，包 含 :日 期 (8 字 符 )、批 次 号 (3 字 符 )、流 水 号 (5 字 符 )
    public byte[] DeviceSerial = new byte[16];

    // 密码 设备 内部软件的版本号
    public int DeviceVersion;

    // 密码 设备 支持的接口规范版本号
    public int StandardVersion;

    // 前4字节表示支持的算法，表示方法为非对称算法标识 按位或的结果;后4字节表示算法的最大模长，表示方法 为支持的模长按位或的结果
    public int[] AsymAlgAbility = new int[2];

    // 所有支持的对称算法，表示方法为对称算法标识按位或 运算结果
    public int SymAlgAbility;

    // 所有支持的杂凑算法，表示方法为杂凑算法标识按位或 运算结果
    public int HashAlgAbility;

    // 支持 的最 大文件存储空间(单位字节)
    public int BufferSize;

}