#ifndef NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUICHE_MUTEX_IMPL_H_
#define NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUICHE_MUTEX_IMPL_H_
#include "base/synchronization/lock.h"
#include "base/synchronization/waitable_event.h"
#include "net/third_party/quiche/src/quiche/common/platform/api/quiche_export.h"
#define QUICHE_EXCLUSIVE_LOCKS_REQUIRED_IMPL …
#define QUICHE_GUARDED_BY_IMPL …
#define QUICHE_LOCKABLE_IMPL …
#define QUICHE_LOCKS_EXCLUDED_IMPL …
#define QUICHE_SHARED_LOCKS_REQUIRED_IMPL …
#define QUICHE_EXCLUSIVE_LOCK_FUNCTION_IMPL …
#define QUICHE_UNLOCK_FUNCTION_IMPL …
#define QUICHE_SHARED_LOCK_FUNCTION_IMPL …
#define QUICHE_SCOPED_LOCKABLE_IMPL …
#define QUICHE_ASSERT_SHARED_LOCK_IMPL …
#ifndef EXCLUSIVE_LOCK_FUNCTION
#define EXCLUSIVE_LOCK_FUNCTION …
#endif
#ifndef UNLOCK_FUNCTION
#define UNLOCK_FUNCTION …
#endif
#ifndef SHARED_LOCK_FUNCTION
#define SHARED_LOCK_FUNCTION …
#endif
#ifndef ASSERT_SHARED_LOCK
#define ASSERT_SHARED_LOCK …
#endif
#ifndef LOCKABLE
#define LOCKABLE
#endif
#ifndef SCOPED_LOCKABLE
#define SCOPED_LOCKABLE
#endif
#ifndef GUARDED_BY
#define GUARDED_BY …
#endif
#ifndef SHARED_LOCKS_REQUIRED
#define SHARED_LOCKS_REQUIRED …
#endif
#ifndef EXCLUSIVE_LOCKS_REQUIRED
#define EXCLUSIVE_LOCKS_REQUIRED …
#endif
namespace quiche {
class QUICHE_LOCKABLE_IMPL QUICHE_EXPORT QuicheLockImpl { … };
class QUICHE_EXPORT QuicheNotificationImpl { … };
}
#endif