Module: wine Branch: master Commit: e9cab9b38144a720c291609fc0f3010614f4f75f URL: http://source.winehq.org/git/wine.git/?a=commit;h=e9cab9b38144a720c291609fc0...
Author: Austin English austinenglish@gmail.com Date: Thu Feb 26 17:13:29 2015 -0600
include: Add more entries to msasn1.h.
---
include/msasn1.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+)
diff --git a/include/msasn1.h b/include/msasn1.h index 8172849..32ace3e 100644 --- a/include/msasn1.h +++ b/include/msasn1.h @@ -30,6 +30,9 @@ typedef signed short ASN1int16_t; typedef ULONG ASN1uint32_t; typedef LONG ASN1int32_t;
+typedef ASN1uint16_t ASN1char16_t; +typedef ASN1uint32_t ASN1char32_t; + typedef ASN1char_t *ASN1ztcharstring_t; typedef ASN1char16_t *ASN1ztchar16string_t; typedef ASN1char32_t *ASN1ztchar32string_t; @@ -40,6 +43,46 @@ typedef ASN1uint16_t ASN1choice_t; typedef ASN1uint32_t ASN1magic_t; typedef ASN1ztcharstring_t ASN1objectdescriptor_t;
+typedef void (WINAPI *ASN1FreeFun_t)(void *data); +typedef void (WINAPI *ASN1GenericFun_t)(void); + +typedef struct ASN1encoding_s *ASN1encoding_t; +typedef struct ASN1decoding_s *ASN1decoding_t; +typedef ASN1int32_t (WINAPI *ASN1PerEncFun_t)(ASN1encoding_t enc,void *data); +typedef ASN1int32_t (WINAPI *ASN1PerDecFun_t)(ASN1decoding_t enc,void *data); + +typedef struct tagASN1PerFunArr_t { + const ASN1PerEncFun_t *apfnEncoder; + const ASN1PerDecFun_t *apfnDecoder; +} ASN1PerFunArr_t; + +typedef ASN1int32_t (WINAPI *ASN1BerEncFun_t)(ASN1encoding_t enc,ASN1uint32_t tag,void *data); +typedef ASN1int32_t (WINAPI *ASN1BerDecFun_t)(ASN1decoding_t enc,ASN1uint32_t tag,void *data); + +typedef struct tagASN1BerFunArr_t { + const ASN1BerEncFun_t *apfnEncoder; + const ASN1BerDecFun_t *apfnDecoder; +} ASN1BerFunArr_t; + +typedef enum { + ASN1_PER_RULE_ALIGNED = 0x0001,ASN1_PER_RULE_UNALIGNED = 0x0002,ASN1_PER_RULE = ASN1_PER_RULE_ALIGNED | ASN1_PER_RULE_UNALIGNED, + ASN1_BER_RULE_BER = 0x0100,ASN1_BER_RULE_CER = 0x0200,ASN1_BER_RULE_DER = 0x0400, + ASN1_BER_RULE = ASN1_BER_RULE_BER | ASN1_BER_RULE_CER | ASN1_BER_RULE_DER +} ASN1encodingrule_e; + +typedef struct tagASN1module_t { + ASN1magic_t nModuleName; + ASN1encodingrule_e eRule; + ASN1uint32_t dwFlags; + ASN1uint32_t cPDUs; + const ASN1FreeFun_t *apfnFreeMemory; + const ASN1uint32_t *acbStructSize; + union { + ASN1PerFunArr_t PER; + ASN1BerFunArr_t BER; + }; +} *ASN1module_t; + #ifdef __cplusplus } #endif