ZE-Standard-Libraries/include/id/id.h

124 lines
2.5 KiB
C
Raw Permalink Normal View History

2018-07-25 14:10:09 +00:00
#ifndef id_h
#define id_h
2018-08-23 16:57:38 +00:00
#include <type.h>
#include <id/md5.h>
2018-07-30 09:45:33 +00:00
2018-07-25 14:10:09 +00:00
2018-08-23 07:49:02 +00:00
/*
2018-08-23 16:57:38 +00:00
*SID的初始值管理及操作的结构
2018-08-23 07:49:02 +00:00
*/
2018-08-23 16:57:38 +00:00
struct sid_raw{
unsigned int type;
unsigned int *value;//4
unsigned int *value_deeper;//8
unsigned int *value_deepest;//32
};
2018-08-23 07:49:02 +00:00
2018-08-23 16:57:38 +00:00
/*
*SID的管理及操作的结构
*/
typedef struct s_id{
struct sid_raw *sr;//指向SID初始值
unsigned int deep;//SID初始值的复杂度
MD5_CTX *md5;//指向MD5结构
unsigned char *decrypt_hex;//指向MD5的Hex信息
char *decrypt_str;//指向MD5的Hex信息转化成的字符串
}SID;
2018-08-23 07:49:02 +00:00
/************************************************
:
************************************************/
/*
*SID
*: deep_level指示原始ID的复杂度,type指示SID所绑定的数据结构的数据类型
*: ,NULL.
*/
extern SID *getS_id(unsigned int type, unsigned int deep_level);
/*
*SID原始数据转换而成的字符串形式的MD5获得一个新的SID
*: ,NULL.
*/
extern SID *setS_idWithString(char *);
/*
*ID
*/
extern unsigned long long getId(void);
/************************************************
: ID的比较函数
************************************************/
/*
*SID
*: strcmp风格的返回值
*/
extern int fitS_id(SID * const fs_id, SID * const ss_id);\
/*
*SID
*: 1,0
*/
extern int simFitS_id(SID * fs_id, SID * ss_id);
/************************************************
: ID的转换函数
************************************************/
/*
*SID中的Hex形式的MD5数据转化成字符串形式的MD5
*/
extern void setSidToASCIIString(SID * const s_id);
2018-08-23 16:57:38 +00:00
char *s_idToASCIIString(SID * const s_id);
2018-08-23 07:49:02 +00:00
/************************************************
: ID的函数
************************************************/
/*
*SID,SID
*/
extern SID *copyS_id(SID *f_sid);
/************************************************
: ID的函数
************************************************/
/*
*SID原始数据所占的内存空间
*/
extern int freeSidRaw(SID *s_id);
/*
*SID所有已占用的内存空间
*/
extern int freeS_id(SID *s_id);
2018-07-25 14:10:09 +00:00
#endif /* id_h */