Intel 05-1832-002 IP Phone User Manual


 
Voice API for Windows Operating Systems Library Reference — November 2003 509
input/output transfer table — DX_IOTT
DX_IOTT
input/output transfer table
typedef struct dx_iott {
unsigned short io_type; /* Transfer type */
unsigned short rfu; /* Reserved */
int io_fhandle; /* File descriptor */
char * io_bufp; /* Pointer to base memory */
unsigned long io_offset; /* File/Buffer offset */
long int io_length; /* Length of data */
DX_IOTT *io_nextp; /* Pointer to next DX_IOTT if IO_LINK set */
DX_IOTT *io_prevp; /* (Optional) Pointer to previous DX_IOTT */
}DX_IOTT;
!
!!
! Description
The DX_IOTT data structure contains parameters for input/output transfer. The DX_IOTT
structure identifies a source or destination for voice data. It is used with various play and record
functions, such as dx_play( ) and dx_rec( ), as well as other categories of functions.
A DX_IOTT structure describes a single data transfer to or from one file, memory block, or custom
device. If the voice data is stored on a custom device, the device must have a standard Linux or
Windows device interface. The device must support open( ), close( ), read( ), and write( ) and
lseek( ).
To use multiple combinations, each source or destination of I/O is specified as one element in an
array of DX_IOTT structures. The last DX_IOTT entry must have IO_EOT specified in the io_type
field.
Note: The DX_IOTT data area must remain in scope for the duration of the function if running
asynchronously.
!
!!
! Field Descriptions
The fields of the DX_IOTT data structure are described as follows:
io_type
This field is a bitmap that specifies whether the data is stored in a file or in memory. It also
determines if the next DX_IOTT structure is contiguous in memory, linked, or if this is the last
DX_IOTT in the chain. It is also used to enable WAVE data offset I/O. Set the io_type field to
an OR combination of the following defines.
On DM3 boards, specify the data transfer type as follows:
IO_CACHED – cached prompt
IO_DEV – file data
IO_MEM – memory data
IO_STREAM – data for streaming to board
IO_UIO – nonstandard storage media data using the dx_setuio( ) function; must be ORed
with IO_DEV
On Springware boards, specify the data transfer type as follows:
IO_DEV – file data
IO_MEM – memory data