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