#if !defined( _MSDRM_H_ ) #define _MSDRM_H_ #include #include "ecc.h" #include "MultiSwap.h" typedef unsigned char uchar; #define MS_BN_LEN 20 typedef struct ms_bn_st { uchar d[MS_BN_LEN]; } MS_BN; typedef struct ms_eccpt_st { MS_BN x, y; } MS_ECCpt; typedef struct contkey_st { uchar ckey[MS_BN_LEN]; int ckeylen; uchar keyhash[20]; des_key_schedule keysched; uchar outmask[8]; uchar inmask[8]; MULTISWAPKEY hashkey; } CONTKEY; wchar_t *get_element(wchar_t * tag, wchar_t * str); void MSDRM_decr_packet(uchar * data, int len, CONTKEY * ckey); CONTKEY *MSDRM_init(wchar_t * license); extern struct globalinfo_st { int verbose; void *fileheader; char *ofname; int packetlen; int numpackets; CONTKEY *content_key; wchar_t *kid; int hasV1header; int hasV2header; } globalinfo; #endif