Virbox SDK  2.1
E:/new_work/branches/ss_v2.0/include_out/ss_lm_control.h
浏览该文件的文档.
1 
18 #ifndef _H_DEF_SLM_CONTROL_API_
19 #define _H_DEF_SLM_CONTROL_API_
20 
21 #include "ss_define.h"
22 
23 #ifdef _MSC_VER
24 #pragma comment(linker, "/defaultlib:setupapi.lib")
25 #elif defined __WATCOMC__
26 #pragma library("\watcom\lib386\nt\setupapi.lib")
27 #endif
28 
29 #if _MSC_VER >= 1900 // 1900是VS2015的版本号,解决静态库在VS2015下编译失败的问题
30 #pragma comment(linker, "/defaultlib:legacy_stdio_definitions.lib")
31 #endif // MSC_VER
32 
33 #ifndef __SS_LM_RUMTIME_H__
34 
35 #define SLM_FIXTIME_RAND_LENGTH 8
36 #endif
37 
39 #define SLM_CTRL_LED_COLOR_BLUE 0
40 
41 #define SLM_CTRL_LED_COLOR_RED 1
42 
44 #define SLM_CTRL_LED_STATE_CLOSE 0
45 
46 #define SLM_CTRL_LED_STATE_OPEN 1
47 
48 #define SLM_CTRL_LED_STATE_SHRINK 2
49 
51 #define SLM_CTRL_MAX_CLOUD_SERVER_LENGTH 100
52 
53 #define SLM_CTRL_MAX_ACCESS_TOKEN_LENGTH 64
54 
56 #define SLM_SLOCK_LICKEY_LENGTH 32
57 
59 #define SLM_SLOCK_OFFLINE_UNBIND_C2D_BUF_LENGTH 4096
60 
62 typedef struct _ST_LOCK_LED_CONTROL {
64  SS_UINT32 index;
66  SS_UINT32 state;
68  SS_UINT32 interval;
70 
71 
74 {
88 
94 #ifdef __cplusplus
95 extern "C" {
96 #endif
97 
105 SS_UINT32 SSAPI slm_ctrl_client_open(OUT void** ipc);
106 
114 SS_UINT32 SSAPI slm_ctrl_client_close(IN void* ipc);
115 
179 SS_UINT32 SSAPI slm_ctrl_get_all_description(
180  IN void* ipc,
181  IN INFO_FORMAT_TYPE format_type,
182  OUT char** desc
183  );
184 
185 
208 SS_UINT32 SSAPI slm_ctrl_get_cloud_description(
209  IN void* ipc,
210  IN const SS_CHAR* access_token,
211  IN const SS_CHAR* user_guid,
212  OUT SS_CHAR** descriptions
213  );
214 
225 SS_UINT32 SSAPI slm_ctrl_get_local_description(
226  IN void* ipc,
227  IN INFO_FORMAT_TYPE format_type,
228  OUT char** desc
229  );
230 
231 
242 SS_UINT32 SSAPI slm_ctrl_get_remote_description(
243  IN void* ipc,
244  IN INFO_FORMAT_TYPE format_type,
245  OUT char** desc
246  );
247 
248 
263 SS_UINT32 SSAPI slm_ctrl_get_license_id(
264  IN void * ipc,
265  IN INFO_FORMAT_TYPE type,
266  IN const char* desc,
267  OUT char** result
268  );
269 
337  IN void *ipc,
338  IN INFO_FORMAT_TYPE type,
339  IN const char *desc,
340  OUT char **result
341  );
342 
353 SS_UINT32 SSAPI slm_ctrl_get_pub_size(
354  IN void* ipc,
355  IN SS_UINT32 license_id,
356  IN const char* desc,
357  OUT SS_UINT32* len
358  );
359 
411 SS_UINT32 SSAPI slm_ctrl_read_pub_data(
412  IN void* ipc,
413  IN SS_UINT32 license_id,
414  IN const char* desc, // 设备描述
415  OUT SS_BYTE* readbuf,
416  IN SS_UINT32 offset,
417  IN SS_UINT32 len
418  );
419 
431 SS_UINT32 SSAPI slm_ctrl_read_license_context(
432  IN void *ipc,
433  IN INFO_FORMAT_TYPE type,
434  IN SS_UINT32 license_id,
435  IN const char *desc,
436  OUT char **result
437  );
438 
490 SS_UINT32 SSAPI slm_ctrl_read_session_context(
491  IN void* ipc,
492  IN INFO_FORMAT_TYPE type,
493  IN const char* desc,
494  OUT char** result
495  );
496 
506 SS_UINT32 SSAPI slm_ctrl_kick_session(
507  IN void* ipc,
508  IN const char* desc,
509  IN SS_UINT32 session_id
510  );
511 
518 SS_UINT32 SSAPI slm_ctrl_clear_history(
519  IN void* ipc,
520  IN const char* desc
521  );
522 
523 
552 SS_UINT32 SSAPI slm_ctrl_get_device_info(
553  IN void* ipc,
554  IN const char* desc,
555  OUT char** result
556  );
557 
567 SS_UINT32 SSAPI slm_ctrl_adjust_time_request(
568  IN void* ipc,
569  IN const char* desc,
570  OUT SS_BYTE rand[SLM_FIXTIME_RAND_LENGTH],
571  OUT SS_UINT32* lock_time,
572  IN OUT SS_UINT32* pc_time
573  );
592 SS_UINT32 SSAPI slm_ctrl_get_filelist_info(
593  IN void* ipc,
594  IN const char* desc,
595  OUT char** result
596  );
597 
613 SS_UINT32 SSAPI slm_ctrl_get_cert(
614  IN void* ipc,
615  IN const char* desc,
616  IN CERT_TYPE cert_type,
617  OUT SS_BYTE* cert,
618  IN SS_UINT32 cert_size,
619  OUT SS_UINT32* cert_len
620  );
621 
636 SS_UINT32 SSAPI slm_ctrl_get_device_cert(
637  IN void* ipc,
638  IN const char* desc,
639  OUT SS_BYTE* device_cert,
640  IN SS_UINT32 buff_size,
641  OUT SS_UINT32* return_size
642  );
643 
644 
658 SS_UINT32 SSAPI slm_ctrl_get_sense_device_cert(
659  IN void* ipc,
660  IN const char* desc,
661  OUT SS_BYTE* device_cert,
662  IN SS_UINT32 buff_size,
663  OUT SS_UINT32* return_size
664  );
665 
666 
702 SS_UINT32 SSAPI slm_ctrl_sign_by_device(
703  IN void* ipc,
704  IN const char* desc,
705  IN SS_BYTE* verify_data,
706  IN SS_UINT32 verify_data_size,
707  OUT SS_BYTE* signature,
708  IN SS_UINT32 signature_buf_size,
709  OUT SS_UINT32* signature_size
710  );
711 
720 SS_UINT32 SSAPI slm_ctrl_led_control(
721  IN void* ipc,
722  IN const char* desc,
723  IN ST_LOCK_LED_CONTROL* led_ctrl
724  );
725 
730 void SSAPI slm_ctrl_free(
731  IN void* buffer
732  );
733 
764 SS_UINT32 SSAPI slm_ctrl_query_bind_info(
765  IN void* ipc,
766  IN const char* desc,
767  IN SS_UINT32 license_id,
768  OUT char** result
769  );
770 
778 SS_UINT32 SSAPI slm_ctrl_bind_offline_license(
779  IN void* ipc,
780  IN const char* desc,
781  IN SS_UINT32 license_id
782  );
783 
808 SS_UINT32 SSAPI slm_ctrl_get_offline_desc(IN void* ipc, OUT char** desc);
809 
816 SS_UINT32 SSAPI slm_ctrl_get_offline_local_desc(IN void* ipc, OUT char** desc);
817 
824 SS_UINT32 SSAPI slm_ctrl_get_offline_remote_desc(IN void* ipc, OUT char** desc);
825 
833 SS_UINT32 SSAPI slm_ctrl_unbind_offline_license(IN void* ipc, IN const char* desc, IN SS_UINT32 license_id);
834 
835 // -------------------
844 SS_UINT32 SSAPI slm_ctrl_offline_bind_c2d(
845  IN void *ipc,
846  OUT SS_BYTE *bind_c2d,
847  IN SS_UINT32 c2d_buf_size,
848  OUT SS_UINT32 *c2d_length);
849 
862 SS_UINT32 SSAPI slm_ctrl_offline_unbind_c2d(
863  IN void *ipc,
864  IN const char *desc,
865  IN SS_UINT32 license_id,
866  OUT SS_BYTE *unbind_c2d,
867  IN SS_UINT32 c2d_buf_size,
868  OUT SS_UINT32 *c2d_length
869  );
870 
879 SS_UINT32 SSAPI slm_ctrl_offline_bind_d2c(
880  IN void *ipc,
881  IN char *d2c
882  );
883 
896 SS_UINT32 SSAPI slm_ctrl_cloud_offline_get_d2c(
897  IN void *ipc,
898  IN const char *desc,
899  IN SS_UINT32 license_id,
900  IN SS_BYTE *bind_c2d,
901  IN SS_UINT32 c2d_length,
902  OUT char **result
903  );
904 
914 SS_UINT32 SSAPI slm_ctrl_cloud_offline_unbind(
915  IN void *ipc,
916  IN const char *user_guid,
917  IN SS_BYTE *unbind_c2d,
918  IN SS_UINT32 c2d_length
919  );
920 
928 SS_UINT32 SSAPI slm_ctrl_bind_license_key(
929  IN void * ipc,
930  IN const char *license_key
931  );
932 
943 SS_UINT32 SSAPI slm_ctrl_slock_refresh_license(
944  IN void *ipc,
945  IN char *desc,
946  IN SS_UINT32 license_id,
947  IN char *license_key
948  );
949 
963 SS_UINT32 SSAPI slm_ctrl_update(
964  char* d2c_pkg,
965  char** error_msg);
966 
982 SS_UINT32 SSAPI slm_ctrl_update_ex(
983  SS_BYTE* lock_sn,
984  char* d2c_pkg,
985  char** error_msg);
986 
987 // ----------------------------------------
988 
996 SS_UINT32 SSAPI slm_ctrl_init_cloud_server_config(IN const char *cloud_server_config);
997 
998 #ifdef __cplusplus
999 };
1000 #endif //__cplusplus
1001 
1008 #endif //_H_DEF_SLM_CONTROL_API_