azure_data_cosmos_driver 0.5.0

Core implementation layer for Azure Cosmos DB - provides transport, routing, and protocol handling for cross-language SDK reuse
Documentation
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

/* automatically generated by rust-bindgen 0.72.1 */

// Auto-generated by bindgen from QueryPlanInterop.h  DO NOT EDIT
// Regenerate with: cargo run --bin generate-bindings (or see README.md)
#![allow(non_camel_case_types, non_snake_case, non_upper_case_globals)]

pub type ULONG = ::core::ffi::c_ulong;
pub type BOOL = ::core::ffi::c_int;
pub type BYTE = ::core::ffi::c_uchar;
pub type CHAR = ::core::ffi::c_char;
pub type WCHAR = u16;
pub type LPCWCH = *const WCHAR;
pub type LPCWSTR = *const WCHAR;
pub type LPCSTR = *const CHAR;
pub type HRESULT = ::core::ffi::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _GUID {
    pub Data1: ::core::ffi::c_ulong,
    pub Data2: ::core::ffi::c_ushort,
    pub Data3: ::core::ffi::c_ushort,
    pub Data4: [::core::ffi::c_uchar; 8usize],
}
pub type GUID = _GUID;
pub type IID = GUID;
#[repr(C)]
pub struct IUnknown__bindgen_vtable(::core::ffi::c_void);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IUnknown {
    pub vtable_: *const IUnknown__bindgen_vtable,
}
pub const QueryPlanInteropPartitionKind_Hash: QueryPlanInteropPartitionKind = 0;
pub const QueryPlanInteropPartitionKind_Range: QueryPlanInteropPartitionKind = 1;
pub const QueryPlanInteropPartitionKind_MultiHash: QueryPlanInteropPartitionKind = 2;
pub type QueryPlanInteropPartitionKind = i32;
pub const QueryPlanInteropGeospatialType_Geography: QueryPlanInteropGeospatialType = 0;
pub const QueryPlanInteropGeospatialType_Geometry: QueryPlanInteropGeospatialType = 1;
pub type QueryPlanInteropGeospatialType = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueryPlanInteropPartitionKeyRangesApiOptions {
    pub bRequireFormattableOrderByQuery: BOOL,
    pub bIsContinuationExpected: BOOL,
    pub bAllowNonValueAggregateQuery: BOOL,
    pub bHasLogicalPartitionKey: BOOL,
    pub bAllowDCount: BOOL,
    pub bUseSystemPrefix: BOOL,
    pub ePartitionKind: QueryPlanInteropPartitionKind,
    pub eGeospatialType: QueryPlanInteropGeospatialType,
    pub bHybridSearchSkipOrderByRewrite: BOOL,
    pub rgbyReserved: [BYTE; 28usize],
}
unsafe extern "C" {
    pub fn CreateServiceProvider(
        pszConfigJson: LPCSTR,
        ppServiceProviderOut: *mut *mut IUnknown,
    ) -> HRESULT;
}
unsafe extern "C" {
    pub fn UpdateServiceProvider(pServiceProvider: *mut IUnknown, pszConfigJson: LPCSTR)
        -> HRESULT;
}
unsafe extern "C" {
    pub fn GetPartitionKeyRangesFromQuery4(
        pServiceProvider: *mut IUnknown,
        pwszQuerySpec: LPCWSTR,
        options: QueryPlanInteropPartitionKeyRangesApiOptions,
        pPartitionKeyPathTokens: *mut LPCWSTR,
        rgPartitionKeyPathTokensLengths: *mut ULONG,
        nPartitionKeyCount: ULONG,
        pwchVectorEmbeddingPolicy: LPCWCH,
        nVectorEmbeddingPolicyLength: ULONG,
        pbySerializedPartitionedQueryExecutionInfoBuffer: *mut BYTE,
        nSerializedPartitionedQueryExecutionInfoBufferLength: ULONG,
        pnSerializedPartitionedQueryExecutionInfoResultLength: *mut ULONG,
    ) -> HRESULT;
}