⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ixatmm.h

📁 OMAP2530 uboot source code
💻 H
📖 第 1 页 / 共 2 页
字号:
 *          component is evaluating VC access requests for the port. * * @param rxPortRate unsigned [in] - Value specifies the *          receive port rate for this port in *          bits/second. * * @return @li IX_SUCCESS : The indicated ATM port rates have been *      successfully modified. * * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the *       input is not valid.  The request is rejected. * * @return @li IX_FAIL : IxAtmm could not update the port because the *       inputs are not understood, or the interface was called before * the port was initialized.  */PUBLIC IX_STATUSixAtmmPortModify (IxAtmLogicalPort port,		  unsigned txPortRate,		  unsigned rxPortRate);/**     * @ingroup IxAtmm *  * @fn ixAtmmPortQuery (IxAtmLogicalPort port,		 unsigned *txPortRate,		 unsigned *rxPortRate); * * @brief The client may call this interface to request details on *          currently registered transmit and receive rates for an ATM *          port. * * @param port @ref IxAtmLogicalPort [in] - Value identifies the port from which the *          rate details are requested. * * @param *txPortRate unsigned [out] - Pointer to a value *          which will be filled with the value of the transmit port *          rate specified in bits/second. * * @param *rxPortRate unsigned [out] - Pointer to a value *          which will be filled with the value of the receive port *          rate specified in bits/second. * * @return @li IX_SUCCESS : The information requested on the specified *       port has been successfully supplied in the output. * * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the *       input is not valid.  The request is rejected. * * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was *       NULL. * * @return @li IX_FAIL : IxAtmm could not update the port because the *       inputs are not understood, or the interface was called before *       the port was initialized.  */PUBLIC IX_STATUSixAtmmPortQuery (IxAtmLogicalPort port,		 unsigned *txPortRate,		 unsigned *rxPortRate);/**     * @ingroup IxAtmm *  * @fn ixAtmmPortEnable(IxAtmLogicalPort port) * * @brief The client call this interface to enable transmit for an ATM *          port. At initialisation, all the ports are disabled. * * @param port @ref IxAtmLogicalPort [in] - Value identifies the port * * @return @li IX_SUCCESS : Transmission over this port is started. * * @return @li IX_FAIL : The port parameter is not valid, or the *       port is already enabled * * @note - When a port is disabled, Rx and Tx VC Connect requests will fail * * @note - This function uses system resources and should not be used *        inside an interrupt context. * * @sa ixAtmmPortDisable  */PUBLIC IX_STATUSixAtmmPortEnable(IxAtmLogicalPort port);/**     * @ingroup IxAtmm *  * @fn ixAtmmPortDisable(IxAtmLogicalPort port) * * @brief The client call this interface to disable transmit for an ATM *          port. At initialisation, all the ports are disabled. * * @param port @ref IxAtmLogicalPort [in] - Value identifies the port * * @return @li IX_SUCCESS : Transmission over this port is stopped. * * @return @li IX_FAIL : The port parameter is not valid, or the *       port is already disabled * * @note - When a port is disabled, Rx and Tx VC Connect requests will fail * * @note - This function call does not stop RX traffic. It is supposed *        that this function is invoked when a serious problem *        is detected (e.g. physical layer broken). Then, the RX traffic *        is not passing. * * @note - This function is blocking until the hw acknowledge that the *        transmission is stopped. * * @note - This function uses system resources and should not be used *        inside an interrupt context. * * @sa ixAtmmPortEnable  */PUBLIC IX_STATUSixAtmmPortDisable(IxAtmLogicalPort port);/**     * @ingroup IxAtmm *  * @fn ixAtmmVcRegister (IxAtmLogicalPort port,		  IxAtmmVc *vcToAdd,		  IxAtmSchedulerVcId *vcId) * * @brief This interface is used to register an ATM Virtual *         Connection on the specified ATM port. * *  Each call to this interface registers a unidirectional virtual *  connection with the parameters specified.  If a bi-directional VC *  is needed, the function should be called twice (once for each *  direction, Tx & Rx) where the VPI and VCI and port parameters in *  each call are identical. * *  With the addition of each new VC to a port, a series of *  callback functions are invoked by the IxAtmm component to notify *  possible external components of the change.  The callback functions *  are registered using the @ref ixAtmmVcChangeCallbackRegister interface. * *  The IxAtmSch component is notified of the registration of transmit *  VCs. * * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the specified VC is *          to be registered. * * @param *vcToAdd @ref IxAtmmVc [in] -  Pointer to an @ref IxAtmmVc structure *          containing a description of the VC to be registered. The *          client shall fill the vpi, vci and direction and relevant *          trafficDesc members of this structure before calling this *          function. * * @param *vcId @ref IxAtmSchedulerVcId [out] - Pointer to an integer value which is filled *              with the per-port unique identifier value for this VC. *              This identifier will be required when a request is *              made to deregister or change this VC.  VC identifiers *              for transmit VCs will have a value between 0-43, *              i.e. 32 data Tx VCs + 12 OAM Tx Port VCs. *              Receive VCs will have a value between 44-66, *              i.e. 32 data Rx VCs + 1 OAM Rx VC. * * @return @li IX_SUCCESS : The VC has been successfully registered on *       this port. The VC is ready for a client to configure IxAtmdAcc *       for receive and transmit operations on the VC. * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the *       input is not valid or has not been initialized.  The request *       is rejected. * @return @li IX_ATMM_RET_INVALID_VC_DESCRIPTOR : The descriptor *       pointed to by vcToAdd is invalid.  The registration request *       is rejected. * @return @li IX_ATMM_RET_VC_CONFLICT : The VC requested conflicts with *      reserved VPI and/or VCI values or with another VC already activated *      on this port. * @return @li IX_ATMM_RET_PORT_CAPACITY_IS_FULL : The VC cannot be *       registered in the port becuase the port capacity is *       insufficient to support the requested ATM traffic contract. *       The registration request is rejected. * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was *       NULL. * * @warning IxAtmm has no capability of signaling or negotiating a virtual *          connection. Negotiation of the admission of the VC to the network *          is beyond the scope of this function.  This is assumed to be *          performed by the calling client, if appropriate, *          before or after this function is called. */PUBLIC IX_STATUSixAtmmVcRegister (IxAtmLogicalPort port,		  IxAtmmVc *vcToAdd,		  IxAtmSchedulerVcId *vcId);/**     * @ingroup IxAtmm *  * @fn ixAtmmVcDeregister (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId) * * @brief Function called by a client to deregister a VC from the *         system. * *  With the removal of each new VC from a port, a series of *  registered callback functions are invoked by the IxAtmm component *  to notify possible external components of the change.  The callback *  functions are registered using the @ref ixAtmmVcChangeCallbackRegister. * *  The IxAtmSch component is notified of the removal of transmit VCs. * * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the VC to be *          removed is currently registered. * * @param vcId @ref IxAtmSchedulerVcId [in] - VC identifier value of the VC to *          be deregistered.  This value was supplied to the client when            the VC was originally registered.  This value can also be	    queried from the IxAtmm component through the @ref ixAtmmVcQuery *          interface. * * @return @li IX_SUCCESS : The specified VC has been successfully *       removed from this port. * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the *       input is not valid or has not been initialized.  The request *       is rejected. * @return @li IX_FAIL : There is no registered VC associated with the *       supplied identifier registered on this port. */PUBLIC IX_STATUSixAtmmVcDeregister (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId);/**     * @ingroup IxAtmm *  * @fn ixAtmmVcQuery (IxAtmLogicalPort port,	       unsigned vpi,	       unsigned vci,	       IxAtmmVcDirection direction,	       IxAtmSchedulerVcId *vcId,	       IxAtmmVc *vcDesc) * * @brief This interface supplies information about an active VC on a *         particular port when supplied with the VPI, VCI and *         direction of that VC. * * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the VC to be *          queried is currently registered. * * @param vpi unsigned [in] - ATM VPI value of the requested VC. * * @param vci unsigned [in] - ATM VCI value of the requested VC. * * @param direction @ref IxAtmmVcDirection [in] - One of @ref *          IX_ATMM_VC_DIRECTION_TX or @ref IX_ATMM_VC_DIRECTION_RX *          indicating the direction (Tx or Rx) of the requested VC. * * @param *vcId @ref IxAtmSchedulerVcId [out] - Pointer to an integer value which will be *              filled with the VC identifier value for the requested *              VC (as returned by @ref ixAtmmVcRegister), if it *              exists on this port. * * @param *vcDesc @ref IxAtmmVc [out] - Pointer to an @ref IxAtmmVc structure *              which will be filled with the specific details of the *              requested VC, if it exists on this port. * * @return @li IX_SUCCESS : The specified VC has been found on this port *       and the requested details have been returned. * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the *       input is not valid or has not been initialized.  The request *       is rejected. * @return @li IX_ATMM_RET_NO_SUCH_VC : No VC exists on the specified *       port which matches the search criteria (VPI, VCI, direction) *       given.  No data is returned. * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was *       NULL. * */PUBLIC IX_STATUSixAtmmVcQuery (IxAtmLogicalPort port,	       unsigned vpi,	       unsigned vci,	       IxAtmmVcDirection direction,	       IxAtmSchedulerVcId *vcId,	       IxAtmmVc *vcDesc);/**     * @ingroup IxAtmm *  * @fn ixAtmmVcIdQuery (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId, IxAtmmVc *vcDesc) * * @brief This interface supplies information about an active VC on a *         particular port when supplied with a vcId for that VC. * * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the VC to be *          queried is currently registered. * * @param vcId @ref IxAtmSchedulerVcId [in] - Value returned by @ref ixAtmmVcRegister which *          uniquely identifies the requested VC on this port. * * @param *vcDesc @ref IxAtmmVc [out] - Pointer to an @ref IxAtmmVc structure *              which will be filled with the specific details of the *              requested VC, if it exists on this port. * * @return @li IX_SUCCESS : The specified VC has been found on this port *       and the requested details have been returned. * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the *       input is not valid or has not been initialized.  The request *       is rejected. * @return @li IX_ATMM_RET_NO_SUCH_VC : No VC exists on the specified *       port which matches the supplied identifier.  No data is *       returned. * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was *       NULL. */PUBLIC IX_STATUSixAtmmVcIdQuery (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId, IxAtmmVc *vcDesc);/**     * @ingroup IxAtmm *  * @fn ixAtmmVcChangeCallbackRegister (IxAtmmVcChangeCallback callback) * * @brief This interface is invoked to supply a function to IxAtmm *         which will be called to notify the client if a new VC is *         registered with IxAtmm or an existing VC is removed. * * The callback, when invoked, will run within the context of the call * to @ref ixAtmmVcRegister or @ref ixAtmmVcDeregister which caused * the change of state. * * A maximum of 32 calbacks may be registered in with IxAtmm. * * @param callback @ref IxAtmmVcChangeCallback [in] - Callback which complies *          with the @ref IxAtmmVcChangeCallback definition.  This *          function will be invoked by IxAtmm with the appropiate *          parameters for the relevant VC when any VC has been *          registered or deregistered with IxAtmm. * * @return @li IX_SUCCESS : The specified callback has been registered *      successfully with IxAtmm and will be invoked when appropriate. * @return @li IX_FAIL : Either the supplied callback is invalid, or *      IxAtmm has already registered 32 and connot accommodate *      any further registrations of this type.  The request is *      rejected. * * @warning The client must not call either the @ref *          ixAtmmVcRegister or @ref ixAtmmVcDeregister interfaces *          from within the supplied callback function.  */PUBLIC IX_STATUS ixAtmmVcChangeCallbackRegister (IxAtmmVcChangeCallback callback);/**     * @ingroup IxAtmm *  * @fn ixAtmmVcChangeCallbackDeregister (IxAtmmVcChangeCallback callback) * * @brief This interface is invoked to deregister a previously supplied *         callback function. * * @param callback @ref IxAtmmVcChangeCallback [in] - Callback which complies *          with the @ref IxAtmmVcChangeCallback definition.  This *          function will removed from the table of callbacks. * * @return @li IX_SUCCESS : The specified callback has been deregistered *      successfully from IxAtmm. * @return @li IX_FAIL : Either the supplied callback is invalid, or *      is not currently registered with IxAtmm. */PUBLIC IX_STATUSixAtmmVcChangeCallbackDeregister (IxAtmmVcChangeCallback callback);/**     * @ingroup IxAtmm *  * @fn ixAtmmUtopiaStatusShow (void) *  *  @brief Display utopia status counters * * @param "none" * * @return @li IX_SUCCESS : Show function was successful * @return @li IX_FAIL : Internal failure */PUBLIC IX_STATUSixAtmmUtopiaStatusShow (void);/**      * @ingroup IxAtmm *  * @fn ixAtmmUtopiaCfgShow (void) * * @brief Display utopia information(config registers and status registers) * * @param "none" * * @return @li IX_SUCCESS : Show function was successful * @return @li IX_FAIL : Internal failure */PUBLIC IX_STATUSixAtmmUtopiaCfgShow (void);#endif/* IXATMM_H *//** @} */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -