Universal Algorithm Interface
Defines |
| #define | UNIVERSAL_EOK IUNIVERSAL_EOK |
| #define | UNIVERSAL_EFAIL IUNIVERSAL_EFAIL |
| #define | UNIVERSAL_EUNSUPPORTED IUNIVERSAL_EUNSUPPORTED |
| #define | UNIVERSAL_ETIMEOUT VISA_ETIMEOUT |
| #define | UNIVERSAL_FOREVER VISA_FOREVER |
Typedefs |
| typedef VISA_Handle | UNIVERSAL_Handle |
| | Opaque handle to a UNIVERSAL codec.
|
| typedef struct IUNIVERSAL_Params | UNIVERSAL_Params |
| | This structure defines the parameters necessary to create an instance of a "universal" algorithm.
|
| typedef IUNIVERSAL_InArgs | UNIVERSAL_InArgs |
| typedef IUNIVERSAL_OutArgs | UNIVERSAL_OutArgs |
| typedef IUNIVERSAL_Cmd | UNIVERSAL_Cmd |
| typedef IUNIVERSAL_Status | UNIVERSAL_Status |
| typedef IUNIVERSAL_DynamicParams | UNIVERSAL_DynamicParams |
Functions |
| Int32 | UNIVERSAL_control (UNIVERSAL_Handle handle, UNIVERSAL_Cmd id, UNIVERSAL_DynamicParams *params, UNIVERSAL_Status *status) |
| | Execute the control() method in this instance of a "universal" algorithm.
|
| UNIVERSAL_Handle | UNIVERSAL_create (Engine_Handle e, String name, UNIVERSAL_Params *params) |
| | Create an instance of a universal algorithm.
|
| Void | UNIVERSAL_delete (UNIVERSAL_Handle handle) |
| | Delete the instance of a universal algorithm.
|
| Int32 | UNIVERSAL_process (UNIVERSAL_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs, UNIVERSAL_InArgs *inArgs, UNIVERSAL_OutArgs *outArgs) |
| | Execute the process() method in this instance of a universal algorithm.
|
| XDAS_Int32 | UNIVERSAL_processAsync (UNIVERSAL_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs, IUNIVERSAL_InArgs *inArgs, IUNIVERSAL_OutArgs *outArgs) |
| | Perform asynchronous submission to this instance of a universal algorithm.
|
| XDAS_Int32 | UNIVERSAL_processWait (UNIVERSAL_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs, IUNIVERSAL_InArgs *inArgs, IUNIVERSAL_OutArgs *outArgs, UInt timeout) |
| | Wait for a return message from a previous invocation of UNIVERSAL_processAsync() in this instance of a universal algorithm.
|
Detailed Description
This is the "universal" algorithm interface. Several of the data types in this API are specified by the XDM interface; please see the XDM documentation for those details.
Define Documentation
| #define UNIVERSAL_EOK IUNIVERSAL_EOK |
| #define UNIVERSAL_EFAIL IUNIVERSAL_EFAIL |
| #define UNIVERSAL_EUNSUPPORTED IUNIVERSAL_EUNSUPPORTED |
Request is unsupported. Timeout occurred.
| #define UNIVERSAL_ETIMEOUT VISA_ETIMEOUT |
Special value for timeout parameter indicating never timeout.
| #define UNIVERSAL_FOREVER VISA_FOREVER |
Typedef Documentation
Opaque handle to a UNIVERSAL codec.
This structure defines the parameters necessary to create an instance of a "universal" algorithm.
This structure defines the codec parameters that can be modified after creation via control() calls.
- See also:
- IUNIVERSAL_Fxns::control()
Function Documentation
Execute the control() method in this instance of a "universal" algorithm.
- Parameters:
-
| [in] | handle | Handle to a created universal algorithm instance. |
| [in] | id | Command id for XDM control operation. |
| [in] | params | Runtime control parameters used for the universal algorithm instance. |
| [out] | status | Status info returned by the algorithm instance. |
- Precondition:
handle is a valid (non-NULL) universal algorithm handle and the universal algorithm instance is in the created state.
- Return values:
-
- See also:
- UNIVERSAL_create()
-
UNIVERSAL_delete()
-
IUNIVERSAL_Fxns::control()
Create an instance of a universal algorithm.
Instance handles must not be concurrently accessed by multiple threads; each thread must either obtain its own handle (via UNIVERSAL_create()) or explicitly serialize access to a shared handle.
- Parameters:
-
| [in] | e | Handle to an opened engine. |
| [in] | name | String identifier of the type of universal algorithm to create. |
| [in] | params | Creation parameters. |
- Return values:
-
| NULL | An error has occurred. |
| non-NULL | The handle to the newly created universal algorithm instance. |
- See also:
- Engine_open()
-
UNIVERSAL_delete()
Delete the instance of a universal algorithm.
- Parameters:
-
| [in] | handle | Handle to a created universal algorithm instance. |
- Precondition:
handle is a valid (non-NULL) handle which is in the created state.
- Postcondition:
- All resources allocated as part of the UNIVERSAL_create() operation (memory, DMA channels, etc.) are freed.
- See also:
- UNIVERSAL_create()
Execute the process() method in this instance of a universal algorithm.
- Parameters:
-
| [in] | handle | Handle to a created universal algorithm instance. |
| [in] | inBufs | A buffer descriptor containing input buffers. |
| [out] | outBufs | A buffer descriptor containing output buffers. |
| [in,out] | inOutBufs | A buffer descriptor containing in/out buffers. |
| [in] | inArgs | Input Arguments. |
| [out] | outArgs | Output Arguments. |
- Precondition:
handle is a valid (non-NULL) universal algorithm handle and the universal algorithm instance is in the created state.
- Return values:
-
- See also:
- UNIVERSAL_create()
-
UNIVERSAL_delete()
-
UNIVERSAL_control()
-
UNIVERSAL_processAsync()
-
UNIVERSAL_processWait()
-
IUNIVERSAL_Fxns::process()
Perform asynchronous submission to this instance of a universal algorithm.
- Parameters:
-
| [in] | handle | Handle to a created universal algorithm instance. |
| [in] | inBufs | A buffer descriptor containing input buffers. |
| [out] | outBufs | A buffer descriptor containing output buffers. |
| [in,out] | inOutBufs | A buffer descriptor containing in/out buffers. |
| [in] | inArgs | Input Arguments. |
| [out] | outArgs | Output Arguments. |
- Precondition:
handle is a valid (non-NULL) universal algorithm handle and the universal algorithm instance is in the created state.
- Return values:
-
- See also:
- UNIVERSAL_create()
-
UNIVERSAL_delete()
-
UNIVERSAL_control()
-
UNIVERSAL_process()
-
UNIVERSAL_processWait()
-
IUNIVERSAL_Fxns::process()
Wait for a return message from a previous invocation of UNIVERSAL_processAsync() in this instance of a universal algorithm.
- Parameters:
-
| [in] | handle | Handle to a created universal algorithm instance. |
| [in] | inBufs | A buffer descriptor containing input buffers. |
| [out] | outBufs | A buffer descriptor containing output buffers. |
| [in,out] | inOutBufs | A buffer descriptor containing in/out buffers. |
| [in] | inArgs | Input Arguments. |
| [out] | outArgs | Output Arguments. |
| [in] | timeout | Amount of "time" to wait (from 0 -> UNIVERSAL_FOREVER) |
- Precondition:
handle is a valid (non-NULL) universal algorithm handle and the universal algorithm instance is in the created state.
- Return values:
-
- See also:
- UNIVERSAL_create()
-
UNIVERSAL_delete()
-
UNIVERSAL_control()
-
UNIVERSAL_process()
-
UNIVERSAL_processAsync()