diff --git a/if1632/olecli.spec b/if1632/olecli.spec
index 656274f65a28f0160a47db014da17f019043368c..bbe58d1a31657a8575c8b98c0e5001113df9a322 100644
--- a/if1632/olecli.spec
+++ b/if1632/olecli.spec
@@ -8,12 +8,12 @@ type	win16
 6 stub OLECLONE
 7 stub OLECOPYFROMLINK
 8 stub OLEEQUAL
-9 stub OLEQUERYLINKFROMCLIP
-10 stub OLEQUERYCREATEFROMCLIP
-11 stub OLECREATELINKFROMCLIP
-12 stub OLECREATEFROMCLIP
+9 pascal16 OleQueryLinkFromClip(segstr word word) OleQueryLinkFromClip16
+10 pascal16 OleQueryCreateFromClip(segstr word word) OleQueryCreateFromClip16
+11 pascal16 OleCreateLinkFromClip (segstr segptr long segstr long word word) OleCreateLinkFromClip16
+12 pascal16 OleCreateFromClip(segstr segptr long segstr long word word) OleCreateFromClip16
 13 stub OLECOPYTOCLIPBOARD
-14 stub OLEQUERYTYPE
+14 pascal16 OleQueryType(segptr segptr) OleQueryType16
 15 stub OLESETHOSTNAMES
 16 stub OLESETTARGETDEVICE
 17 stub OLESETBOUNDS
@@ -43,10 +43,10 @@ type	win16
 41  pascal OleRegisterClientDoc(ptr ptr long ptr) OleRegisterClientDoc16
 42  pascal OleRevokeClientDoc(long) OleRevokeClientDoc16
 43  pascal OleRenameClientDoc(long ptr) OleRenameClientDoc16
-44 stub OLEREVERTCLIENTDOC
+44 pascal16 OleRevertClientDoc(long) OleRevertClientDoc16
 45 stub OLESAVEDCLIENTDOC
 46 stub OLERENAME
-47 stub OLEENUMOBJECTS
+47 pascal16 OleEnumObjects(long segptr) OleEnumObjects16
 48 stub OLEQUERYNAME
 49 stub OLESETCOLORSCHEME
 50 stub OLEREQUESTDATA
diff --git a/include/ole.h b/include/ole.h
index f79f9c1c7f244609665a0cac49d4221318c24189..1a70339ce2bcb984b0b3a2970981700fcf4cfdd1 100644
--- a/include/ole.h
+++ b/include/ole.h
@@ -273,6 +273,17 @@ OLESTATUS WINAPI OleRenameClientDoc16(LHCLIENTDOC,LPCSTR);
 OLESTATUS WINAPI OleRevokeServerDoc16(LHSERVERDOC);
 OLESTATUS WINAPI OleRevokeClientDoc16(LHCLIENTDOC);
 OLESTATUS WINAPI OleRevokeServer16(LHSERVER);
+OLESTATUS WINAPI OleRevertClientDoc16(LHCLIENTDOC hServerDoc);
+OLESTATUS WINAPI OleEnumObjects16(LHCLIENTDOC hServerDoc, SEGPTR data);
+OLESTATUS WINAPI OleCreateLinkFromClip16(
+	LPCSTR name, LPOLECLIENT olecli, LHCLIENTDOC hclientdoc, LPCSTR xname,
+	LPOLEOBJECT *lpoleob, UINT16 render, UINT16 clipformat);
+OLESTATUS WINAPI OleQueryLinkFromClip16(LPCSTR name, UINT16 render, UINT16 clipformat);
+OLESTATUS WINAPI OleQueryCreateFromClip16(LPCSTR name, UINT16 render, UINT16 clipformat);
+OLESTATUS WINAPI OleQueryType16(LPOLEOBJECT oleob,  SEGPTR xlong);
+OLESTATUS WINAPI OleCreateFromClip16(
+	LPCSTR name, LPOLECLIENT olecli, LHCLIENTDOC hclientdoc, LPCSTR xname,
+	LPOLEOBJECT *lpoleob, UINT16 render, UINT16 clipformat);
 
 /* com functions */
 void WINAPI CoFreeUnusedLibraries(void);
diff --git a/ole/olecli.c b/ole/olecli.c
index 5eecbde4beaa8b67be459fd4c3ebcef1bcf61dae..909e53713cbbbb5a0927ca5b3cb68a7a0c9f27d6 100644
--- a/ole/olecli.c
+++ b/ole/olecli.c
@@ -74,6 +74,39 @@ OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC hServerDoc)
     return OLE_OK;
 }
 
+/******************************************************************************
+ *		OleRevertClientDoc16	[OLECLI.44]
+ */
+OLESTATUS WINAPI OleRevertClientDoc16(LHCLIENTDOC hServerDoc)
+{
+    FIXME(ole, "(%ld): stub\n", hServerDoc);
+    return OLE_OK;
+}
+
+/******************************************************************************
+ *		OleEnumObjects16	[OLECLI.47]
+ */
+OLESTATUS WINAPI OleEnumObjects16(LHCLIENTDOC hServerDoc, SEGPTR data)
+{
+    FIXME(ole, "(%ld, %04x:%04x): stub\n", hServerDoc, HIWORD(data),
+	LOWORD(data));
+    return OLE_OK;
+}
+
+/******************************************************************************
+ *	     OleCreateLinkFromClip16	[OLECLI.11]
+ */
+OLESTATUS WINAPI OleCreateLinkFromClip16(
+	LPCSTR name, LPOLECLIENT olecli, LHCLIENTDOC hclientdoc, LPCSTR xname,
+	LPOLEOBJECT *lpoleob, UINT16 render, UINT16 clipformat
+) {
+	FIXME(ole, "(%s, %04x:%04x, %ld, %s, %04x:%04x, %d, %d): stub!\n",
+	    (char *)PTR_SEG_TO_LIN(name), HIWORD(olecli), LOWORD(olecli),
+	    hclientdoc, (char *)PTR_SEG_TO_LIN(xname), HIWORD(lpoleob),
+	    LOWORD(lpoleob), render, clipformat);
+	return OLE_OK;
+}
+
 /******************************************************************************
  *           OleCreateLinkFromClip32	[OLECLI32.11]
  */
@@ -86,6 +119,15 @@ OLESTATUS WINAPI OleCreateLinkFromClip(
 	return OLE_OK;
 }
 
+/******************************************************************************
+ *           OleQueryLinkFromClip16	[OLECLI.9]
+ */
+OLESTATUS WINAPI OleQueryLinkFromClip16(LPCSTR name, UINT16 render, UINT16 clipformat) {
+	FIXME(ole, "(%s, %d, %d): stub!\n", (char*)(PTR_SEG_TO_LIN(name)),
+		render, clipformat);
+	return OLE_OK;
+}
+
 /******************************************************************************
  *           OleQueryLinkFromClip32	[OLECLI32.9]
  */
@@ -93,6 +135,16 @@ OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR name,OLEOPT_RENDER render,OLECLIPFO
 	FIXME(ole,"(%s,%d,%ld): stub!\n",name,render,clipformat);
 	return OLE_OK;
 }
+
+/******************************************************************************
+ *           OleQueryCreateFromClip16	[OLECLI.10]
+ */
+OLESTATUS WINAPI OleQueryCreateFromClip16(LPCSTR name, UINT16 render, UINT16 clipformat) {
+	FIXME(ole, "(%s, %d, %d): stub!\n", (char*)(PTR_SEG_TO_LIN(name)),
+		render, clipformat);
+	return OLE_OK;
+}
+
 /******************************************************************************
  *           OleQueryCreateFromClip32	[OLECLI32.10]
  */
@@ -101,7 +153,6 @@ OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR name,OLEOPT_RENDER render,OLECLIP
 	return OLE_OK;
 }
 
-
 /******************************************************************************
  *		OleIsDcMeta16	[OLECLI.60]
  */
@@ -138,6 +189,15 @@ OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) {
 	return OLE_OK;
 }
 
+/******************************************************************************
+ *		OleQueryType16	[OLECLI.14]
+ */
+OLESTATUS WINAPI OleQueryType16(LPOLEOBJECT oleob,  SEGPTR xlong) {
+	FIXME(ole, "(%p, %p): stub!\n",
+		PTR_SEG_TO_LIN(oleob), PTR_SEG_TO_LIN(xlong));
+	return OLE_OK;
+}
+
 /******************************************************************************
  *		OleQueryType32	[OLECLI32.14]
  */
@@ -150,6 +210,20 @@ OLESTATUS WINAPI OleQueryType(LPOLEOBJECT oleob,LONG*xlong) {
 	return oleob->lpvtbl->QueryType(oleob,xlong);
 }
 
+/******************************************************************************
+ *		OleCreateFromClip16	[OLECLI.12]
+ */
+OLESTATUS WINAPI OleCreateFromClip16(
+	LPCSTR name, LPOLECLIENT olecli, LHCLIENTDOC hclientdoc, LPCSTR xname,
+	LPOLEOBJECT *lpoleob, UINT16 render, UINT16 clipformat
+) {
+	FIXME(ole, "(%s, %04x:%04x, %ld, %s, %04x:%04x, %d, %d): stub!\n",
+	    (char *)PTR_SEG_TO_LIN(name), HIWORD(olecli), LOWORD(olecli),
+	    hclientdoc, (char *)PTR_SEG_TO_LIN(xname), HIWORD(lpoleob),
+	    LOWORD(lpoleob), render, clipformat);
+	return OLE_OK;
+}
+
 /******************************************************************************
  *		OleCreateFromClip32	[OLECLI32.12]
  */