Files @ d0a14f973771
Branch filter:

Location: vmkdrivers/BLD/build/HEADERS/vmkapi-current-all-public/vmkernel64/release/base/vmkapi_module_incompat.h - annotation

unknown
ESXi-5.0-U1
/* **********************************************************
 * Copyright 1998 - 2009 VMware, Inc.  All rights reserved.
 * **********************************************************/

/*
 * @VMKAPIMOD_LICENSE@
 */

/*
 ***********************************************************************
 * Module (incompatible)                                          */ /**
 * \addtogroup Module
 *
 * @{
 ***********************************************************************
 */

#ifndef _VMKAPI_MODULE_INCOMPAT_H_
#define _VMKAPI_MODULE_INCOMPAT_H_

/** \cond never */
#ifndef VMK_HEADER_INCLUDED_FROM_VMKAPI_H
#error This vmkapi file should never be included directly but only via vmkapi.h
#endif
/** \endcond never */

/*
 ***********************************************************************
 * VMK_MODULE_EXPORT_SYMBOL_DIRECT --                             */ /**
 *
 * \ingroup Module
 * \brief Mark a symbol as exported only for direct calls
 *
 * Mark the given symbol as exported, and hence available for other
 * modules to find/call.  This differs from VMK_MODULE_EXPORT_SYMBOL
 * in that the exported symbol will never be called through a
 * trampoline; all calls will be "direct".  Note that exported
 * symbols are not called through trampolines by default, so this is
 * only necessary if you know callers may use trampolines and you want
 * to prevent it.  See below for more information.
 *
 * \param[in] __symname    The symbol to export.
 *
 ***********************************************************************
 */
#define VMK_MODULE_EXPORT_SYMBOL_DIRECT(__symname)      \
   __VMK_MODULE_EXPORT_SYMBOL_DIRECT(__symname)


/*
 ***********************************************************************
 * vmk_ModuleLoad --                                              */ /**
 *
 * \ingroup Module
 * \brief Load a vmkernel module.
 *
 * \note This is a blocking call.
 *
 * \pre The caller should not hold any spinlock.
 *
 * \param[in]  module      Module name to load.
 * \param[out] moduleID    Module ID if module loaded successfully
 *
 * \retval VMK_OK          Module loaded without error or is already
 *                         loaded.
 * \retval VMK_FAILURE     Module could not be loaded.
 * \retval VMK_TIMEOUT     Module could not be loaded.
 * \retval VMK_NO_MEMORY   Module could not be loaded out of memory.
 * 
 ***********************************************************************
 */

VMK_ReturnStatus vmk_ModuleLoad(const char *module, vmk_ModuleID *moduleID);


#endif /* _VMKAPI_MODULE_INCOMPAT_H_ */
/** @} */