/* */ /* *********************************************************************** */ /* */ /* Copyright Powersoft Corporation 1991 - 1995 */ /* */ /* Powersoft Corporation ("Powersoft") claims copyright in this */ /* program and documentation as an unpublished work, versions of */ /* which were first licensed on the date indicated in the foregoing */ /* notice. Claim of copyright does not imply waiver of Powersoft's */ /* other rights. See Notice of Proprietary Rights. */ /* */ /* NOTICE OF PROPRIETARY RIGHTS */ /* */ /* This program and documentation are confidential trade */ /* secrets and the property of Powersoft. Use, examination, */ /* reproduction, copying, disassembly, decompilation, transfer */ /* and/or disclosure to others are strictly prohibited except by */ /* express written agreement with Powersoft. */ /* */ /* ----------------------------------------------------------------------- */ /* */ /* Filename : pborca.h */ /* */ /* Purpose : PowerBuilder Open Repository CASE API */ /* DLL public header file. */ /* */ /* Notes : 1. This header file should be included after */ /* 2. This file was editted with tab stops 4. */ /* */ /* *********************************************************************** */ #ifndef PB_ORCA /* First time defined? */ #define PB_ORCA /* Yes, make sure of it */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #if defined(macintosh) || defined(__unix) #ifndef FAR #define FAR #endif #define far #ifndef _WINDEF_ typedef TCHAR FAR* LPTSTR; typedef unsigned int UINT; #endif #ifndef _WINNT_ typedef void FAR* LPVOID; #endif #if !defined(macintosh) #define PASCAL pascal #endif #define LONG long #endif #if defined(macintosh) || defined(__unix) // gmoison #ifndef CALLBACK #define CALLBACK #endif #ifndef WINAPI #define WINAPI #endif #endif #ifndef PBWINAPI_ #define PBWINAPI_(t) t WINAPI #endif #ifndef PBCALLBACK #define PBCALLBACK(r,n) r ( CALLBACK n ) #endif #ifndef CHAR /* We have a CHAR definiton? */ #define TCHAR TCHAR /* No, then do it */ #endif #ifndef VOID /* We have a VOID definiton? */ #define VOID void /* No, then do it */ #endif #if !defined(_WINDEF_) && !defined(_INC_WINDOWS)/* We have a INT definiton? */ // #define INT int /* No, then do it */ typedef int INT; #endif /* *********************************************************************** */ /* ORCA Interface assorted #defines */ /* *********************************************************************** */ #define HPBORCA LPVOID /* ORCA session handle */ #define PBORCA_MSGBUFFER 256 /* Suggested msg buffer size */ #define PBORCA_MAXCOMMENT 255 /* Maximum comment size */ /* *********************************************************************** */ /* ORCA Interface result #defines */ /* *********************************************************************** */ #define PBORCA_OK 0 /* Operation successful */ #define PBORCA_INVALIDPARMS -1 /* Invalid parameter list */ #define PBORCA_DUPOPERATION -2 /* Duplicate operation */ #define PBORCA_OBJNOTFOUND -3 /* Object not found */ #define PBORCA_BADLIBRARY -4 /* Bad library name */ #define PBORCA_LIBLISTNOTSET -5 /* Library list not set */ #define PBORCA_LIBNOTINLIST -6 /* Library not in lib list */ #define PBORCA_LIBIOERROR -7 /* Library I/O error */ #define PBORCA_OBJEXISTS -8 /* Object exists */ #define PBORCA_INVALIDNAME -9 /* Invalid name */ #define PBORCA_BUFFERTOOSMALL -10 /* Buffer size is too small */ #define PBORCA_COMPERROR -11 /* Compile error */ #define PBORCA_LINKERROR -12 /* Link error */ #define PBORCA_CURRAPPLNOTSET -13 /* Current appl not set */ #define PBORCA_OBJHASNOANCS -14 /* Object has no ancestors */ #define PBORCA_OBJHASNOREFS -15 /* Object has no references */ #define PBORCA_PBDCOUNTERROR -16 /* Invalid # of PBD's */ #define PBORCA_PBDCREATERROR -17 /* PBD create error */ #define PBORCA_CHECKOUTERROR -18 /* check out/in error */ /* *********************************************************************** */ /* ORCA Executable generation #defines for lFlags for ** PBORCA_ExecutableCreate and PBORCA_DynamicLibraryCreate ** ** For p-code executables, value must be 0. ** ** Each option is specified by a separate bit: ** ** 0000 0000 0000 0000 0000 0000 0000 0000 ** ^bit 31 ^bit 0 ** ** bit 0: 0 = p-code, 1 = machine-code ** bit 1: 0 = native, 1 = 16 bit ** bit 2: 0 = no open server, 1 = open server ** bit 3: reserved ** bit 4: 0 = no trace info, 1 = trace info ** bit 5: 0 = no runtime error context (routine & line numbers), 1 = error context ** bits 6,7: reserved ** bit 8: 0 = no optimization, 1 = optimization ** bit 9: 0 = optimize for speed, 1 = optimize for space ** bits 10-31: reserved ** ** Example: ** long lFlagVariable = 0; initialize to zero ** ** or in desired options ** lFlagVariable |= PBORCA_MACHINE_CODE; ** lFlagVariable |= PBORCA_MACHINE_CODE_OPT; ** lFlagVariable |= PBORCA_MACHINE_CODE_OPT_SPACE; ** Will produce machine code exe optimized for space. ** *********************************************************************** */ #define PBORCA_P_CODE 0x00000000 #define PBORCA_MACHINE_CODE 0x00000001 // Native is the default (32 bit for NT/Win95) #define PBORCA_MACHINE_CODE_NATIVE 0x00000001 #define PBORCA_MACHINE_CODE_16 0x00000002 #define PBORCA_P_CODE_16 0x00000002 // Open server is available for machine code only #define PBORCA_OPEN_SERVER 0x00000004 #define PBORCA_TRACE_INFO 0x00000010 #define PBORCA_ERROR_CONTEXT 0x00000020 #define PBORCA_MACHINE_CODE_OPT 0x00000100 #define PBORCA_MACHINE_CODE_OPT_SPEED 0x00000100 #define PBORCA_MACHINE_CODE_OPT_SPACE 0x00000200 #define PBORCA_MACHINE_CODE_OPT_NONE 0x00000000 #define PBORCA_MACHINE_CODE_POWERMAC 0x00001000 #define PBORCA_MACHINE_CODE_68KMAC 0x00002000 #define PBORCA_MACHINE_CODE_FATMAC 0x00004000 // Common combinations // wrl 12/3/96 -- NOCODEGEN test added to suppress C code generation on // platforms where that is not supported. #ifndef NOCODEGEN #define PBORCA_MACHINE_DEFAULT (PBORCA_MACHINE_CODE | PBORCA_MACHINE_CODE_OPT_SPEED) #else #define PBORCA_MACHINE_DEFAULT (PBORCA_P_CODE) #endif #define PBORCA_MACHINE_DEBUG (PBORCA_MACHINE_CODE | \ PBORCA_TRACE_INFO | PBORCA_ERROR_CONTEXT) #define PBORCA_MACHINE_16_DEFAULT (PBORCA_MACHINE_CODE | PBORCA_MACHINE_CODE_16 |\ PBORCA_MACHINE_CODE_OPT_SPEED) #define PBORCA_MACHINE_OPEN_DEFAULT (PBORCA_MACHINE_CODE | PBORCA_OPEN_SERVER |\ PBORCA_MACHINE_CODE_OPT_SPEED) /* *********************************************************************** */ /* ORCA entry types */ /* *********************************************************************** */ typedef enum pborca_type { PBORCA_APPLICATION, PBORCA_DATAWINDOW, PBORCA_FUNCTION, PBORCA_MENU, PBORCA_QUERY, PBORCA_STRUCTURE, PBORCA_USEROBJECT, PBORCA_WINDOW, PBORCA_PIPELINE, PBORCA_PROJECT, PBORCA_PROXYOBJECT, PBORCA_BINARY } PBORCA_TYPE, FAR *PPBORCA_TYPE; typedef enum pborca_reftype { PBORCA_REFTYPE_SIMPLE, PBORCA_REFTYPE_OPEN } PBORCA_REFTYPE, FAR *PPBORCA_REFTYPE; typedef enum pborca_rebuild_type { PBORCA_FULL_REBUILD, PBORCA_INCREMENTAL_REBUILD, PBORCA_MIGRATE } PBORCA_REBLD_TYPE, FAR *PPBORCA_REBLD_TYPE; /* *********************************************************************** */ /* Structure for PBORCA_CompileEntryImport callback function. */ /* *********************************************************************** */ typedef struct pborca_comperr { INT iLevel; /* Error level */ LPTSTR lpszMessageNumber; /* Pointer to message number */ LPTSTR lpszMessageText; /* Pointer to message text */ UINT iColumnNumber; /* Column number */ UINT iLineNumber; /* Line number */ } PBORCA_COMPERR, FAR *PPBORCA_COMPERR; /* *********************************************************************** */ /* Prototype for PBORCA_CompileEntryImport callback function. */ /* *********************************************************************** */ typedef PBCALLBACK(void, *PBORCA_ERRPROC) ( PPBORCA_COMPERR, LPVOID ); /* *********************************************************************** */ /* Structure for PBORCA_ExecutableCreate callback function. */ /* *********************************************************************** */ typedef struct pborca_linkerr { LPTSTR lpszMessageText; /* Pointer to message text */ } PBORCA_LINKERR, FAR *PPBORCA_LINKERR; /* *********************************************************************** */ /* Prototype for PBORCA_ExecutableCreate callback function. */ /* *********************************************************************** */ typedef PBCALLBACK(void, *PBORCA_LNKPROC) ( PPBORCA_LINKERR, LPVOID ); /* *********************************************************************** */ /* Structure for PBORCA_LibraryDirectory callback function. */ /* *********************************************************************** */ typedef struct pborca_direntry { /* Comments */ TCHAR szComments[PBORCA_MAXCOMMENT + 1]; LONG lCreateTime; /* Time of entry create/mod */ LONG lEntrySize; /* Size of entry */ LPTSTR lpszEntryName; /* Pointer to entry name */ PBORCA_TYPE otEntryType; /* Entry type */ } PBORCA_DIRENTRY, FAR *PPBORCA_DIRENTRY; /* *********************************************************************** */ /* Prototype for PBORCA_LibraryDirectory callback function. */ /* *********************************************************************** */ typedef PBCALLBACK(void, *PBORCA_LISTPROC) ( PPBORCA_DIRENTRY, LPVOID ); /* *********************************************************************** */ /* Structure for PBORCA_LibraryEntryInformation callback function. */ /* *********************************************************************** */ typedef struct pborca_entryinfo { /* Comments */ TCHAR szComments[PBORCA_MAXCOMMENT + 1]; LONG lCreateTime; /* Time of entry create/mod */ LONG lObjectSize; /* Size of object */ LONG lSourceSize; /* Size of source */ } PBORCA_ENTRYINFO, FAR *PPBORCA_ENTRYINFO; /* *********************************************************************** */ /* Structure for PBORCA_ObjectQueryHierarchy callback function. */ /* *********************************************************************** */ typedef struct pborca_hierarchy { LPTSTR lpszAncestorName; /* Pointer to ancestor name */ } PBORCA_HIERARCHY, FAR *PPBORCA_HIERARCHY; /* *********************************************************************** */ /* Prototype for PBORCA_ObjectQueryHierarchy callback function. */ /* *********************************************************************** */ typedef PBCALLBACK(void, *PBORCA_HIERPROC) ( PPBORCA_HIERARCHY, LPVOID ); /* *********************************************************************** */ /* Structure for PBORCA_ObjectQueryReference callback function. */ /* *********************************************************************** */ typedef struct pborca_reference { LPTSTR lpszLibraryName; /* Pointer to library name */ LPTSTR lpszEntryName; /* Pointer to entry name */ PBORCA_TYPE otEntryType; /* Entry type */ PBORCA_REFTYPE otEntryRefType; /* Entry reference type */ } PBORCA_REFERENCE, FAR *PPBORCA_REFERENCE; /* *********************************************************************** */ /* Prototype for PBORCA_ObjectQueryReference callback function. */ /* *********************************************************************** */ typedef PBCALLBACK(void, *PBORCA_REFPROC) ( PPBORCA_REFERENCE, LPVOID ); /* *********************************************************************** */ /* Structure for PBORCA_ListCheckOutEntries callback function. */ /* *********************************************************************** */ typedef struct pborca_checkout { LPTSTR lpszEntryName; /* Pointer to entry name */ LPTSTR lpszLibraryName; /* Pointer to library name */ LPTSTR lpszUserID; /* Pointer to UserID */ /* Mode 's'ource, 'r'egister, */ TCHAR cMode; /* or 'd'estination */ } PBORCA_CHECKOUT, FAR *PPBORCA_CHECKOUT; /* *********************************************************************** */ /* Prototype for PBORCA_ListCheckOutEntries callback function. */ /* *********************************************************************** */ typedef PBCALLBACK(void, *PBORCA_CHECKPROC) ( PPBORCA_CHECKOUT, LPVOID ); /* *********************************************************************** */ /* Macintohs specific function prototypes */ /* *********************************************************************** */ #if defined(macintosh) OSErr InitMacOrca( void ); OSErr ExitMacOrca( void ); #endif /* *********************************************************************** */ /* Session function prototypes */ /* *********************************************************************** */ PBWINAPI_(VOID) PBORCA_SessionClose ( HPBORCA hORCASession ); PBWINAPI_(VOID) PBORCA_SessionGetError ( HPBORCA hORCASession, LPTSTR lpszErrorBuffer, INT iErrorBufferSize ); PBWINAPI_(HPBORCA) PBORCA_SessionOpen ( void ); PBWINAPI_(INT) PBORCA_SessionSetCurrentAppl ( HPBORCA hORCASession, LPTSTR lpszApplLibName, LPTSTR lpszApplName ); PBWINAPI_(INT) PBORCA_SessionSetLibraryList ( HPBORCA hORCASession, LPTSTR FAR *pLibNames, INT iNumberOfLibs ); /* *********************************************************************** */ /* Library management function prototypes */ /* *********************************************************************** */ PBWINAPI_(INT) PBORCA_LibraryCommentModify ( HPBORCA hORCASession, LPTSTR lpszLibName, LPTSTR lpszLibComments ); PBWINAPI_(INT) PBORCA_LibraryCreate ( HPBORCA hORCASession, LPTSTR lpszLibName, LPTSTR lpszLibComments ); PBWINAPI_(INT) PBORCA_LibraryDelete ( HPBORCA hORCASession, LPTSTR lpszLibName ); PBWINAPI_(INT) PBORCA_LibraryDirectory ( HPBORCA hORCASession, LPTSTR lpszLibName, LPTSTR lpszLibComments, INT iCmntsBuffSize, PBORCA_LISTPROC pListProc, LPVOID pUserData ); PBWINAPI_(INT) PBORCA_LibraryEntryCopy ( HPBORCA hORCASession, LPTSTR lpszSourceLibName, LPTSTR lpszDestLibName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType ); PBWINAPI_(INT) PBORCA_LibraryEntryDelete ( HPBORCA hORCASession, LPTSTR lpszLibName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType ); PBWINAPI_(INT) PBORCA_LibraryEntryExport ( HPBORCA hORCASession, LPTSTR lpszLibName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType, LPTSTR lpszExportBuffer, LONG lExportBufferSize ); PBWINAPI_(INT) PBORCA_LibraryEntryInformation ( HPBORCA hORCASession, LPTSTR lpszLibName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType, PPBORCA_ENTRYINFO pEntryInfo ); PBWINAPI_(INT) PBORCA_LibraryEntryMove ( HPBORCA hORCASession, LPTSTR lpszSourceLibName, LPTSTR lpszDestLibName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType ); /* *********************************************************************** */ /* Source management function prototypes */ /* *********************************************************************** */ PBWINAPI_(INT) PBORCA_CheckOutEntry ( HPBORCA hORCASession, LPTSTR lpszEntryName, LPTSTR lpszSourceLibName, LPTSTR lpszDestLibName, LPTSTR lpszUserID, PBORCA_TYPE otEntryType, INT bMakeCopy); PBWINAPI_(INT) PBORCA_CheckInEntry ( HPBORCA hORCASession, LPTSTR lpszEntryName, LPTSTR lpszSourceLibName, LPTSTR lpszDestLibName, LPTSTR lpszUserID, PBORCA_TYPE otEntryType, INT bMoveEntry); PBWINAPI_(INT) PBORCA_ListCheckOutEntries ( HPBORCA hORCASession, LPTSTR lpszLibraryName, PBORCA_CHECKPROC lpCallbackFunction, LPVOID pUserData); /* *********************************************************************** */ /* Compilation function prototypes */ /* *********************************************************************** */ PBWINAPI_(INT) PBORCA_CompileEntryImport ( HPBORCA hORCASession, LPTSTR lpszLibraryName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType, LPTSTR lpszComments, LPTSTR lpszEntrySyntax, LONG lEntrySyntaxBuffSize, PBORCA_ERRPROC pCompErrProc, LPVOID pUserData ); PBWINAPI_(INT) PBORCA_CompileEntryImportList ( HPBORCA hORCASession, LPTSTR far *pLibraryNames, LPTSTR far *pEntryNames, PBORCA_TYPE far *otEntryType, LPTSTR far *pComments, LPTSTR far *pEntrySyntaxBuffers, LONG far *pEntrySyntaxBuffSizes, INT iNumberOfEntries, PBORCA_ERRPROC pCompErrProc, LPVOID pUserData ); PBWINAPI_(INT) PBORCA_CompileEntryRegenerate ( HPBORCA hORCASession, LPTSTR lpszLibraryName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType, PBORCA_ERRPROC pCompErrProc, LPVOID pUserData ); PBWINAPI_(INT) PBORCA_ApplicationRebuild ( HPBORCA hORCASession, PBORCA_REBLD_TYPE eRebldType, PBORCA_ERRPROC pCompErrProc, LPVOID pUserData ); /* *********************************************************************** */ /* Executable construction function prototypes */ /* *********************************************************************** */ PBWINAPI_(INT) PBORCA_ExecutableCreate ( HPBORCA hORCASession, LPTSTR lpszExeName, LPTSTR lpszIconName, LPTSTR lpszPBRName, PBORCA_LNKPROC pLinkErrProc, LPVOID pUserData, INT FAR *iPBDFlags, INT iNumberOfPBDFlags, LONG lFlags ); PBWINAPI_(INT) PBORCA_DynamicLibraryCreate ( HPBORCA hORCASession, LPTSTR lpszLibraryName, LPTSTR lpszPBRName, LONG lFlags ); /* *********************************************************************** */ /* Object query function prototypes */ /* *********************************************************************** */ PBWINAPI_(INT) PBORCA_ObjectQueryHierarchy ( HPBORCA hORCASession, LPTSTR lpszLibraryName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType, PBORCA_HIERPROC pHierarchyProc, LPVOID pUserData ); PBWINAPI_(INT) PBORCA_ObjectQueryReference ( HPBORCA hORCASession, LPTSTR lpszLibraryName, LPTSTR lpszEntryName, PBORCA_TYPE otEntryType, PBORCA_REFPROC pReferenceProc, LPVOID pUserData ); #ifdef __cplusplus } /* End of extern "C" { */ #endif /* __cplusplus */ #endif /* PB_ORCA */