diff options
Diffstat (limited to 'ucb/source/ucp/odma/odma.h')
-rw-r--r-- | ucb/source/ucp/odma/odma.h | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/ucb/source/ucp/odma/odma.h b/ucb/source/ucp/odma/odma.h new file mode 100644 index 000000000000..8a5ed94b4f65 --- /dev/null +++ b/ucb/source/ucp/odma/odma.h @@ -0,0 +1,315 @@ +/* odma.h - Definitions, prototypes, etc. for Open Document Managment API + (ODMA) version 2.0. + + COPYRIGHT (C) 1994, 1995 + AIIM International + All Right Reserved +*/ + +#ifndef ODMA_H +#define ODMA_H + +/* Type definitions */ +typedef LPVOID ODMHANDLE; +typedef LPSTR (*ODMSAVEASCALLBACK)(DWORD dwEnvData, LPSTR lpszFormat, LPVOID pInstanceData); +typedef int ODMSTATUS; + +/* Constants */ +#define ODM_API_VERSION 200 /* Version of the API */ + +#ifdef WIN32 + #define ODM_DOCID_MAX 255 /* Win32 */ + +#elif defined( _WINDOWS_ ) || defined( _MSDOS ) + #define ODM_DOCID_MAX 80 /* Windows 3.x */ + +#else + #define ODM_DOCID_MAX 255 /* Other platforms */ +#endif + +#define ODM_DMSID_MAX 9 /* Max length of a DMS ID including the + /* terminating NULL character. */ + +#define ODM_APPID_MAX 16 /* Max length of a application ID including + /* the terminating NULL character. */ + +// ODMA 2.0 +#define ODM_QUERYID_MAX 255 // Max length of a query ID including + // the terminating NULL character. + +#define ODM_FORMAT_MAX 81 // Max length of a format including + // the terminating NULL character. + +// Maximum length of a filename returned by ODMA including the terminating +// NULL character. Platform dependent. + +#ifdef WIN32 + #define ODM_FILENAME_MAX 255 /* Win32 */ + +#elif defined( _WINDOWS_ ) || defined( _MSDOS ) + #define ODM_FILENAME_MAX 128 /* Windows 3.x */ + +#elif defined( unix ) || defined( _UNIX ) + #define ODM_FILENAME_MAX 1024 /* Unix */ + +#else + #define ODM_FILENAME_MAX 255 /* Other platforms */ +#endif + + +/* Common format type names */ +#define ODM_FORMAT_TEXT "Text" +#define ODM_FORMAT_RTF "Rich text format" +#define ODM_FORMAT_DCA "DCA RFT" /* IBM DCA Rich Format Text */ +#define ODM_FORMAT_TIFF "Tiff" +#define ODM_FORMAT_GIF "Gif" /* Compuserve Graphics Interchange Format */ +#define ODM_FORMAT_BMP "Windows bitmap" +#define ODM_FORMAT_PCX "PCX" +#define ODM_FORMAT_CGM "CGM" /* Computer Graphics Metafile */ +#define ODM_FORMAT_EXE "Executable file" +#define ODM_FORMAT_PCL "PCL" /* HP Printer Control Language */ +#define ODM_FORMAT_PS "PostScript" + + +/* Error returns */ +#define ODM_SUCCESS 0 // Success! +#define ODM_E_FAIL 1 /* Unspecified failure */ +#define ODM_E_CANCEL 2 /* Action was cancelled at user's request */ +#define ODM_E_NODMS 3 /* DMS not registered */ +#define ODM_E_CANTINIT 4 /* DMS failed to initalize */ +#define ODM_E_VERSION 5 /* DMS doesn't support the requested + version of ODMA */ +#define ODM_E_APPSELECT 6 /* User has indicated that he wants to use + the application's file selection + capabilities rather than those of the + DMS. */ +#define ODM_E_USERINT 7 /* Requested action cannot be performed + without user interaction, but silent + mode was specified. */ +#define ODM_E_HANDLE 8 /* The DMHANDLE argument was invalid. */ +#define ODM_E_ACCESS 9 /* User does not have requested access + rights to specified document. */ +#define ODM_E_INUSE 10 /* Document is currently in use and cannot + be accessed in specified mode. */ +#define ODM_E_DOCID 11 /* Invalid document ID */ +#define ODM_E_OPENMODE 12 /* The specified action is incompatible + with the mode in which the document was + opened. */ +#define ODM_E_NOOPEN 13 /* The specified document is not open. */ +#define ODM_E_ITEM 14 /* Invalid item specifier. */ +#define ODM_E_OTHERAPP 15 /* Selected document was for another app. */ +#define ODM_E_NOMOREDATA 16 /* No more data is available */ +#define ODM_E_PARTIALSUCCESS 17 /* */ +// Additional Error code from ODMA 2.0 +#define ODM_E_REQARG 18 /* */ +#define ODM_E_NOSUPPORT 19 /* */ +#define ODM_E_TRUNCATED 20 /* */ +#define ODM_E_INVARG 21 +#define ODM_E_OFFLINE 22 /* */ + + +// ODMOpenDoc modes +#define ODM_MODIFYMODE 1 /* Open document in a modifiable mode. */ +#define ODM_VIEWMODE 2 /* Open document in non-modifiable mode. */ +// ODMA 2.0 +#define ODM_REFCOPY 3 + + +// Actions for ODMActivate +#define ODM_NONE 0 /* No specific action is requested. */ +#define ODM_DELETE 1 /* Delete the specified document. */ +#define ODM_SHOWATTRIBUTES 2 /* Display the specified document's profile + or attributes. */ +#define ODM_EDITATTRIBUTES 3 /* Edit the specified document's profile or + attributes. */ +#define ODM_VIEWDOC 4 /* Display the specified document in a + viewer window. */ +#define ODM_OPENDOC 5 /* Open the specified document in its + native application. */ +// ODMA 2.0 +#define ODM_NEWDOC 6 +#define ODM_CHECKOUT 7 +#define ODM_CANCELCHECKOUT 8 +#define ODM_CHECKIN 9 +#define ODM_SHOWHISTORY 10 + + +// Item selectors for ODMGetDocInfo and ODMSetDocInfo +#define ODM_AUTHOR 1 /* Author of the document. */ +#define ODM_NAME 2 /* Descriptive name of the document. */ +#define ODM_TYPE 3 /* Type of the document. */ +#define ODM_TITLETEXT 4 /* Suggested text to display in the + document window's title bar. */ +#define ODM_DMS_DEFINED 5 /* DMS defined data. */ +#define ODM_CONTENTFORMAT 6 /* String describing document's format */ +// ODMA 2.0 +#define ODM_ALTERNATE_RENDERINGS 7 +#define ODM_CHECKEDOUTBY 8 +#define ODM_CHECKOUTCOMMENT 9 +#define ODM_CHECKOUTDATE 10 +#define ODM_CREATEDBY 11 +#define ODM_CREATEDDATE 12 +#define ODM_DOCID_LATEST 13 +#define ODM_DOCID_RELEASED 14 +#define ODM_DOCVERSION 15 +#define ODM_DOCVERSION_LATEST 16 +#define ODM_DOCVERSION_RELEASED 17 +#define ODM_LOCATION 18 +#define ODM_KEYWORDS 19 +#define ODM_LASTCHECKINBY 20 +#define ODM_LASTCHECKINDATE 21 +#define ODM_MODIFYDATE 22 +#define ODM_MODIFYDATE_LATEST 23 +#define ODM_MODIFYDATE_RELEASED 24 +#define ODM_OWNER 25 +#define ODM_SUBJECT 26 +#define ODM_TITLETEXT_RO 27 +#define ODM_URL 28 + + +// Item selectors for ODMQueryCapability ODMA 2.0 +#define ODM_QC_ACTIVATE 1 +#define ODM_QC_CLOSEDOC 2 +#define ODM_QC_CLOSEDOCEX 3 +#define ODM_QC_GETALTERNATECONTENT 4 +#define ODM_QC_GETDMSINFO 5 +#define ODM_QC_GETDOCINFO 6 +#define ODM_QC_GETDOCRELATION 7 +#define ODM_QC_GETLEADMONIKER 8 +#define ODM_QC_NEWDOC 9 +#define ODM_QC_OPENDOC 10 +#define ODM_QC_QUERYCLOSE 11 +#define ODM_QC_QUERYEXECUTE 12 +#define ODM_QC_QUERYGETRESULTS 13 +#define ODM_QC_SAVEAS 14 +#define ODM_QC_SAVEASEX 15 +#define ODM_QC_SAVEDOC 16 +#define ODM_QC_SAVEDOCEX 17 +#define ODM_QC_SELECTDOC 18 +#define ODM_QC_SELECTDOCEX 19 +#define ODM_QC_SETALTERNATECONTENT 20 +#define ODM_QC_SETDOCEVENT 21 +#define ODM_QC_SETDOCRELATION 22 +#define ODM_QC_SETDOCINFO 23 + + +// Misc. modes, flags +#define ODM_SILENT 16 /* Don't interact with the user while + fulfilling this request. */ +//ODMA 2.0 +#define ODM_VERSION_SAME 1 +#define ODM_VERSION_MAJOR 2 +#define ODM_VERSION_MINOR 4 +#define ODM_VERSION_CHANGED 8 +#define ODM_ALT_DELETE 32 + +//ODMA 2.0 DMS Info Flags +#define ODM_EXT_QUERY 1 +#define ODM_EXT_WORKFLOW 2 + +// Flags for Query Interface +#define ODM_ALL 1 // All DMS's should be searched +#define ODM_SPECIFIC 2 // Only specific DMS's should be searched + + +// Function prototypes +#ifdef __cplusplus +extern "C" { +#endif + +ODMSTATUS WINAPI ODMRegisterApp(ODMHANDLE FAR *pOdmHandle, WORD version, + LPSTR lpszAppId, DWORD dwEnvData, LPVOID pReserved); + +void WINAPI ODMUnRegisterApp(ODMHANDLE odmHandle); + +ODMSTATUS WINAPI ODMSelectDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPDWORD pdwFlags); + +ODMSTATUS WINAPI ODMOpenDoc(ODMHANDLE odmHandle, DWORD flags, + LPSTR lpszDocId, LPSTR lpszDocLocation); + +ODMSTATUS WINAPI ODMSaveDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPSTR lpszNewDocId); + +ODMSTATUS WINAPI ODMCloseDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, + DWORD activeTime, DWORD pagesPrinted, LPVOID sessionData, WORD dataLen); + +ODMSTATUS WINAPI ODMNewDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, + DWORD dwFlags, LPSTR lpszFormat, LPSTR lpszDocLocation); + +ODMSTATUS WINAPI ODMSaveAs(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPSTR lpszNewDocId, LPSTR lpszFormat, ODMSAVEASCALLBACK pcbCallBack, + LPVOID pInstanceData); + +ODMSTATUS WINAPI ODMActivate(ODMHANDLE odmHandle, WORD action, + LPSTR lpszDocId); + +ODMSTATUS WINAPI ODMGetDocInfo(ODMHANDLE odmHandle, LPSTR lpszDocId, + WORD item, LPSTR lpszData, WORD dataLen); + +ODMSTATUS WINAPI ODMSetDocInfo(ODMHANDLE odmHandle, LPSTR lpszDocId, + WORD item, LPSTR lpszData); + +ODMSTATUS WINAPI ODMGetDMSInfo(ODMHANDLE odmHandle, LPSTR lpszDmsId, + LPWORD pwVerNo, LPDWORD pdwExtensions); + +/* Query Enhancements */ +WORD WINAPI ODMGetDMSCount(); + +WORD WINAPI ODMGetDMSList( LPSTR buffer, WORD buffer_size ); + +ODMSTATUS WINAPI ODMGetDMS( LPCSTR lpszAppId, LPSTR lpszDMSId ); + +ODMSTATUS WINAPI ODMSetDMS( LPCSTR lpszAppId, LPCSTR lpszDMSId ); + +ODMSTATUS WINAPI ODMQueryExecute(ODMHANDLE odmHandle, LPCSTR lpszQuery, + DWORD flags, LPCSTR lpszDMSList, LPSTR queryId ); + +ODMSTATUS WINAPI ODMQueryGetResults(ODMHANDLE odmHandle, LPCSTR queryId, + LPSTR lpszDocId, LPSTR lpszDocName, WORD docNameLen, + WORD *docCount ); + +ODMSTATUS WINAPI ODMQueryClose(ODMHANDLE odmHandle, LPCSTR queryId ); + +/* ODMA 2.0 Enhancements */ +ODMSTATUS WINAPI ODMCloseDocEx(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPDWORD pdwFlags, DWORD activeTime, DWORD pagesPrinted, + LPVOID sessionData, WORD dataLen); + +ODMSTATUS WINAPI ODMSaveAsEx(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPSTR lpszNewDocId, LPSTR lpszFormat, ODMSAVEASCALLBACK pcbCallBack, + LPVOID pInstanceData, LPDWORD pdwFlags); + +ODMSTATUS WINAPI ODMSaveDocEx(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPSTR lpszNewDocId, LPDWORD pdwFlags); + +ODMSTATUS WINAPI ODMSelectDocEx(ODMHANDLE odmHandle, LPSTR lpszDocIds, + LPWORD pwDocIdsLen, LPWORD pwDocCount, LPDWORD pdwFlags, + LPSTR lpszFormatFilter); + +ODMSTATUS WINAPI ODMQueryCapability(ODMHANDLE odmHandle, LPCSTR lpszDmsId, + DWORD function, DWORD item, DWORD flags); + +ODMSTATUS WINAPI ODMSetDocEvent(ODMHANDLE odmHandle, LPSTR lpszDocId, + DWORD flags, DWORD event, LPVOID lpData, DWORD dwDataLen, + LPSTR lpszComment); + +ODMSTATUS WINAPI ODMGetAlternateContent(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPDWORD pdwFlags, LPSTR lpszFormat, LPSTR lpszDocLocation); + +ODMSTATUS WINAPI ODMSetAlternateContent(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPDWORD pdwFlags, LPSTR lpszFormat, LPSTR lpszDocLocation); + +ODMSTATUS WINAPI ODMGetDocRelation(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPDWORD pdwFlags, LPSTR lpszLinkedId, LPSTR lpszFormat, + LPSTR lpszPreviousId); + +ODMSTATUS WINAPI ODMSetDocRelation(ODMHANDLE odmHandle, LPSTR lpszDocId, + LPDWORD pdwFlags, LPSTR lpszLinkedId, LPSTR lpszFormat, + LPSTR lpszPreviousId); + +#ifdef __cplusplus +} +#endif + +#endif |