// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_TOOLS_GSSAPI_GSS_TYPES_H_ #define NET_TOOLS_GSSAPI_GSS_TYPES_H_ #include <cstddef> #include <cstdint> // Define a minimal subset of the definitions needed to build a loadable fake // GSSAPI library. The bindings follow RFC 2744. The code follows the RFC // faithfully with the possible exception of `const` qualifiers for some // function arguments. // // Note that //net/http/http_auth_gssapi_posix* functions depend on the gssapi.h // as found on the host platform. For test purposes file does not depend on the // system gssapi.h in order to reduce sensitivity to the host environment. // // These declarations follow RFC 2744 Appendix A with the exception of using // C++isms in some places. OM_uint32; gss_qop_t; struct gss_buffer_desc_struct { … }; gss_buffer_desc; gss_buffer_t; struct gss_OID_desc_struct { … }; gss_OID_desc; gss_OID; struct gss_channel_bindings_struct { … }; gss_channel_bindings_t; // Following structures are defined as <implementation-specific>. struct FakeGssName { … }; gss_name_t; struct FakeGssCredId { … }; gss_cred_id_t; struct FakeGssCtxId { … }; gss_ctx_id_t; #if defined(WIN32) #define GSS_EXPORT … #else #define GSS_EXPORT … #endif #endif // NET_TOOLS_GSSAPI_GSS_TYPES_H_