1pub const SAR_OK: u32 = 0x00000000;
3pub const SAR_FAIL: u32 = 0x0A000001;
5pub const SAR_UNKNOWNERR: u32 = 0x0A000002;
7pub const SAR_NOTSUPPORTYETERR: u32 = 0x0A000003;
9pub const SAR_FILEERR: u32 = 0x0A000004;
11pub const SAR_INVALIDHANDLEERR: u32 = 0x0A000005;
13pub const SAR_INVALIDPARAMERR: u32 = 0x0A000006;
15pub const SAR_READFILEERR: u32 = 0x0A000007;
17pub const SAR_WRITEFILEERR: u32 = 0x0A000008;
19pub const SAR_NAMELENERR: u32 = 0x0A000009;
21pub const SAR_KEYUSAGEERR: u32 = 0x0A00000A;
23pub const SAR_MODULUSLENERR: u32 = 0x0A00000B;
25pub const SAR_NOTINITIALIZEERR: u32 = 0x0A00000C;
27pub const SAR_OBJERR: u32 = 0x0A00000D;
29pub const SAR_MEMORYERR: u32 = 0x0A00000E;
31pub const SAR_TIMEOUTERR: u32 = 0x0A00000F;
33pub const SAR_INDATALENERR: u32 = 0x0A000010;
35pub const SAR_INDATAERR: u32 = 0x0A000011;
37pub const SAR_GENRANDERR: u32 = 0x0A000012;
39pub const SAR_HASHOBJERR: u32 = 0x0A000013;
41pub const SAR_HASHERR: u32 = 0x0A000014;
43pub const SAR_GENRSAKEYERR: u32 = 0x0A000015;
45pub const SAR_RSAMODULUSLENERR: u32 = 0x0A000016;
47pub const SAR_CSPIMPRTPUBKEYERR: u32 = 0x0A000017;
49pub const SAR_RSAENCERR: u32 = 0x0A000018;
51pub const SAR_RSADECERR: u32 = 0x0A000019;
53pub const SAR_HASHNOTEQUALERR: u32 = 0x0A00001A;
55pub const SAR_KEYNOTFOUNTERR: u32 = 0x0A00001B;
57pub const SAR_CERTNOTFOUNTERR: u32 = 0x0A00001C;
59pub const SAR_NOTEXPORTERR: u32 = 0x0A00001D;
61pub const SAR_DECRYPTPADERR: u32 = 0x0A00001E;
63pub const SAR_MACLENERR: u32 = 0x0A00001F;
65pub const SAR_BUFFER_TOO_SMALL: u32 = 0x0A000020;
67pub const SAR_KEYINFOTYPEERR: u32 = 0x0A000021;
69pub const SAR_NOT_EVENTERR: u32 = 0x0A000022;
71pub const SAR_DEVICE_REMOVED: u32 = 0x0A000023;
73pub const SAR_PIN_INCORRECT: u32 = 0x0A000024;
75pub const SAR_PIN_LOCKED: u32 = 0x0A000025;
77pub const SAR_PIN_INVALID: u32 = 0x0A000026;
79pub const SAR_PIN_LEN_RANGE: u32 = 0x0A000027;
81pub const SAR_USER_ALREADY_LOGGED_IN: u32 = 0x0A000028;
83pub const SAR_USER_PIN_NOT_INITIALIZED: u32 = 0x0A000029;
85pub const SAR_USER_TYPE_INVALID: u32 = 0x0A00002A;
87pub const SAR_APPLICATION_NAME_INVALID: u32 = 0x0A00002B;
89pub const SAR_APPLICATION_EXISTS: u32 = 0x0A00002C;
91pub const SAR_USER_NOT_LOGGED_IN: u32 = 0x0A00002D;
93pub const SAR_APPLICATION_NOT_EXISTS: u32 = 0x0A00002E;
95pub const SAR_FILE_ALREADY_EXIST: u32 = 0x0A00002F;
97pub const SAR_NO_ROOM: u32 = 0x0A000030;
99pub const SAR_FILE_NOT_EXIST: u32 = 0x0A000031;
101pub const SAR_REACH_MAX_CONTAINER_COUNT: u32 = 0x0A000032;
103pub const SAR_NO_AUTH: u32 = 0x0A000033;
105
106pub fn get_message(code: u32) -> Option<&'static str> {
107 match code {
108 SAR_OK => Some("成功"),
109 SAR_FAIL => Some("失败"),
110 SAR_UNKNOWNERR => Some("异常错误"),
111 SAR_NOTSUPPORTYETERR => Some("不支持的服务"),
112 SAR_FILEERR => Some("文件操作错误"),
113 SAR_INVALIDHANDLEERR => Some("无效的句柄"),
114 SAR_INVALIDPARAMERR => Some("无效的参数"),
115 SAR_READFILEERR => Some("读文件错误"),
116 SAR_WRITEFILEERR => Some("写文件错误"),
117 SAR_NAMELENERR => Some("名称长度错误"),
118 SAR_KEYUSAGEERR => Some("密钥用途错误"),
119 SAR_MODULUSLENERR => Some("模的长度错误"),
120 SAR_NOTINITIALIZEERR => Some("未初始化"),
121 SAR_OBJERR => Some("对象错误"),
122 SAR_MEMORYERR => Some("内存错误"),
123 SAR_GENRANDERR => Some("生成随机数错误"),
124 SAR_INDATAERR => Some("输入数据错误"),
125 SAR_INDATALENERR => Some("输入数据长度错误"),
126 SAR_TIMEOUTERR => Some("超时"),
127 SAR_HASHOBJERR => Some("HASH运算错误"),
128 SAR_HASHERR => Some("HASH值不相等"),
129 SAR_KEYNOTFOUNTERR => Some("密钥未发现"),
130 SAR_CERTNOTFOUNTERR => Some("证书未发现"),
131 SAR_NOTEXPORTERR => Some("对象未导出"),
132 SAR_DECRYPTPADERR => Some("解密时做补丁错误"),
133 SAR_MACLENERR => Some("MAC长度错误"),
134 SAR_BUFFER_TOO_SMALL => Some("缓冲区不足"),
135 SAR_KEYINFOTYPEERR => Some("密钥类型错误"),
136 SAR_NOT_EVENTERR => Some("无事件错误"),
137 SAR_DEVICE_REMOVED => Some("设备已移除"),
138 SAR_PIN_INCORRECT => Some("PIN不正确"),
139 SAR_PIN_LOCKED => Some("PIN被锁死"),
140 SAR_PIN_INVALID => Some("PIN无效"),
141 SAR_PIN_LEN_RANGE => Some("PIN长度错误"),
142 SAR_USER_ALREADY_LOGGED_IN => Some("用户已经登录"),
143 SAR_USER_PIN_NOT_INITIALIZED => Some("没有初始化用户口令"),
144 SAR_USER_TYPE_INVALID => Some("PIN类型错误"),
145 SAR_APPLICATION_NAME_INVALID => Some("应用名称无效"),
146 SAR_APPLICATION_EXISTS => Some("应用已经存在"),
147 SAR_USER_NOT_LOGGED_IN => Some("用户没有登录"),
148 SAR_APPLICATION_NOT_EXISTS => Some("应用不存在"),
149 SAR_FILE_ALREADY_EXIST => Some("文件已经存在"),
150 SAR_NO_ROOM => Some("空间不足"),
151 SAR_FILE_NOT_EXIST => Some("文件不存在"),
152 SAR_REACH_MAX_CONTAINER_COUNT => Some("已达到最大可管理容器数"),
153 SAR_NO_AUTH => Some("未通过设备认证"),
154 SAR_GENRSAKEYERR => Some("生成RSA密钥错误"),
155 SAR_RSAMODULUSLENERR => Some("RSA模的长度错误"),
156 SAR_CSPIMPRTPUBKEYERR => Some("CSP服务导入公钥错误"),
157 SAR_RSAENCERR => Some("RSA加密错误"),
158 SAR_RSADECERR => Some("RSA解密错误"),
159 SAR_HASHNOTEQUALERR => Some("HASH值不相等"),
160 _ => None,
161 }
162}