sisci_types.h File Reference

Data types. More...

Defines

#define DIS_DMA_MAX_VECLEN   16
 DMA queue vector interface for function DISStartDmaTransferVec().

Typedefs

typedef struct sci_desc * sci_desc_t
 A variable of type sci_desc_t represents an SCI virtual device, that is a communication channel with the driver.
typedef struct sci_local_segment * sci_local_segment_t
 A variable of type sci_local_segment_t represents a local memory segment and it is initialized when the segment is allocated by calling the function SCICreateSegment.
typedef struct sci_remote_segment * sci_remote_segment_t
 A variable of type sci_local_segment_t represents a segment residing on a remote node.
typedef struct sci_map * sci_map_t
 A variable of type sci_map_t represents a memory segment mapped in the process address space.
typedef struct sci_sequence * sci_sequence_t
 A variable of type sci_sequence_t represents a sequence of operations involving communication with remote nodes.
typedef struct sci_dma_queue * sci_dma_queue_t
 A variable of type sci_dma_queue_t represents a chain of specifications of data transfers to be performed using the DMA engine available on the SCI adapter.
typedef struct
sci_remote_interrupt * 
sci_remote_interrupt_t
 A variable of type sci_remote_interrupt_t represents an interrupt that can be triggered on a remote node.
typedef struct
sci_local_interrupt * 
sci_local_interrupt_t
 A variable of type sci_local_interrupt_t represents an instance of an interrupt that an application has made available to remote nodes.
typedef struct sci_block_transfer * sci_block_transfer_t
 A variable of type sci_block_transfer_t represents an asynchronous transfer of a block of data.
typedef sci_callback_action_t(* sci_cb_local_segment_t )(void *arg, sci_local_segment_t segment, sci_segment_cb_reason_t reason, unsigned int nodeId, unsigned int localAdapterNo, sci_error_t error)
 Local segment callback.
typedef sci_callback_action_t(* sci_cb_remote_segment_t )(void *arg, sci_remote_segment_t segment, sci_segment_cb_reason_t reason, sci_error_t status)
 Remote segment callback.
typedef sci_callback_action_t(* sci_cb_dma_t )(void IN *arg, sci_dma_queue_t queue, sci_error_t status)
 DMA queue callback.
typedef int(* sci_cb_block_transfer_t )(void *arg, sci_block_transfer_t block, sci_error_t status)
 Block transfer callback.
typedef sci_callback_action_t(* sci_cb_interrupt_t )(void *arg, sci_local_interrupt_t interrupt, sci_error_t status)
 Interrupt callback.

Enumerations

enum  sci_segment_cb_reason_t {
  SCI_CB_CONNECT = 1, SCI_CB_DISCONNECT, SCI_CB_NOT_OPERATIONAL, SCI_CB_OPERATIONAL,
  SCI_CB_LOST
}
 

Reasons for segment callbacks.

More...
enum  sci_dma_queue_state_t
 

DMA queue status.

More...
enum  sci_sequence_status_t { SCI_SEQ_OK, SCI_SEQ_RETRIABLE, SCI_SEQ_NOT_RETRIABLE, SCI_SEQ_PENDING }
 

Sequence status.

More...
enum  sci_callback_action_t { SCI_CALLBACK_CANCEL = 1, SCI_CALLBACK_CONTINUE }
 

Callback return values.

More...

Detailed Description

Data types.


Define Documentation

#define DIS_DMA_MAX_VECLEN   16

DMA queue vector interface for function DISStartDmaTransferVec().


Typedef Documentation

typedef struct sci_desc* sci_desc_t

A variable of type sci_desc_t represents an SCI virtual device, that is a communication channel with the driver.

Many virtual devices can be opened by the same application. It is initialized by calling the function SCIOpen.

typedef struct sci_local_segment* sci_local_segment_t

A variable of type sci_local_segment_t represents a local memory segment and it is initialized when the segment is allocated by calling the function SCICreateSegment.

typedef struct sci_remote_segment* sci_remote_segment_t

A variable of type sci_local_segment_t represents a segment residing on a remote node.

It is initialized by calling either the function SCIConnectSegment or the function SCIConnectSCISpace.

typedef struct sci_map* sci_map_t

A variable of type sci_map_t represents a memory segment mapped in the process address space.

It is initialized by calling either the function SCIMapRemoteSegment or the function SCIMapLocalSegment.

typedef struct sci_sequence* sci_sequence_t

A variable of type sci_sequence_t represents a sequence of operations involving communication with remote nodes.

It is used to check if errors have occurred during a data transfer. The descriptor is initialized when the sequence is created by calling the function SCICreateMapSequence.

typedef struct sci_dma_queue* sci_dma_queue_t

A variable of type sci_dma_queue_t represents a chain of specifications of data transfers to be performed using the DMA engine available on the SCI adapter.

The descriptor is initialized when the chain is created by calling the function SCICreateDMAQueue.

typedef struct sci_remote_interrupt* sci_remote_interrupt_t

A variable of type sci_remote_interrupt_t represents an interrupt that can be triggered on a remote node.

It is initialized by calling the function SCIConnectInterrupt.

typedef struct sci_local_interrupt* sci_local_interrupt_t

A variable of type sci_local_interrupt_t represents an instance of an interrupt that an application has made available to remote nodes.

It is initialized when the interrupt is created by calling the function SCICreateInterrupt.

typedef struct sci_block_transfer* sci_block_transfer_t

A variable of type sci_block_transfer_t represents an asynchronous transfer of a block of data.

It is initialized when the function SCITransferBlockAsync is invoked.

typedef sci_callback_action_t(* sci_cb_local_segment_t)(void *arg, sci_local_segment_t segment, sci_segment_cb_reason_t reason, unsigned int nodeId, unsigned int localAdapterNo, sci_error_t error)

Local segment callback.

A function of type sci_cb_local_segment_t can be specified when a segment is created with SCICreateSegment() and will be invoked asynchronously when a remote node connects to or disconnects from the segment using respectively SCIConnectSegment() and SCIDisconnectSegment(). The same callback function is also invoked whenever a problem affects the connection.

Parameters:
arg user-defined argument passed to the callback function.
segment handle to the local segment descriptor affected by the asynchronous event.
reason reason why the callback function has been invoked.
nodeId identifier of the remote node that has provoked, directly or indirectly, the asynchronous event.
localAdapterNo number of the local adapter that received the asynchronous event.
Returns:
SCI_CALLBACK_CANCEL or SCI_CALLBACK_CONTINUE.

Remote segment callback.

A function of type sci_cb_remote_segment_t can be specified when the connection to a memory segment is requested calling SCIConnectSegment and will be invoked asynchronously when the connection completes (if SCIConnectSegment is asynchronous), when the local node asks for disconnecting (calling SCISetSegmentUnavailable with the SCI_FLAG_NOTIFY flag) or when a problem affects the connection.

Parameters:
arg user-defined argument passed to the callback function.
segment handle to the remote segment descriptor.
reason reason why the callback function has been invoked.
status status of the remote segment.
Returns:
SCI_CALLBACK_CANCEL or SCI_CALLBACK_CONTINUE.
typedef sci_callback_action_t(* sci_cb_dma_t)(void IN *arg, sci_dma_queue_t queue, sci_error_t status)

DMA queue callback.

A function of type sci_cb_dma_t can be specified when a DMA queue is posted using SCIPostDMAQueue and will be invoked when the transfer has completed, either successfully or with an error.

Parameters:
arg user-defined argument passed to the callback function.
queue handle to the DMA queue descriptor.
status status information.
Returns:
SCI_CALLBACK_CANCEL or SCI_CALLBACK_CONTINUE.
typedef int(* sci_cb_block_transfer_t)(void *arg, sci_block_transfer_t block, sci_error_t status)

Block transfer callback.

A function of type sci_cb_block_transfer_t can be specified when a remote memory block is transferred asynchronously with SCITransferBlockAsync and will be invoked when the operation completes or when an error occurs.

Parameters:
arg user-defined argument passed to the callback function.
queue handle to the block transfer descriptor.
status status information
Returns:

Interrupt callback.

A function of type sci_cb_interrupt_t can be specified when an interrupt is created with SCICreateInterrupt and it will be invoked asynchronously when the interrupt will be triggered from a remote node.

Parameters:
arg user-defined argument passed to the callback function.
queue handle to the triggered interrupt descriptor.
status status information
Returns:
SCI_CALLBACK_CANCEL or SCI_CALLBACK_CONTINUE.

Enumeration Type Documentation

Reasons for segment callbacks.

It can either be used in local segment callback function or remote segment callback function to indicate the reasons for the segment callback.

Enumerator:
SCI_CB_CONNECT 

Used in local segment callback function, it indicates that a remote segment has connected to the local segment.

Used in remote segment callback function, it is currently not implemented.

SCI_CB_DISCONNECT 

Used in local segment callback function, it indicates that a previously connected segment has disconnected with the local segment.

Used in remote segment callback function, it indicates that the local segment has disconnected with a previously connected remote segment.

SCI_CB_NOT_OPERATIONAL 

Precise description needed.

SCI_CB_OPERATIONAL 

Precise description needed.

SCI_CB_LOST 

Precise description needed.

DMA queue status.

Precise description needed.

Sequence status.

The type sci_sequence_status_t enumerates the values returned by SCIStartSequence() and SCICheckSequence(). SCIStartSequence() can only return SCI_SEQ_OK or SCI_SEQ_PENDING.

Enumerator:
SCI_SEQ_OK 

no errors: the sequence of reads and writes can continue.

SCI_SEQ_RETRIABLE 

non-fatal error: the failed operation can be immediately retried.

SCI_SEQ_NOT_RETRIABLE 

fatal error (probably notified also via a callback to the segment): need to wait until the situation is normal again.

SCI_SEQ_PENDING 

an error is pending, SCIStartSequence() should be called until it returns SCI_SEQ_OK.

Callback return values.

Enumerator:
SCI_CALLBACK_CANCEL 

A SCI_CALLBACK_CANCEL return value represents that after the callback function has been excuted it will be cancelled.

SCI_CALLBACK_CONTINUE 

A SCI_CALLBACK_CONTINUE return value represents that after the callback function has been excuted it will continue exsit,when the expecated condition is satisfied next time, the callback function will be invoked again.

Generated on Wed Oct 20 10:11:59 2010 for SISCI-API by  doxygen 1.6.3