/**************************************************************************** * * * Copyright Oracle Corporation 1992, 2004. All Rights Reserved. * * * ****************************************************************************/ /**************************************************************************** * * * Facility: * * * * Oracle CDD Repository * * * * Abstract: * * * * Function prototypes for MCS routines * * * ****************************************************************************/ #ifndef _MCS_PROTOTYPES_H_ #define _MCS_PROTOTYPES_H_ /* * Prepare environment and dictionary */ #define mcs_initiate MCS_initiate extern MCS_STATUS MCS_initiate ( #ifdef __STDC__ MCS_STRING, MCS_ELEMENTID* #endif ); /* * End a dictionary session */ #define mcs_terminate MCS_terminate extern MCS_STATUS MCS_terminate ( #ifdef __STDC__ MCS_ELEMENTID* #endif ); /* * Begin a transaction or sub-transaction */ #define mcs_transaction_initiate MCS_transaction_initiate extern MCS_STATUS MCS_transaction_initiate ( #ifdef __STDC__ MCS_TRANSACTION*, MCS_TRANSACTION*, MCS_BOOLEAN #endif ); /* * Commit or abort a transaction */ #define mcs_transaction_terminate MCS_transaction_terminate extern MCS_STATUS MCS_transaction_terminate ( #ifdef __STDC__ MCS_TRANSACTION*, MCS_BOOLEAN #endif ); /* * Add new property definition to element type */ #define mcs_pdef_add MCS_pdef_add extern MCS_STATUS MCS_pdef_add ( #ifdef __STDC__ #endif ); /* * Remove property definition from element type */ #define mcs_pdef_remove MCS_pdef_remove extern MCS_STATUS MCS_pdef_remove ( #ifdef __STDC__ #endif ); /* * Start a new session */ #define mcs_session_initiate MCS_session_initiate extern MCS_STATUS MCS_session_initiate ( #ifdef __STDC__ MCS_SESSION* #endif ); /* * Free memory associated with session */ #define mcs_session_terminate MCS_session_terminate extern MCS_STATUS MCS_session_terminate ( #ifdef __STDC__ MCS_SESSION* #endif ); /* * Start a session transaction */ #define mcs_session_transaction_init MCS_session_transaction_init extern MCS_STATUS MCS_session_transaction_init ( #ifdef __STDC__ MCS_TRANSACTION*, MCS_TRANSACTION*, MCS_SESSION*, MCS_BOOLEAN #endif ); /* * Commit or abort a session transaction */ #define mcs_session_transaction_term MCS_session_transaction_term extern MCS_STATUS MCS_session_transaction_term ( #ifdef __STDC__ MCS_TRANSACTION*, MCS_BOOLEAN #endif ); /* * Access a database */ #define mcs_initiate_database MCS_initiate_database extern MCS_STATUS MCS_initiate_database ( #ifdef __STDC__ MCS_STRING, MCS_SESSION*, MCS_ELEMENTID* #endif ); /* * Remove entry from error stack */ #define mcs_errorstack_clear MCS_errorstack_clear extern MCS_STATUS MCS_errorstack_clear ( #ifdef __STDC__ MCS_LONGINT #endif ); /* * Remove all entries from errorstack */ #define mcs_errorstack_clearall MCS_errorstack_clearAll extern MCS_STATUS MCS_errorstack_clearAll ( #ifdef __STDC__ #endif ); /* * Format message from error stack */ #define mcs_errorstack_format MCS_errorstack_format extern MCS_STATUS MCS_errorstack_format ( #ifdef __STDC__ MCS_LONGINT, MCS_STRING* #endif ); /* * Get number of entries on error stack */ #define mcs_errorstack_getcurrentsize MCS_errorstack_getCurrentSize extern MCS_STATUS MCS_errorstack_getCurrentSize ( #ifdef __STDC__ MCS_LONGINT* #endif ); /* * Get stack's maximum number of entries */ #define mcs_errorstack_getmaxsize MCS_errorstack_getMaxSize extern MCS_STATUS MCS_errorstack_getMaxSize ( #ifdef __STDC__ MCS_LONGINT* #endif ); /* * Get status code for error stack entry */ #define mcs_errorstack_getstatus MCS_errorstack_getStatus extern MCS_STATUS MCS_errorstack_getStatus ( #ifdef __STDC__ MCS_LONGINT, MCS_STATUS* #endif ); /* * Push new entry onto error stack */ #define mcs_errorstack_set MCS_errorstack_set extern MCS_STATUS MCS_errorstack_set ( #ifdef __STDC__ MCS_STATUS, MCS_LONGINT, MCS_VALUE* #endif ); /* * Set maximum number of stack entries */ #define mcs_errorstack_setmaxsize MCS_errorstack_setMaxSize extern MCS_STATUS MCS_errorstack_setMaxSize ( #ifdef __STDC__ MCS_LONGINT #endif ); /* * Free non-shared dynamically allocated items on list. */ #define mcs_list_free MCS_list_free extern MCS_STATUS MCS_list_free ( #ifdef __STDC__ MCS_VALUE* #endif ); /* * Get a member of a list, given an index */ #define mcs_list_get MCS_list_get extern MCS_STATUS MCS_list_get ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT, MCS_VALUE* #endif ); /* * Get the number of members of a list */ #define mcs_list_getsize MCS_list_getSize extern MCS_STATUS MCS_list_getSize ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT* #endif ); /* * Add a new member to a list */ #define mcs_list_insert MCS_list_insert extern MCS_STATUS MCS_list_insert ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT, MCS_VALUE* #endif ); /* * Create a list */ #define mcs_list_new MCS_list_new extern MCS_STATUS MCS_list_new ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT, MCS_LONGINT #endif ); /* * Remove a new member from a list */ #define mcs_list_remove MCS_list_remove extern MCS_STATUS MCS_list_remove ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT #endif ); /* * Set the value of an indexed member on a list */ #define mcs_list_set MCS_list_set extern MCS_STATUS MCS_list_set ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT, MCS_VALUE* #endif ); /* * Compare two values of a given datatype */ #define mcs_datatype_compare MCS_datatype_compare extern MCS_STATUS MCS_datatype_compare ( #ifdef __STDC__ MCS_VALUE*, MCS_VALUE*, MCS_LONGINT* #endif ); /* * Make a copy of a value struct */ #define mcs_datatype_copy MCS_datatype_copy extern MCS_STATUS MCS_datatype_copy ( #ifdef __STDC__ MCS_VALUE*, MCS_VALUE* #endif ); /* * Get the element id for the type of data stored in a value struct */ #define mcs_datatype_datatype MCS_datatype_datatype extern MCS_STATUS MCS_datatype_datatype ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING* #endif ); /* * Free any memory associated with the value. */ #define mcs_datatype_free MCS_datatype_free extern MCS_STATUS MCS_datatype_free ( #ifdef __STDC__ MCS_VALUE* #endif ); /* * Get the length of the data in the value struct */ #define mcs_datatype_length MCS_datatype_length extern MCS_STATUS MCS_datatype_length ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT*, MCS_STRING #endif ); /* * Initialize fields of value struct */ #define mcs_datatype_new MCS_datatype_new extern MCS_STATUS MCS_datatype_new ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING, MCS_DATATYPE*, MCS_BOOLEAN #endif ); /* * Get value into format useful to client */ #define mcs_datatype_read MCS_datatype_read extern MCS_STATUS MCS_datatype_read ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING, MCS_DATATYPE* #endif ); /* * Close a repository */ #define mcs_db_close MCS_db_close extern MCS_STATUS MCS_db_close ( #ifdef __STDC__ MCS_SESSION*, MCS_STRING #endif ); /* * Delete a repository */ #define mcs_db_free MCS_db_free extern MCS_STATUS MCS_db_free ( #ifdef __STDC__ MCS_SESSION*, MCS_STRING #endif ); /* * Create a repository */ #define mcs_db_new MCS_db_new extern MCS_STATUS MCS_db_new ( #ifdef __STDC__ MCS_SESSION*, MCS_STRING, MCS_STRING #endif ); /* * Get an element, given name and type */ #define mcs_element_getbyname MCS_element_getByName extern MCS_STATUS MCS_element_getByName ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING, MCS_ELEMENTID* #endif ); /* * Get the name of an element */ #define mcs_element_getname MCS_element_getName extern MCS_STATUS MCS_element_getName ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING* #endif ); /* * Get list of subtypes of element */ #define mcs_element_getsubtypelist MCS_element_getSubTypeList extern MCS_STATUS MCS_element_getSubTypeList ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_VALUE* #endif ); /* * Get list of supertypes of element */ #define mcs_element_getsupertypelist MCS_element_getSuperTypeList extern MCS_STATUS MCS_element_getSuperTypeList ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_VALUE* #endif ); /* * Get the type of an element */ #define mcs_element_gettype MCS_element_getType extern MCS_STATUS MCS_element_getType ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Copy one elmID to another */ #define mcs_elmid_copy MCS_elmid_copy extern MCS_STATUS MCS_elmid_copy ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Given an elmID, return the current context */ #define mcs_elmid_getcontext MCS_elmid_getContext extern MCS_STATUS MCS_elmid_getContext ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Given an elmID, return the current persistent process */ #define mcs_elmid_getpersistentprocess MCS_elmid_getPersistentProcess extern MCS_STATUS MCS_elmid_getPersistentProcess ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Given an elmID, return the current session */ #define mcs_elmid_getsession MCS_elmid_getSession extern MCS_STATUS MCS_elmid_getSession ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_SESSION* #endif ); /* * Return true if two element ids are equal */ #define mcs_elmid_equal MCS_elmid_equal extern MCS_STATUS MCS_elmid_equal ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID*, MCS_BOOLEAN* #endif ); /* * Is element identity null */ #define mcs_elmid_isnull MCS_elmid_isNull extern MCS_STATUS MCS_elmid_isNull ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_BOOLEAN* #endif ); /* * Is one element a subtype of the other */ #define mcs_elmid_issubtype MCS_elmid_isSubtype extern MCS_STATUS MCS_elmid_isSubtype ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID*, MCS_BOOLEAN* #endif ); /* * Given an elmID, return the persistent elmID */ #define mcs_elmid_export_persistent MCS_elmid_export_persistent extern MCS_STATUS MCS_elmid_export_persistent ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_VALUE* #endif ); /* * Adds a persistent elmID to the specified session or the current session */ #define mcs_elmid_import_persistent MCS_elmid_import_persistent extern MCS_STATUS MCS_elmid_import_persistent ( #ifdef __STDC__ MCS_VALUE*, MCS_SESSION*, MCS_ELEMENTID* #endif ); /* * Perform journalled file copy */ #define mcs_fileop_copy MCS_fileop_copy extern MCS_STATUS MCS_fileop_copy ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING, MCS_STRING #endif ); /* * Perform journalled file deletion */ #define mcs_fileop_delete MCS_fileop_delete extern MCS_STATUS MCS_fileop_delete ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING #endif ); /* * Write file creation journal record */ #define mcs_fileop_journal_create MCS_fileop_journal_create extern MCS_STATUS MCS_fileop_journal_create ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING #endif ); /* * Write file modification journal record */ #define mcs_fileop_journal_modify MCS_fileop_journal_modify extern MCS_STATUS MCS_fileop_journal_modify ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING #endif ); /* * Perform a journalled directory creation */ #define mcs_fileop_mkdir MCS_fileop_mkdir extern MCS_STATUS MCS_fileop_mkdir ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING #endif ); /* * Perform a journalled file rename */ #define mcs_fileop_rename MCS_fileop_rename extern MCS_STATUS MCS_fileop_rename ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING, MCS_STRING #endif ); /* * Perform a journalled directory deletion */ #define mcs_fileop_rmdir MCS_fileop_rmdir extern MCS_STATUS MCS_fileop_rmdir ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING #endif ); /* * Perform a journalled file system link removal */ #define mcs_fileop_rmlink MCS_fileop_rmlink extern MCS_STATUS MCS_fileop_rmlink ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING #endif ); /* * Perform a journalled file system link creation */ #define mcs_fileop_symlink MCS_fileop_symlink extern MCS_STATUS MCS_fileop_symlink ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING, MCS_STRING #endif ); /* * Remove journal entry for file creation. */ #define mcs_fileop_unjournal_create MCS_fileop_unjournal_create extern MCS_STATUS MCS_fileop_unjournal_create ( #ifdef __STDC__ MCS_ELEMENTID* #endif ); /* * Get scan based on name and type */ #define mcs_scan_dir MCS_scan_dir extern MCS_STATUS MCS_scan_dir ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING, MCS_ELEMENTID* #endif ); /* * Free a scan */ #define mcs_scan_free MCS_scan_free extern MCS_STATUS MCS_scan_free ( #ifdef __STDC__ MCS_VALUE* #endif ); /* * Find element with given name in scan */ #define mcs_scan_getbyname MCS_scan_getByName extern MCS_STATUS MCS_scan_getByName ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING, MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Get the current element in the scan */ #define mcs_scan_getcurrent MCS_scan_getCurrent extern MCS_STATUS MCS_scan_getCurrent ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Get the first element in the scan */ #define mcs_scan_getfirst MCS_scan_getFirst extern MCS_STATUS MCS_scan_getFirst ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Get the next element in the scan */ #define mcs_scan_getnext MCS_scan_getNext extern MCS_STATUS MCS_scan_getNext ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Insert an element into the scan */ #define mcs_scan_insert MCS_scan_insert extern MCS_STATUS MCS_scan_insert ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID* #endif ); /* * Insert an element into the scan */ #define mcs_scan_insert_with_args MCS_scan_insert_with_args extern MCS_STATUS MCS_scan_insert_with_args ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_VALUE* #endif ); /* * Create a new scan */ #define mcs_scan_new MCS_scan_new extern MCS_STATUS MCS_scan_new ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_STATUS (*compRtn) (MCS_ELEMENTID*, void*, MCS_ELEMENTID*, MCS_ELEMENTID*, MCS_SMALLINT* ), MCS_STRING, MCS_ELEMENTID*, void* #endif ); /* * Remove an element from the scan */ #define mcs_scan_remove MCS_scan_remove extern MCS_STATUS MCS_scan_remove ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_ELEMENTID* #endif ); /* * Reset a scan so that it is set at the beginning */ #define mcs_scan_reset MCS_scan_reset extern MCS_STATUS MCS_scan_reset ( #ifdef __STDC__ MCS_VALUE* #endif ); /* * Create a scan based on a query expression */ #define mcs_scan_query MCS_scan_query extern MCS_STATUS MCS_scan_query ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_STRING #endif ); /* * Initialize new argument and append to list */ #define mcs_arglist_addarg MCS_arglist_addArg extern MCS_STATUS MCS_arglist_addArg ( #ifdef __STDC__ MCS_STRING, MCS_VALUE*, MCS_STATUS, MCS_VALUE* #endif ); /* * Get information from named argument */ #define mcs_arglist_findarg MCS_arglist_findArg extern MCS_STATUS MCS_arglist_findArg ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING, MCS_VALUE*, MCS_STATUS*, MCS_LONGINT* #endif ); /* * Get information from indexed argument */ #define mcs_arglist_getarg MCS_arglist_getArg extern MCS_STATUS MCS_arglist_getArg ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT, MCS_VALUE*, MCS_STATUS*, MCS_STRING* #endif ); /* * Set information in indexed argument */ #define mcs_arglist_setindexvalue MCS_arglist_setIndexValue extern MCS_STATUS MCS_arglist_setIndexValue ( #ifdef __STDC__ MCS_VALUE*, MCS_LONGINT, MCS_VALUE*, MCS_STATUS #endif ); /* * Set information in named argument */ #define mcs_arglist_setnamevalue MCS_arglist_setNameValue extern MCS_STATUS MCS_arglist_setNameValue ( #ifdef __STDC__ MCS_VALUE*, MCS_STRING, MCS_VALUE*, MCS_STATUS #endif ); /* * Dispatch message to listed elements */ #define mcs_dispatch_op MCS_dispatch_op extern MCS_STATUS MCS_dispatch_op ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_STRING, MCS_VALUE* #endif ); /* * Dispatch message to supertype of listed elements */ #define mcs_dispatch_superop MCS_dispatch_superOp extern MCS_STATUS MCS_dispatch_superOp ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_ELEMENTID*, MCS_STRING, MCS_VALUE* #endif ); /* * Set default directory for MCS session */ #define mcs_set_default MCS_set_default extern MCS_STATUS MCS_set_default ( #ifdef __STDC__ MCS_STRING, MCS_SESSION* #endif ); /* * Get notices sent to specified element */ #define mcs_check_notices MCS_check_notices extern MCS_STATUS MCS_check_notices ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_VALUE* #endif ); /* * Clear notices from a set of elements */ #define mcs_clear_notices MCS_clear_notices extern MCS_STATUS MCS_clear_notices ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_LONGINT, MCS_VALUE* #endif ); /* * Send notice to specified element */ #define mcs_force_notices MCS_force_notices extern MCS_STATUS MCS_force_notices ( #ifdef __STDC__ MCS_ELEMENTID*, MCS_LONGINT #endif ); /* * Reads a notice datatype */ #define mcs_read_notice MCS_read_notice extern MCS_STATUS MCS_read_notice ( #ifdef __STDC__ MCS_VALUE*, MCS_ELEMENTID*, MCS_LONGINT* #endif ); #endif /* ifndef _MCS_PROTOTYPES_H_ */