include: Add rstloc.idl.
diff --git a/include/Makefile.in b/include/Makefile.in
index 66d8c0d..f8fbfc9 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -404,6 +404,7 @@
rpcproxy.h \
rstbas.idl \
rstinf.idl \
+ rstloc.idl \
rtutils.h \
scarderr.h \
schannel.h \
diff --git a/include/oledb.idl b/include/oledb.idl
index a1b4643..3f524eb 100644
--- a/include/oledb.idl
+++ b/include/oledb.idl
@@ -34,16 +34,19 @@
typedef ULONG DBCOUNTITEM;
typedef ULONG DBLENGTH;
typedef ULONG DBORDINAL;
+typedef ULONG DBBKMARK;
typedef DWORD DB_DWRESERVE;
typedef ULONG DBREFCOUNT;
typedef ULONG DB_UPARAMS;
typedef LONG DB_LPARAMS;
+typedef DWORD DBHASHVALUE;
#include "dbs.idl"
#include "access.idl"
#include "rstbas.idl"
#include "rstinf.idl"
+#include "rstloc.idl"
#include "cmdbas.idl"
#include "cmdtxt.idl"
#include "dbccmd.idl"
diff --git a/include/rstloc.idl b/include/rstloc.idl
new file mode 100644
index 0000000..266aabf
--- /dev/null
+++ b/include/rstloc.idl
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2009 Huw Davies
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+[
+ local,
+ object,
+ uuid(0c733a7d-2a1c-11ce-ade5-00aa0044773d),
+ pointer_default(unique)
+]
+interface IRowsetLocate : IRowset
+{
+ typedef DWORD DBCOMPARE;
+
+ enum DBCOMPAREENUM
+ {
+ DBCOMPARE_LT,
+ DBCOMPARE_EQ,
+ DBCOMPARE_GT,
+ DBCOMPARE_NE,
+ DBCOMPARE_NOTCOMPARABLE
+ };
+
+ HRESULT Compare([in] HCHAPTER hReserved,
+ [in] DBBKMARK cbBookmark1,
+ [in, size_is(cbBookmark1)] const BYTE *pBookmark1,
+ [in] DBBKMARK cbBookmark2,
+ [in, size_is(cbBookmark2)] const BYTE *pBookmark2,
+ [out] DBCOMPARE *pComparison);
+
+ HRESULT GetRowsAt([in] HWATCHREGION hReserved1,
+ [in] HCHAPTER hReserved2,
+ [in] DBBKMARK cbBookmark,
+ [in, size_is(cbBookmark)] const BYTE *pBookmark,
+ [in] DBROWOFFSET lRowsOffset,
+ [in] DBROWCOUNT cRows,
+ [out] DBCOUNTITEM *pcRowsObtained,
+ [out, size_is(,cRows)] HROW **prghRows);
+
+ HRESULT GetRowsByBookmark([in] HCHAPTER hReserved,
+ [in] DBCOUNTITEM cRows,
+ [in, size_is(cRows)] const DBBKMARK rgcbBookmarks[],
+ [in, size_is(cRows)] const BYTE *rgpBookmarks[],
+ [out, size_is(cRows)] HROW rghRows[],
+ [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]);
+
+ HRESULT Hash([in] HCHAPTER hReserved,
+ [in] DBBKMARK cBookmarks,
+ [in, size_is(cBookmarks)] const DBBKMARK rgcbBookmarks[],
+ [in, size_is(cBookmarks)] const BYTE *rgpBookmarks[],
+ [out, size_is(cBookmarks)] DBHASHVALUE rgHashedValues[],
+ [out, size_is(cBookmarks)] DBROWSTATUS rgBookmarkStatus[]);
+}
diff --git a/tools/make_makefiles b/tools/make_makefiles
index dadb393..28c1e1c 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -127,6 +127,7 @@
"opnrst.idl" => 1,
"rstbas.idl" => 1,
"rstinf.idl" => 1,
+ "rstloc.idl" => 1,
"sesprp.idl" => 1,
"vmrender.idl" => 1,
"wine/wined3d.idl" => 1,