1*635a8641SAndroid Build Coastguard Worker // Copyright 2014 The Chromium Authors. All rights reserved. 2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file. 4*635a8641SAndroid Build Coastguard Worker 5*635a8641SAndroid Build Coastguard Worker #ifndef CRYPTO_WINCRYPT_SHIM_H_ 6*635a8641SAndroid Build Coastguard Worker #define CRYPTO_WINCRYPT_SHIM_H_ 7*635a8641SAndroid Build Coastguard Worker 8*635a8641SAndroid Build Coastguard Worker // wincrypt.h defines macros which conflict with OpenSSL's types. This header 9*635a8641SAndroid Build Coastguard Worker // includes wincrypt and undefines the OpenSSL macros which conflict. Any 10*635a8641SAndroid Build Coastguard Worker // Chromium headers which include wincrypt should instead include this header. 11*635a8641SAndroid Build Coastguard Worker 12*635a8641SAndroid Build Coastguard Worker #include <windows.h> 13*635a8641SAndroid Build Coastguard Worker #include <wincrypt.h> 14*635a8641SAndroid Build Coastguard Worker 15*635a8641SAndroid Build Coastguard Worker // Undefine the macros which conflict with OpenSSL and define replacements. See 16*635a8641SAndroid Build Coastguard Worker // http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145(v=vs.85).aspx 17*635a8641SAndroid Build Coastguard Worker #undef X509_CERT_PAIR 18*635a8641SAndroid Build Coastguard Worker #undef X509_EXTENSIONS 19*635a8641SAndroid Build Coastguard Worker #undef X509_NAME 20*635a8641SAndroid Build Coastguard Worker 21*635a8641SAndroid Build Coastguard Worker #define WINCRYPT_X509_CERT_PAIR ((LPCSTR) 53) 22*635a8641SAndroid Build Coastguard Worker #define WINCRYPT_X509_EXTENSIONS ((LPCSTR) 5) 23*635a8641SAndroid Build Coastguard Worker #define WINCRYPT_X509_NAME ((LPCSTR) 7) 24*635a8641SAndroid Build Coastguard Worker 25*635a8641SAndroid Build Coastguard Worker #endif // CRYPTO_WINCRYPT_SHIM_H_ 26