Software Library API naibrd 1.62
See all documentation at naii.docs.com
Interrupt Functions

Functions

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptEnable (int32_t cardIndex, int32_t module, int32_t channel, nai_ad_status_type_t type, bool_t enable)
 Sets the A/D BIT or Open Status Interrupt Enable state for the specified A/D channel. BIT Status and Open Status is part of the background testing. When the interrupt is enabled, a non-compliant channel will trigger an interrupt. By default, interrupts are disabled.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptEnable (int32_t cardIndex, int32_t module, int32_t channel, nai_ad_status_type_t type, bool_t *p_outenable)
 Retrieves the A/D BIT or Open Status Interrupt Enable state for the specified A/D channel. BIT Status and Open Status is part of the background testing. When the interrupt is enabled, a non-compliant channel will trigger an interrupt. By default, interrupts are disabled.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptVector (int32_t cardIndex, int32_t module, nai_ad_status_type_t type, uint32_t vector)
 Sets the A/D BIT or Open Status Interrupt Vector for the specified A/D module.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptVector (int32_t cardIndex, int32_t module, nai_ad_status_type_t type, uint32_t *p_outvector)
 Retrieves the A/D BIT or Open Status Interrupt Vector for the specified A/D module.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptEdgeLevel (int32_t cardIndex, int32_t module, int32_t channel, nai_ad_status_type_t type, nai_ad_edgelevel_t edgelevel)
 Sets the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptEdgeLevel (int32_t cardIndex, int32_t module, int32_t channel, nai_ad_status_type_t type, nai_ad_edgelevel_t *p_outedgelevel)
 Retrieves the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptSteering (int32_t cardIndex, int32_t module, nai_ad_status_type_t type, naibrd_int_steering_t steering)
 Sets the Interrupt Steering which indicates the interrupt direction for the specified channel.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptSteering (int32_t cardIndex, int32_t module, nai_ad_status_type_t type, naibrd_int_steering_t *p_outsteering)
 Retrieves the Interrupt Steering which indicates the interrupt direction for the specified channel.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptVector (int32_t cardIndex, int32_t module, int32_t channel, uint16_t vector)
 NOTE: It is recomended that naibrd_AD_SetFIFOInterruptVector32() is used instead of this API. Sets the Interrupt Vector for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptVector32 (int32_t cardIndex, int32_t module, int32_t channel, uint32_t vector32)
 Sets the Interrupt Vector for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptVector (int32_t cardIndex, int32_t module, int32_t channel, uint16_t *p_outvector)
 NOTE: It is recomended that naibrd_AD_GetFIFOInterruptVector32() is used instead of this API. Retrieves the Interrupt Vector for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptVector32 (int32_t cardIndex, int32_t module, int32_t channel, uint32_t *p_outvector32)
 Retrieves the Interrupt Vector for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptEdgeLevel (int32_t cardIndex, int32_t module, int32_t channel, nai_ad_fifo_status_t edgelevelmask)
 Sets the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptEdgeLevel (int32_t cardIndex, int32_t module, int32_t channel, nai_ad_fifo_status_t *p_outedgelevelmask)
 Retrieves the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptSteering (int32_t cardIndex, int32_t module, int32_t channel, naibrd_int_steering_t steering)
 Sets the Interrupt Steering which indicates the interrupt direction for the specified channel.
 
NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptSteering (int32_t cardIndex, int32_t module, int32_t channel, naibrd_int_steering_t *p_outsteering)
 Retrieves the Interrupt Steering which indicates the interrupt direction for the specified channel.
 

Detailed Description


Function Documentation

◆ naibrd_AD_GetFIFOInterruptEdgeLevel()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptEdgeLevel ( int32_t cardIndex,
int32_t module,
int32_t channel,
nai_ad_fifo_status_t * p_outedgelevelmask )

Retrieves the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
p_outedgelevelmask: (Output) channel bit mapped mask of edge(0) or level(1) triggered interrupts.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetFIFOInterruptSteering()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptSteering ( int32_t cardIndex,
int32_t module,
int32_t channel,
naibrd_int_steering_t * p_outsteering )

Retrieves the Interrupt Steering which indicates the interrupt direction for the specified channel.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
p_outsteering: (Output) Interrupt Steering: refer to naibrd_int_steering_t definition.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetFIFOInterruptVector()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptVector ( int32_t cardIndex,
int32_t module,
int32_t channel,
uint16_t * p_outvector )

NOTE: It is recomended that naibrd_AD_GetFIFOInterruptVector32() is used instead of this API. Retrieves the Interrupt Vector for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
p_outvector: (Output) Interrupt Vector.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetFIFOInterruptVector32()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetFIFOInterruptVector32 ( int32_t cardIndex,
int32_t module,
int32_t channel,
uint32_t * p_outvector32 )

Retrieves the Interrupt Vector for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
p_outvector32: (Output) Interrupt Vector.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetInterruptEdgeLevel()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptEdgeLevel ( int32_t cardIndex,
int32_t module,
int32_t channel,
nai_ad_status_type_t type,
nai_ad_edgelevel_t * p_outedgelevel )

Retrieves the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
type: (Input) nai_ad_status_type_t of the interrupt to access.
p_outedgelevel: (Output) edge(0) or level(1) triggered interrupts.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetInterruptEnable()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptEnable ( int32_t cardIndex,
int32_t module,
int32_t channel,
nai_ad_status_type_t type,
bool_t * p_outenable )

Retrieves the A/D BIT or Open Status Interrupt Enable state for the specified A/D channel. BIT Status and Open Status is part of the background testing. When the interrupt is enabled, a non-compliant channel will trigger an interrupt. By default, interrupts are disabled.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
type: (Input) Status Type: refer to nai_ad_status_type_t definition.
p_outenable: (Output) 0 to disable, 1 to enable interrupt.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetInterruptSteering()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptSteering ( int32_t cardIndex,
int32_t module,
nai_ad_status_type_t type,
naibrd_int_steering_t * p_outsteering )

Retrieves the Interrupt Steering which indicates the interrupt direction for the specified channel.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
type: (Input) nai_ad_status_type_t of the interrupt to access.
p_outsteering: (Output) Interrupt Steering: refer to naibrd_int_steering_t definition.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_GetInterruptVector()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_GetInterruptVector ( int32_t cardIndex,
int32_t module,
nai_ad_status_type_t type,
uint32_t * p_outvector )

Retrieves the A/D BIT or Open Status Interrupt Vector for the specified A/D module.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
type: (Input) Status Type: refer to nai_ad_status_type_t definition.
p_outvector: (Output) Interrupt Vector.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetFIFOInterruptEdgeLevel()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptEdgeLevel ( int32_t cardIndex,
int32_t module,
int32_t channel,
nai_ad_fifo_status_t edgelevelmask )

Sets the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
edgelevelmask: (Input) channel bit mapped mask of edge(0) or level(1) triggered interrupts.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetFIFOInterruptSteering()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptSteering ( int32_t cardIndex,
int32_t module,
int32_t channel,
naibrd_int_steering_t steering )

Sets the Interrupt Steering which indicates the interrupt direction for the specified channel.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
steering: (Input) Interrupt Steering: refer to naibrd_int_steering_t definition.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetFIFOInterruptVector()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptVector ( int32_t cardIndex,
int32_t module,
int32_t channel,
uint16_t vector )

NOTE: It is recomended that naibrd_AD_SetFIFOInterruptVector32() is used instead of this API. Sets the Interrupt Vector for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
vector: (Input) Interrupt Vector.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetFIFOInterruptVector32()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetFIFOInterruptVector32 ( int32_t cardIndex,
int32_t module,
int32_t channel,
uint32_t vector32 )

Sets the Interrupt Vector for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
vector32: (Input) Interrupt Vector.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetInterruptEdgeLevel()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptEdgeLevel ( int32_t cardIndex,
int32_t module,
int32_t channel,
nai_ad_status_type_t type,
nai_ad_edgelevel_t edgelevel )

Sets the edge or level triggered interrupt mask for the specified A/D channel's FIFO Buffer.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
type: (Input) nai_ad_status_type_t of the interrupt to access.
edgelevel: (Input) edge(0) or level(1) triggered interrupts.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter or invalid edgelevel parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetInterruptEnable()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptEnable ( int32_t cardIndex,
int32_t module,
int32_t channel,
nai_ad_status_type_t type,
bool_t enable )

Sets the A/D BIT or Open Status Interrupt Enable state for the specified A/D channel. BIT Status and Open Status is part of the background testing. When the interrupt is enabled, a non-compliant channel will trigger an interrupt. By default, interrupts are disabled.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
channel: (Input) Channel Number of the channel to access (1 - [max channels for module]).
type: (Input) Status Type: refer to nai_ad_status_type_t definition.
enable: (Input) 0 to disable, 1 to enable interrupt.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_CHANNEL when invalid channel parameter is specified.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter or invalid enable parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetInterruptSteering()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptSteering ( int32_t cardIndex,
int32_t module,
nai_ad_status_type_t type,
naibrd_int_steering_t steering )

Sets the Interrupt Steering which indicates the interrupt direction for the specified channel.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
type: (Input) nai_ad_status_type_t of the interrupt to access.
steering: (Input) Interrupt Steering: refer to naibrd_int_steering_t definition.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter or invalid steering parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.

◆ naibrd_AD_SetInterruptVector()

NAIBRDFUNC nai_status_t NAIAPI naibrd_AD_SetInterruptVector ( int32_t cardIndex,
int32_t module,
nai_ad_status_type_t type,
uint32_t vector )

Sets the A/D BIT or Open Status Interrupt Vector for the specified A/D module.

Parameters
cardIndex: (Input) Logical Card Index assigned to connection with the NAI_BOARD (0 - NAI_MAX_CARDS-1).
module: (Input) Module Number of the module to access (1 - [max modules for board]).
type: (Input) Status Type: refer to nai_ad_status_type_t definition.
vector: (Input) Interrupt Vector.
Returns
  • NAI_SUCCESS
  • NAI_ERROR_INVALID_CARD when invalid card parameter is specified.
  • NAI_ERROR_INVALID_MODULE when invalid module parameter is specified.
  • NAI_ERROR_NOT_OPEN when handle to board is invalid.
  • NAI_ERROR_INVALID_VALUE when invalid type parameter is specified.
  • NAI_ERROR_NOT_SUPPORTED when function is not supported.